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