ERC 20 v primerjavi z ERC 223 v primerjavi s ERC 777: primerjava med standardi žetonov Ethereum

Ste razvijalec Ethereuma, ki dela na kripto projektu? Verjetno novi žeton razvijate po standardu ERC20, vendar morate vedeti, kako si prizadevati za izboljšanje. To vam bo pomagalo pri pravilni odločitvi, kateri standard žetona ERC uporabiti, zato bom v tem članku razložil primerjavo ERC777 vs ERC223 vs ERC20.

Primerjavo bom začel z razlago ERC 20 in kasneje razložil njegove pomanjkljivosti. Nato bom razložil prizadevanja za izboljšanje, ki jih je izvedla skupnost Ethereum, prek ERC 777 in ERC 223.

Primerjava med ERC20 in ERC223 proti ERC777

ERC 20 vs ERC 223 vs ERC 777

Kaj je ERC 20?

Preden primerjam ERC 20 v primerjavi z ERC 223 in ERC 777, moram razložiti, kaj je ERC in kaj ERC20 predstavlja. Razvijalci Ethereuma pogosto predložijo „predloge za izboljšanje etreuma“ (EIP). Skupnost Ethereum pregleduje EIP-je, daje komentarje, ki lahko sprožijo nekaj sprememb.

Potem ko skupnost Ethereum sprejme EIP, ta postane standard in smo jo nato poimenovali »Zahteva Ethereum za komentarje« (ERC). ERC 20 je en tak standard za žetone Ethreum.

ERC 20 je najbolj znan standard žetona Ethereum in skoraj vsi ICO, ki so uporabljali platformo Ethereum, so ga uporabljali. Razvijalci ga privzeto uporabljajo za ustvarjanje novih žetonov, medtem ko denarnice in borze zlahka sprejemajo žetone ERC 20.

Pred ERC 20 so morali razvijalci Ethereuma posebej določiti pravila, po katerih bo sledil njihov žeton, in ta pristop ni imel standardizacije. Zdaj pri ERC20 razvijalci Ethereuma vedo, da bodo morali le uporabiti standard ERC 20. Ta standardizacija je imela pomembno vlogo pri spodbujanju norosti ICO, ki smo jo videli od leta 2017.

Preberite več o standardu ERC 20 v “Navodilih za začetnike: Kaj je ERC20?”.

Kaj so standardne funkcije ERC 20?

Standard ERC 20 pri razvoju žetona Ethereum predpisuje naslednje funkcije:

  1. Pridobite skupno ponudbo žetonov: uporabiti morate funkcijo “totalSupply”.
  2. Pridobite stanje žetonov drugega lastniškega računa.
  3. Pošljite žetone na drug račun lastnika: uporabiti morate funkcijo “prenos”. Ti računi so računi EOA.
  4. Pošiljajte žetone z enega naslova žetona na drugega. Naslovi žetonov so pogodbeni naslovi in ​​morate uporabiti funkcijo “transferFrom”.
  5. Dovolite drugemu računu, da z vašega računa večkrat dviguje sredstva v določenem roku. Za to uporabite funkcijo »odobri«.
  6. Potrošniki lahko vračajo neuporabljene žetone lastnikom s funkcijo “dodatek”.

Napaka ERC 20, ki zažge žetone


Standard ERC 20 je sicer dobro dokumentiran in na splošno implementiran, vendar ima napako in je že požgal žetone v vrednosti milijonov ameriških dolarjev. Funkcija »prenos« vam omogoča, da žetone pošljete samo drugemu lastniku, to je računu EOA.

Če želite sredstva poslati na pametni pogodbeni račun, tj. V drugo obliko računov Ethereum, morate uporabiti kombinacijo »odobri« in »transferFrom«. Če žetone pošljete v pametno pogodbo s funkcijo »prenos«, boste videli uspešno transakcijo, vendar pogodba žetonov ne bo nikoli prejela.

To te žetone za vedno zažge in jih ne morete pridobiti. Več uporabnikov je napačno funkcijo pošiljalo žetone pametnim pogodbam in so svoje žetone izgubili za vedno!

Fundacija Ethereum ve za napako, vendar še naprej promovira standard ERC 20. Ne vem njihovih razlogov za to. Verjetno ne cenijo uvoza izdaje ali pa se upirajo spremembam.

Standard žetona ERC223: predlagana rešitev za napako ERC 20

Razvijalec Ethereuma, ki je uporabnik Redditovega uporabniškega imena “Dexaran”, je predlagal EIP 223 z rešitvijo te napake ERC 20. Pred primerjavo ERC 20 in ERC 223 proti ERC 777 bom najprej obrazložil njegov predlog.

