筆者以白話的口吻向我們科普在專業報導裡常看到的「ERC 標準」以及智能合約的概念和運作模式。聽起來很艱深的智能合約(Smart Contract)的概念竟然是源自我們日常生活中的自動販賣機?!
(前情提要:V神推特 AMA| 直球回應以太坊發展「最大遺憾」、馬斯克問他:什麼是愛?)
在現實生活當中,我們經常在各種業內報導中看見 ERC 的身影,那麼什麼是 ERC 呢?今天就來和大家聊一聊。
智能合約
在講 ERC 之前,先和大家科普一下智能合約,智能合約的概念最早是在 1994 年由尼克.薩博(Nick Szabo)提出。他定義道:一個智能合約是一個電腦化的交易協議,它執行一個合約的條款。
智能合約來源生活中的自動販賣機,當客戶往自動販賣機投錢之後,自動販賣機就開始工作。而智能合約是怎麼樣的呢?
以以太坊中的智能合約為例,每一個以太坊中的智能合約都有自己的帳戶,就相當於自動販賣機有自己的 ID 一樣,當外部帳戶用一定的小費調用了自己選中的智能合約之後,就相當於啟動了自動控制的開關,智能合約就會按照自己的代碼定義自動地執行下去。
但是和自動販賣機一樣的是,智能合約一旦創建完之後,它的代碼就不能被更改,不能像自動販賣機一樣還能由工作人員打開門再放貨品進去。
智能合約不可更改的優勢讓它很自然地適用於合約條款的場景,它可以有效地減少惡意篡改,減少人工干預。比如可以在以太坊上寫一個類似銀行的智能合約,然後人們就可以通過這個合約來存錢、取錢。這樣就不會出現因為銀行工作人員因失誤或惡意更改導致餘額不對等情況的出現。
事實上,這個“銀行「智能合約」裡存的錢不一定是以太幣(ETH),因為以太坊智能合約它還允許合約開發人員定義自己的貨幣,就是我們所知道的各種基於以太坊的 Token,比如 USDT,NBN 等。
這麼一講,彷彿智能合約給各行各業的人們提供了一個新的思路,大家都在想著是不是可以基於智能合約開發一些新的項目,發行自己的代幣呢?智能合約當然可以,但是必須按照規定程序進行。那麼為了有效地防止平台上出現各種雜七雜八的代幣、數據等,它有著自己的一套標準。
延伸閱讀:新手知識|區塊鏈到底在幹嘛〈下〉區塊鏈安全嗎?共識機制?智能合約如何運作?
ERC標準
ERC 全稱是"Ethereum Request for Comment “,表示以太坊版的請求意見稿(RFC) , ERC 中包含技術和組織等注意事項及標準。這套標準其實不光由以太坊官方提出,還由一些以太坊愛好者提出。
以前面談到的銀行智能合約為例,我們不難想到它會具備以下幾個功能和須知:
- 需要有記錄每一個客戶的餘額;
- 需要具備轉帳的功能,即包含存款與提款;
- 要保證每個客戶能夠查詢自己的餘額。
以上這些功能和須知仔細一思考,好像是每個「銀行」合約都需要具備的,也是 Token 合約所需要具備的,因此為了更好地兼容錢包,兼容交易所,以太坊發行了像 ERC20,ERC721 這樣的代幣協議標準。
延伸閱讀:文組也該知道的區塊鏈技術知識 為何發送 ERC20 Token 需要兩次交易?
比如阿貓幣、阿狗幣都是基於 ERC20 標準發行的,那麼它們都會提供給用戶一些選擇按鈕(即介面函數一致),這些選擇按鈕供用戶查詢餘額,轉移代幣等,但是阿貓幣、阿狗幣底層實現查詢餘額和轉移代幣的等功能的方式可以不同。
除了 Token 合約需要規範一樣,其他的一些包括但不限於數據包的設計、一些介面的定義規則等也有一些 ERC 標準。這些標準協議一些來自於以太坊創團隊,一些來自於以太坊的愛好者、貢獻者的提議。總的來說,都是為了共同創建一個更好的以太坊環境。
所以,感興趣的同學們也可以根據以太坊智能合約中的一些不足或是值得創新的地方提出自己的一些提議,作出自己的貢獻。
📍相關報導📍
區塊鏈新手入門|USDT 的三種不同類型:Omni協議、ERC-20協議、波場
Vitalik入選2021年《時代雜誌》百大風雲人物:為以太坊創造驚人價值
探討|以太坊 2.0 之後,ETH 礦工將何去何從?
讓動區 Telegram 新聞頻道再次強大!!立即加入獲得第一手區塊鏈、加密貨幣新聞報導。
LINE 與 Messenger 不定期為大家服務