ERC 20 срещу ERC 223 срещу ERC 777: Сравнение между стандартите на Ethereum token

Разработчик ли сте на Ethereum, работещ по крипто проект? Вероятно разработвате новия токен, използвайки стандарта ERC20, но трябва да знаете усилията за подобрение. Това ще ви помогне да вземете правилното решение за това кой стандарт на ERC токен да използвате, затова ще обясня ERC777 срещу ERC223 срещу ERC20 в тази статия.

Ще започна сравнението с обяснение на ERC 20 и впоследствие ще обясня недостатъците му. След това ще обясня усилията за подобряване, предприети от общността Ethereum, чрез ERC 777 и ERC 223.

Сравнение между ERC20 срещу ERC223 срещу ERC777

ERC 20 срещу ERC 223 срещу ERC 777

Какво е ERC 20?

Преди да сравня ERC 20 срещу ERC 223 срещу ERC 777, трябва да обясня какво е ERC и какво представлява ERC20. Разработчиците на Ethereum често представят „Предложения за подобряване на Ethreum“ (EIP). Общността на Ethereum преглежда EIP, прави коментари, което може да предизвика преработка.

След като общността на Ethereum прие EIP, той се превръща в стандарт и след това го нарекохме ‘Искане за коментари на Ethereum’ (ERC). ERC 20 е един такъв стандарт за токените Ethreum.

ERC 20 е най-известният стандарт за Ethereum токен и почти всички ICO, които са използвали платформата Ethereum, са го използвали. Разработчиците го използват по подразбиране за създаване на нови токени, докато портфейлите и борсите приемат ERC 20 токени лесно.

Преди ERC 20, разработчиците на Ethereum трябваше специално да определят правила, които техният токен да следва, и този подход нямаше стандартизация. Сега с ERC20 разработчиците на Ethereum знаят, че просто ще трябва да използват стандарта ERC 20. Тази стандартизация изигра голяма роля в подхранването на ICO манията, която видяхме от 2017 г. насам.

Прочетете повече за стандарта ERC 20 в „Ръководство за начинаещи: Какво е ERC20?“.

Какво представляват стандартните функции на ERC 20?

Стандартът ERC 20 предписва следните функции при разработването на маркер Ethereum:

  1. Вземете общото предлагане на жетони: Трябва да използвате функцията “totalSupply”.
  2. Изтеглете баланса на маркера на друг акаунт на собственик.
  3. Изпратете токени до друг акаунт на собственик: Трябва да използвате функцията „прехвърляне“. Тези сметки са EOA акаунти.
  4. Изпращайте символи от един адрес на символи на друг. Адресите на маркерите са адреси по договор и трябва да използвате функцията „transferFrom“.
  5. Позволете на друга сметка да тегли средства от вашата сметка многократно, в рамките на определен лимит. За това трябва да използвате функцията „одобри“.
  6. Потребителите могат да върнат неизползвани жетони на собствениците, като използват функцията „квота“.

Грешка в ERC 20, която изгаря жетони


Въпреки че е много добре документиран и внедрен като цяло, стандартът ERC 20 има грешка и това вече е изгорило токени на стойност милиони щатски долари. Функцията „прехвърляне“ ви позволява да изпращате токени само на друг собственик, т.е. EOA акаунт.

Ако искате да изпратите средства към сметка с интелигентен договор, т.е. другата форма на сметките в Ethereum, трябва да използвате комбинацията „одобри“ и „прехвърли от“. Ако изпратите жетони до интелигентен договор с помощта на функцията „прехвърляне“, ще видите успешна транзакция, но договорът никога няма да получи жетоните.

Това изгаря тези символи завинаги и не можете да ги извлечете. Няколко потребители са използвали грешна функция за изпращане на токени към интелигентни договори и са загубили своите токени завинаги!

Фондацията Ethereum знае за грешката, но продължава да популяризира стандарта ERC 20. Не знам причините за това. Те вероятно не оценяват вноса на проблема, или има съпротива за промяна.

Стандартът за токени ERC223: Предложена резолюция за грешката ERC 20

