375 000 syytä ERC20: n parantamiseen

ERC20-merkkipohjaisilla juggernauteilla, kuten EOS, Basic Attention Token (BAT) ja Storj, on vaikea väittää käyttöliittymäsopimuksen onnistumista. Ethereum-yhteisö on selvästi kerännyt tukea tämän standardin ympärille, & sekä kehittäjäyhteisöt että rahoitusmarkkinat reagoivat myönteisesti. ERC20-standardi on kuitenkin kaiken menestyksensä vuoksi johtanut yhteen ei-niin merkityksettömään virheeseen:

ERC20-token-standardi johtaa rahan menetykseen loppukäyttäjille antamalla käyttäjien lähettää ERC20-tunnuksia ei-ERC20-yhteensopiville tunnisteosoitteille.

Kun käyttäjä lähettää ERC20-tunnuksen Ethereum-sopimukseen, joka ei tunnista ERC20-tunnuksia, käyttäjä menettää pääsyn varoihinsa ikuisesti. Juuri kuinka monta rahastoa on tällä hetkellä lukittu tämän ongelman takia? Jälleen, ei vähäinen määrä:

  • 310 067 GNT ovat jumissa Golem-sopimuksessa (tällä hetkellä noin 217 000 dollaria).
  • 242 TASAVALTA ovat jumissa Augurin sopimuksessa (tällä hetkellä arvoltaan noin 15 000 dollaria).
  • 814 DGD ovat jumissa Digix DAO -sopimuksessa (tällä hetkellä noin 125 000 dollaria).
  • 14,506 1ST ovat juuttuneet FirstBlood-sopimukseen (tällä hetkellä noin 12 000 dollaria).

Tämä on yli 370 000 dollaria + ERC20-rahakkeita, jotka on jäädytetty näissä sopimuksissa; koska luettelo ERC20-rahakkeista kasvaa, tämä luku on todennäköisesti konservatiivinen aliarviointi sopimuksiin jäädytettyjen merkkien kokonaismäärästä. Yllä oleva luettelo ei ole suinkaan tyhjentävä – nämä ovat vain muutamia suosituimmista ERC20-rahakkeista.

Mikään yllä olevista sopimuksista ei koskaan odottanut saavansa ERC20-tunnuksia – joten kun käyttäjät lähettävät tunnuksia näihin osoitteisiin, verkko vahvistaa tapahtumat; vastaanottava sopimus ei kuitenkaan tunnista tunnuksia. Se ei tiedä, mitä tehdä näille rahakkeille, minkä seurauksena varat lukitaan ikuisesti. Jälleen merkkejä ei hylätä – vastaanottava sopimus jättää ne kokonaan huomiotta.

Suurin osa näistä tapahtumista tapahtuu tahattomasti loppukäyttäjien soittaessa siirtää toiminto (toisin kuin aiemmin käyttöön otettu automaattinen transferFrom-toiminto). Muista, että ERC20 käyttää molempia siirtoja & TransferFrom – kuten käy ilmi, jotkut loppukäyttäjät käyttävät Transferia lähettämään suoraan ERC20-tunnuksia sopimuksiin, jotka eivät odota, & siksi älä tunnista saapuvia tunnuksia.

Lopulta muutama Ethereum-yhteisön jäsen päätti käsitellä tätä ongelmaa suoraan vastapäätä pyytämällä uutta ERC-tunnusluokkaa. Tämän uuden GitHub-merkkistandardin numero on numero # 223.

ERC223 Ehdotus

GitHub-käyttäjä Dexaran ehdotti uutta ERC-standardia (ERC223) jo 5. maaliskuuta 2017, jonka tarkoituksena oli korjata tämä tunnuksen varavian ongelma. Hänen GitHub-numeronsa # 223 uuden tunnusehdotuksen tiivistelmä on seuraava:

Seuraavassa kuvataan vakiotoiminnot, jotka tunnussopimus ja määritetyn tunnuksen kanssa toimiva sopimus voivat toteuttaa estääkseen merkkien vahingossa tapahtuvan lähettämisen sopimuksiin ja saamaan merkintätapahtumat käyttäytymään kuten eetteritransaktiot.

