什么是ERC20標(biāo)準(zhǔn)
目前,談?wù)摰阶畛R?、使用最廣泛的Token標(biāo)準(zhǔn),ERC20標(biāo)準(zhǔn)可謂是當(dāng)仁不讓。那什么是ERC20標(biāo)準(zhǔn)呢?還有什么其他標(biāo)準(zhǔn)嗎?
ERC(Etherum Request for Comments)表示以太坊開發(fā)者提交的協(xié)議提案,而20表示的是議案的編號。
ERC20表示的是一個合約接口標(biāo)準(zhǔn),設(shè)計初衷是為以太坊中的Token合約提供一套常見的功能和接口,任何基于ERC20標(biāo)準(zhǔn)的Token都能立即兼容以太坊錢包,同時支持共享和交換。
ERC20誕生于2015年,到2017年9月被正式標(biāo)準(zhǔn)化,ERC20標(biāo)準(zhǔn)定義了Token的名字、符號、小數(shù)點后的位數(shù)、發(fā)行總量、轉(zhuǎn)移方式以及Owner賬戶余額等內(nèi)容。
截至到2019年3月初,在以太坊中基于ERC20發(fā)行的合約數(shù)量已超過十七萬。
基于ERC20發(fā)行的Token具有可替代性,故無法做到唯一性,只能用來代表可以替代的事物,比如證券,積分等,而不能代表具有唯一屬性的權(quán)益,比如任何一個物理商品,各種IP等。
與ERC20不同的是,基于ERC721發(fā)行的Token是獨一無二的。據(jù)以太坊區(qū)塊瀏覽器顯示,截至到2019年3月初,基于ERC721發(fā)行的合約數(shù)量已經(jīng)逾千。
以太坊上的加密貓游戲(CryptoKitties)中的貓就是基于ERC721發(fā)行的。在這游戲里,每只貓的“基因”都不一樣,每只貓都具有唯一獨特的編號,這大大提高了收藏價值,像古董一樣,因為稀有而珍貴。
ERC20標(biāo)準(zhǔn)是最早發(fā)布的Token標(biāo)準(zhǔn),隨著時間的推移,一些缺陷和漏洞逐漸暴露,比如用戶不小心將基于ERC20生成的Token發(fā)送到一個智能合約的地址時,該交易無法回滾。
為了解決這個問題,社區(qū)成員提出了ERC223標(biāo)準(zhǔn)。ERC223會檢查目的地址是賬戶地址還是合約地址,若為合約地址,則返回錯誤,并調(diào)用相應(yīng)的函數(shù)轉(zhuǎn)回Token。
市場日益激烈的競爭和用戶日趨全面的需求進(jìn)一步促進(jìn)了Token標(biāo)準(zhǔn)的發(fā)展,一時之間,出現(xiàn)了很多比ERC20更成熟的標(biāo)準(zhǔn)。
號稱“新版ERC20”的ERC827,該標(biāo)準(zhǔn)不僅兼容ERC20,還允許第三方在不需要訪問私鑰的前提下進(jìn)行交易的驗證;ERC884除了實現(xiàn)ERC20的功能,還要求對持有者進(jìn)行識別并將其列入白名單作為Token的組成部分。