Разработчик на Ethereum, който използва потребителското име на Reddit „Dexaran“, предложи EIP 223 с решение на тази грешка ERC 20. Преди да сравня ERC 20 срещу ERC 223 срещу ERC 777, първо ще обясня предложението му.

Стандартът за токени ERC223 все още е проект и общността на Ethereum все още не го е внедрила. Той предлага следното решение:

  1. Той разглежда транзакцията в блокчейна Ethereum като събитие и използва концепцията за „обработка на събития“.
  2. Ако потребителите използват функцията „трансфер“, за да изпращат токени към интелигентен договор, тя ще изведе грешка и впоследствие ще анулира транзакцията.
  3. Потребителят плаща на Ethereum „цена на газа“, но не губи никакъв знак.
  4. Това предложение добавя допълнителен параметър към функцията „прехвърляне“, за да се провери дали получаващият адрес е договорна сметка.
  5. Ако установи, че адресът на получателя е договорен акаунт, а не EOA акаунт, тогава той приема, че договорът е въвел „tokenFallback“.
  6. Функцията “tokenFallback” позволява обратно извикване на маркера, така че транзакцията не изгаря никакъв маркер.

Докато ERC223 решава до голяма степен грешката ERC 20, в това предложение има слабост. Ако интелигентният договор на получателя няма функция „tokanFallback“, тогава ще се изпълни функцията „Fallback“, което ще доведе до загуба на токени.

Само няколко проекта използват ERC 223, пример е Проект AmigoCoin. Можете да прочетете повече подробности за предложението за ERC 223 в Хранилище на GitHub EIP 223. Този стандарт се нарича още ERC 23.

Стандартът ERC777: Подобрено предложение за отстраняване на грешката ERC 20

Подобрено предложение за предотвратяване на загубата на жетони поради грешката ERC 20 е предложението ERC 777. Той включва следното:

  1. Нови функции: „изпращане“ вместо „прехвърляне“, „authoriseOperator“ вместо „одобрение“ и „tokensReceived“ вместо „tokenFallback“.
  2. Докато платформата Ethereum имаше недостатък, тъй като разработчиците не можеха да идентифицират какви функции изпълняват интелигентните договори. ERC 820, т.е. друг стандарт, е въвел централен регистър на договорите в мрежата, поради което вече е възможно да се знаят функциите и интерфейсите, които има интелигентният договор. ERC777 го използва, за да идентифицира интерфейси, които използва интелигентният договор. Сега разработчиците ще знаят предварително дали договорът има функциите, необходими за получаване на токени, изпратени чрез определени функции.
  3. ERC 777 позволява ‘бели списъци’ на операторите, така че потребителите на мрежата Ethereum вече ще имат възможността да отхвърлят плащанията от черни списъци. Адресът може да бъде включен в черния списък поради много причини, напр. опит за хакване на мрежата, история на незаконни дейности.

Можете да видите в сравнението ERC 777 срещу ERC 20 срещу ERC 223 как ERC777 предоставя множество опции на разработчиците, така че те да могат да предотвратят загуба на токени. Стандартът ERC777 обаче има и няколко риска, както следва:

  1. Някои разработчици на Ethereum вярват, че функцията „authoriseOperator“ е оттеглена, поради което разработчиците не трябва да я използват. Тази функция също ще изисква повече „газ“ и ще натовари допълнително мрежата.
  2. Използването на централен регистър на интелигентните договори за търсене на интерфейсите, които използва договор, е рисковано. Централният регистър може да има грешки и всичко, което зависи от него, ще има неблагоприятно въздействие.

ERC777 все още е проект, но ORCA токен го използва. Прочетете предложението в EIP 777 GitHub хранилище.

ERC 777 срещу ERC 20 срещу ERC 223: Защитата на средствата е важна

Въпреки че само времето ще покаже кой стандарт екосистемата Ethereum ще приеме като „златен стандарт“, вие като разработчик трябва да помните, че вашата отговорност е да защитите средствата на търговците и инвеститорите. Ако заемете такава отговорна позиция, вероятно ще се съгласите, че въпреки сложността, стандартът ERC 777 трябва да бъде въведен и приет.

Забележка: Ако искате да научите повече за няколко ключови ERC стандарти, прочетете „Крайният списък на ERC стандартите, които трябва да знаете“.

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