在現(xiàn)實生活當中,我們經(jīng)常在各種業(yè)內(nèi)報道中看見 ERC 的身影,那么什么是 ERC 呢?今天大白就來和大家聊一聊。
1. 智能合約
在講 ERC 之前,先和大家科普一下智能合約,智能合約的概念最早是在 1994 年由尼克。薩博提出。他定義道:一個智能合約是一個計算機化的交易協(xié)議,它執(zhí)行一個合約的條款。
智能合約來源生活中的自動售貨機,當客戶往自動售貨機投錢之后,自動售貨機就開始工作。而智能合約是怎么樣的呢?以以太坊中的智能合約為例,每一個以太坊中的智能合約都有自己的賬戶,就相當于自動售貨機有自己的 ID 一樣,當外部賬戶用一定的小費調(diào)用了自己選中的智能合約之后,就相當于啟動了自動控制的開關,智能合約就會按照自己的代碼定義自動地執(zhí)行下去。
但是和自動售貨機不一樣的是,智能合約一旦創(chuàng)建完之后,它的代碼就不能被更改,不能像自動售貨機一樣還能由工作人員打開門再放貨品進去。
智能合約不可更改的優(yōu)勢讓它很自然地適用于合約條款的場景,它可以有效地減少惡意篡改,減少人工干預。比如可以在以太坊上寫一個類似銀行的智能合約,然后人們就可以通過這個合約來存錢、取錢。這樣就不會出現(xiàn)因為銀行工作人員因失誤或惡意更改導致余額不對等情況的出現(xiàn)。
事實上,這個“銀行”智能合約里存的錢不一定是大餅(ETH),因為以太坊智能合約它還允許合約開發(fā)人員定義自己的貨幣,就是我們所知道的各種基于以太坊的 Token,比如 USDT,NBN 等。
聽大白這么一講,仿佛智能合約給各行各業(yè)的人們提供了一個新的思路,大家都在想著是不是可以基于智能合約開發(fā)一些新的項目,發(fā)行自己的代幣呢?智能合約當然可以,但是必須按照規(guī)定程序進行。那么為了有效地防止平臺上出現(xiàn)各種雜七雜八的代幣、數(shù)據(jù)等,它有著自己的一套標準。
2. ERC標準
ERC 全稱是“Ethereum Request for Comment”,表示以太坊版的意見征求稿 , ERC 中包含技術和組織等注意事項及標準。這套標準其實不光由以太坊官方提出,還由一些以太坊愛好者提出。
以大白前面談到的銀行智能合約為例,我們不難想到它會具備以下幾個功能和須知:
1. 需要有記錄每一個客戶的余額;
2. 需要具備轉錢的功能,即包含存錢與取錢;
3. 要保證每個客戶能夠查詢自己的余額。
以上這些功能和須知仔細一思考,好像是每個“銀行”合約都需要具備的,也是 Token 合約所需要具備的,因此為了更好地兼容錢包,兼容交易所,以太坊發(fā)行了像 ERC20,ERC721 這樣的代幣協(xié)議標準。
比如阿貓幣、阿狗幣都是基于 ERC20 標準發(fā)行的,那么它們都會提供給用戶一些選擇按鈕(即接口函數(shù)一致),這些選擇按鈕供用戶查詢余額,轉移代幣等,但是阿貓幣、阿狗幣底層實現(xiàn)查詢余額和轉移代幣的等功能的方式可以不同。
除了 Token 合約需要規(guī)范一樣,其他的一些包括但不限于數(shù)據(jù)包的設計、一些接口的定義規(guī)則等也有一些 ERC 標準。這些標準協(xié)議一些來自于以太坊創(chuàng)團隊,一些來自于以太坊的愛好者、貢獻者的提議??偟膩碚f,都是為了共同創(chuàng)建一個更好的以太坊環(huán)境。
所以,感興趣的小伙伴也可以根據(jù)以太坊智能合約中的一些不足或是值得創(chuàng)新的地方提出自己的一些提議,作出自己的貢獻。