Standard žetona ERC223 je še vedno osnutek in skupnost Ethereum ga še ni izvedla. Predlaga naslednjo rešitev:

  1. Transakcijo na verigi blokov Ethereum obravnava kot dogodek in uporablja koncept “ravnanja z dogodki”.
  2. Če uporabniki uporabijo funkcijo »prenos« za pošiljanje žetonov na pametno pogodbo, bo to povzročilo napako in nato preklicalo transakcijo.
  3. Uporabnik plača Ethereum “ceno plina”, vendar ne izgubi nobenega žetona.
  4. Ta predlog doda funkcijo »prenos« dodaten parameter za preverjanje, ali je naslov prejemnika pogodbeni račun.
  5. Če ugotovi, da je naslov prejemnika pogodbeni račun in ne račun EOA, domneva, da je pogodba izvedla “tokenFallback”.
  6. Funkcija »tokenFallback« omogoča priklic žetona, tako da transakcija ne zažge nobenega žetona.

Medtem ko ERC223 v veliki meri odpravlja napako ERC 20, ima ta predlog slabost. Če prejemnikova pametna pogodba nima funkcije »tokanFallback«, se bo zagnala funkcija »Fallback«, kar bo povzročilo izgubo žetonov.

Le nekaj projektov uporablja ERC 223, primer je Projekt AmigoCoin. Več podrobnosti o predlogu ERC 223 si lahko preberete v Skladišče GitHub EIP 223. Ta standard se imenuje tudi ERC 23.

Standard ERC777: Izboljšan predlog za odpravo napake ERC 20

Izboljšan predlog za preprečevanje izgube žetonov zaradi napake ERC 20 je predlog ERC 777. Vključuje naslednje:

  1. Nove funkcije: »pošlji« namesto »prenos«, »avtoriseOperator« namesto »odobri« in »tokensReceived« namesto »tokenFallback«.
  2. Tako dolgo je imela platforma Ethereum pomanjkljivost, ker razvijalci niso mogli ugotoviti, katere funkcije izvajajo pametne pogodbe. ERC 820, tj. Drug standard, je uvedel centralni register pogodb v omrežju, zato je zdaj mogoče poznati funkcije in vmesnike pametne pogodbe. ERC777 ga uporablja za prepoznavanje vmesnikov, ki jih uporablja pametna pogodba. Zdaj bodo razvijalci vnaprej vedeli, ali ima pogodba funkcije, ki so potrebne za sprejemanje žetonov, poslanih prek določenih funkcij.
  3. ERC 777 omogoča ‘seznam dovoljenih’ operaterjev, tako da bodo uporabniki omrežja Ethereum zdaj lahko zavrnili plačilo z naslovov, uvrščenih na črno listo. Naslov je zaradi številnih razlogov lahko na črni listi, npr. poskus vdiranja v mrežo, zgodovina nezakonitih dejavnosti.

V primerjavi ERC 777 v primerjavi z ERC 20 v primerjavi z ERC 223 lahko vidite, kako ERC777 razvijalcem ponuja več možnosti, da lahko preprečijo izgubo žetonov. Vendar pa ima standard ERC777 tudi nekaj tveganj, in sicer:

  1. Nekateri razvijalci Ethereuma menijo, da je funkcija »authoriseOperator« zastarela, zato je razvijalci ne bi smeli uporabljati. Ta funkcija bo zahtevala tudi več „plina“ in bo dodatno obremenila omrežje.
  2. Uporaba centralnega registra pametnih pogodb za iskanje vmesnikov, ki jih uporablja pogodba, je tvegana. Centralni register ima lahko napake in vse, kar je odvisno od njega, bo imelo škodljive učinke.

ERC777 je še vedno osnutek, vendar je ORCA žeton ga uporablja. Preberite predlog v Repozitorij EIP 777 GitHub.

ERC 777 vs ERC 20 vs ERC 223: Zaščita sredstev je pomembna

Čeprav bo čas pokazal, kateri standard bo ekosistem Ethereum sprejel kot “zlati standard”, se morate kot razvijalec zavedati, da ste vi odgovorni za zaščito sredstev trgovcev in vlagateljev. Če zavzamete tako odgovorno funkcijo, se verjetno strinjate, da je treba kljub zapletenosti uvesti in sprejeti standard ERC 777.

Opomba: Če želite izvedeti več o nekaj ključnih standardih ERC, preberite »Končni seznam standardov ERC, ki jih morate poznati«.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map