Ruka hadi kwenye maudhui makuu
Change page

Uthibitishaji kwenye Ethereum

Ikiwa unatoka kwenye uundaji wa wavuti wa kitamaduni, umezoea kuingia kwa kutumia jina la mtumiaji/nywila, mtiririko wa OAuth, na vidakuzi vya kipindi. Uthibitishaji kwenye Ethereum hufanya kazi tofauti—na kwa njia nyingi, kwa urahisi zaidi.

Kwenye Ethereum, mtumiaji huthibitisha utambulisho wake kwa kusaini ujumbe kwa kutumia mkoba wake. Hakuna nywila ya kuhifadhi. Hakuna hifadhidata ya vitambulisho inayoweza kuvuja. Kriptografia tu.

Inatofautiana vipi na Web2?

Web2Ethereum
Jina la mtumiaji + nywilaAnwani ya mkoba + sahihi
Seva huhifadhi vitambulishoMtumiaji anashikilia ufunguo wa siri
Vipindi vinasimamiwa na vidakuzi / JWTVipindi huanza na sahihi ya mkoba nje ya mnyororo
"Ingia kwa kutumia Google""Ingia kwa kutumia Ethereum"
Mtiririko wa kuweka upya nywilaUrejeshaji wa kirai cha mbegu

Mabadiliko ya kimsingi: katika Web2, seva kuu inakuthibitisha. Kwenye Ethereum, unajithibitisha mwenyewe kwa kuthibitisha kuwa unadhibiti anwani maalum—na mtu yeyote anaweza kuithibitisha kwa kujitegemea.

Mahitaji ya awali

Hakikisha unaelewa:

Jinsi uthibitishaji unaotegemea mkoba unavyofanya kazi

Mtiririko wa msingi ni rahisi:

  1. Programu tumizi iliyogatuliwa (dapp) yako inamwomba mtumiaji kuunganisha mkoba wake (kupitia MetaMask, Rainbow, WalletConnect, n.k.)
  2. Mkoba unashiriki anwani ya Ethereum ya mtumiaji - hiki ndicho kitambulisho chake cha umma
  3. Dapp yako inazalisha ujumbe wa kipekee (nonsi au changamoto)
  4. Mtumiaji anasaini ujumbe kwa kutumia ufunguo wa siri wake (hufanyika ndani ya mkoba)
  5. Mazingira yako ya nyuma (backend) yanathibitisha sahihi dhidi ya anwani iliyodaiwa
  6. Ikiwa ni halali, mtumiaji anathibitishwa

Hakuna nywila iliyowahi kuchapwa, kuhifadhiwa, au kusambazwa.

Kuingia kwa kutumia Ethereum (EIP-4361)

EIP-4361 (inafunguka katika kichupo kipya) inafafanua muundo wa ujumbe wa kawaida wa kuingia kwenye Ethereum, unaojulikana sana kama SIWE (Sign-In with Ethereum). Inachukua nafasi ya kusaini ujumbe kwa dharura na kiwango kilichopangwa na salama.

Ujumbe wa SIWE unaonekana hivi:

Vipengele muhimu vya SIWE:

  • Kufunga kikoa - ujumbe unajumuisha kikoa, kuzuia hadaa (phishing)
  • Kitambulisho cha Mnyororo (Chain ID) - inabainisha ni mtandao upi sahihi ni halali kwake
  • Nonsi - inazuia mashambulizi ya kurudia (replay attacks)
  • Muda wa kuisha - muhuri wa muda wa hiari unaopunguza dirisha la uhalali
  • Rasilimali - URI za hiari kwa ufikiaji wenye upeo

Maktaba za SIWE

Mfano: kuingia upande wa mteja kwa kutumia siwe

Mfano: uthibitishaji upande wa seva (Node.js)

Maktaba za kuunganisha mkoba

Kabla ya kuthibitisha, unahitaji mtumiaji aunganishe mkoba wake. Maktaba hizi hurahisisha:

Kuthibitisha sahihi kwa mikono

Ikiwa unapendelea kutotumia SIWE, unaweza kuthibitisha sahihi moja kwa moja:

Vidokezo muhimu vya usalama

  • Daima tumia nonsi - inazuia mashambulizi ya kurudia ambapo sahihi ya zamani inatumiwa tena
  • Jumuisha kikoa - inazuia sahihi kuwa halali kwenye tovuti tofauti
  • Angalia muda wa kuisha - sahihi zinapaswa kuwa na dirisha dogo la uhalali
  • Tumia SIWE (EIP-4361) inapowezekana - inashughulikia yote hapo juu kwa ajili yako
  • Kamwe usifichue funguo za siri - kusaini hufanyika ndani ya mkoba; programu yako inaona tu matokeo

Usimamizi wa kipindi

Baada ya kuthibitishwa, bado unahitaji vipindi—kama tu Web2. Mitindo ya kawaida:

  • Tokeni za JWT - toa JWT baada ya kuthibitisha sahihi, tumia kwa maombi ya API
  • Vipindi vya upande wa seva - hifadhi anwani iliyothibitishwa kwenye kidakuzi cha kipindi
  • SIWE yenye rasilimali - fafanua tokeni za ufikiaji zenye upeo zilizounganishwa na URI maalum

Tofauti kuu kutoka kwa Web2: anwani ya Ethereum ya mtumiaji ni utambulisho wake wa kudumu. Wanaweza kuitumia kwenye dapp yoyote bila kuunda akaunti mpya.

Utambulisho uliogatuliwa

Uthibitishaji wa Ethereum ni sehemu ya harakati pana kuelekea utambulisho wa kujitawala. Viwango na miradi katika nafasi hii ni pamoja na:

Usomaji zaidi