Dexaranin tunnusehdotus toteuttaa kaksi perusominaisuutta estääkseen hajautetut sovellusten käyttäjät välittömästi vahingossa lähettämästä tunnuksia älykkäisiin sopimuksiin, jotka eivät ole valmiita vastaanottamaan mainittuja tunnuksia:

  1. ERC20: n yhdistäminen Siirtää & Siirto alkaen toimii yhtenä Siirtää toiminto, jossa on kolme parametria: (osoite _to, uint _value, tavutiedot).
  2. vastaanottaminen sopimuksen, jos hän saa rahakkeita, on pakko sisältää TunnusPudota Takaisin toiminto, joka määrittää tarkalleen kuinka käsitellä minkä tyyppistä saapuvaa tunnusta.

Siirtää & Siirto alkaen -> Siirtää

Keskeinen osa ERC20-standardia, joka edistää tätä yleistä ongelmaa, on se, että loppukäyttäjillä on mahdollisuus käyttää virheellisesti yhtä kahdesta siirrossa käytetystä toiminnosta (Siirto & TransferFrom).

ERC223 ehdottaa molempien toimintojen korvaamista yhdellä Siirtää toiminto.

ERC223 sallii dapp-loppukäyttäjien lähettää tunnuksia minkä tahansa Ethereumin osoite riippumatta siitä, onko sopimus lompakko vai sopimus, jolla on sama siirtotoiminto. Logiikka on, että poistamalla käyttäjien mahdollisuus käynnistää siirtotoiminto tai TransferFrom-toiminnosta vain yhteen Transfer-toimintoon loppukäyttäjillä ei ole enää mahdollisuutta käyttää väärää toimintoa.

Äskettäin ehdotettu siirtotoiminto hyväksyy kolme parametria (aiemmin hyväksyttiin vain kaksi), ja mikä tärkeintä, se näyttää kutsuvan TokenFallback-funktion vastaanottavaan osoitteeseen. Ilman kolmea määriteltyä parametria siirtofunktio ei onnistu kääntämään; ilman vastaanotto-osoitetta, joka sisältää TokenFallback-toiminnon, siirtotoiminnon tapahtuma epäonnistuu & merkkejä ei siirretä.

function tokenFallBack ()

Ethereumin kehityksessä on olemassa sopimusten muokkaaja maksettava jota käytetään valmistelemaan sopimus Etherin vastaanottamiseksi – tämä tarkoittaa, että sopimus odottaa nyt digitaalista valuuttaa. Jos sopimus tehdään ei sisältää maksettavan modifikaattorin, lähetetty tapahtuma yksinkertaisesti peruutetaan & palasi. Ei mitään hienoa, tämä on Ethereum 101.

Vastaava tapa ajatella ERC223-tokenFallback-toimintoa on, että maksettava modifikaattori on valmistella sopimus Etherin vastaanottamiseksi, koska tokenFallback-toiminto on valmistella sopimus x-tokenin vastaanottamiseksi.

Tässä standardissa sopimuskehittäjät on pakko toteuttaa tokenFallback, jos he haluavat sopimustensa toimivan tiettyjen tunnusten kanssa. Jos vastaanottaja on muu kuin sopimusosoite, ERC223-tunnustapahtuma suoritetaan aivan kuten mikä tahansa nykyinen ERC20-tunnuksen siirto. Toisaalta, jos vastaanottaja on sopimus, niin ERC223-tokenisopimus yrittää ensin kutsua tokenFallbackia vastaanottosopimuksessa; jos tokenFallback-toimintoa ei löydy, tapahtuma epäonnistuu.

ERC: n kehitys

ERC223: n karkeasta luonnostilasta huolimatta horisontissa on uusi ERC-standardi – ERC 721. ERC721 keskittyy ei vaihdettavissa varat, kuten CryptoKitties, Decentraland land, & ehkä jopa yhden päivän kiinteistöomaisuus. ERC 721: n edistyminen löytyy täältä: https://github.com/ethereum/eips/issues/721

Kaikki osoittavat, että vaikka nuori, Ethereum-yhteisö on erittäin vakava älykkään sopimusalustansa parantamiseksi asettamalla oikeat standardit kasvavan uusien kehittäjien aallon eteen. Hitaasti, mutta varmasti, ERC-merkkivirheet vähenevät – ja sitten tulee kysymys siitä, voiko uusin vakiokoko?

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me