夏日將盡:以太坊的ERC-777能否順利取代ERC-20?
夏天的結束是定下個人目標的好時機。我們不妨藉著夏日最後的明媚陽光回顧這個夏天的重大事件,例如,Jordi Baylina、Jacques Dafflon 和Thomas Shababi承諾推出的已經準備好的ERC-777代幣標準,它旨在取代目前世界上最受歡迎的代幣標準,ERC-20。7月20日,Baylina在於柏林舉行的DappCon論壇上做出了這個承諾。按照傳統,人們在這個論壇上討論與以太坊區塊鏈相關的重要舉措、工具和更新。開發者表示ERC-777已經做好發表準備,並且將於8月全面推出。
然而,8月來了又去,圍繞著建立基於以太坊區塊鏈的新標準的最新嘗試,開發團隊似乎依舊保持沉默,又或者他們正在默默醞釀一個大驚喜。雖然自7月以來在GitHub上就沒有釋出任何與ERC-777相關的更新,但我們或許可以從上週Baylina釋出的一條推文中找出即將釋出的新標準的蛛絲馬跡。現在,讓我們回過頭來更好地瞭解這這個專案的背景。
為什麼我們需要改變世界上最受歡迎的代幣標準?這個標準是世界上最大的交易所之一Binance的交易代幣以及超過6萬個專案的基礎,其中包括資本超過45億美元的EOS。為了回答這個問題,我們需要比較現有標準和新標準,然後評估其應用風險。
以太坊成功史
儘管比特幣被認為是世界上最受歡迎的加密貨幣,以太坊卻不僅僅是第二大受歡迎的加密貨幣,它還是帶來2016到2017年加密貨幣市場繁榮景象的區塊鏈。如果沒有以太坊平臺,就永遠不會出現“to the moon”這一短語,加密貨幣由此在幾個月內從極客們的一種娛樂轉變成了面向傳統投資人和數百萬普通人的新工具。
以太坊區塊鏈的主要優點包括極簡的應用程式開發過程以及通過智慧合約實現的無障礙代幣發行流程。現在,任何人都可以在一分鐘內建立,也就是發行一種加密貨幣。這種便捷性導致了ICO的爆炸式增長。另一個可以進一步推動ICO市場的發展的工具則是一種簡單的代幣標準,由此就孕育出了ERC-20。
ERC-20代幣標準
在標準化之前,以太坊開發人員必須為每一個代幣建立一個獨立的基於Solidity開發語言的智慧合約。實際上,這意味著每一次都需要建立一個新的、獨一無二的智慧合約型別。而交換所或者錢包的創始人不得不為每一種新代幣編寫獨一無二的編碼來支援它們。出現的代幣越多,這個過程的難度就越大。此外,在各自專屬的智慧合約上發行的代幣彼此間幾乎不相容。
以太坊開發者建立了一種適用於所有代幣的單一標準—ERC-20,ERC代表了“以太坊徵求意見(Ethereum Request for Comment)”,而20則是GitHub的社群發行號碼,這是隨機的。
2015年,這個單一標準的出現徹底改變了加密貨幣行業,成為了該行業的核心指導方針,規範了在每個智慧合約裡需要執行的功能和事務。新貨幣的發行、兌換和變現從未如此簡單。
該標準包含了智慧合約的六個強制引數,並且負責三個主要方向:
1.設定代幣的初始分佈:
totalSupply — 決定了發行代幣總量,在達到該數字後,智慧合約將停止發行代幣。
balance0f — 將初始數量的代幣分配給任一地址的功能。
2.轉移代幣:
transfer — 根據ICO結果將初始地址的代幣轉移到指定地址的功能。
transferFrom — 在使用者間轉移代幣的功能。
3.執行管理職能:
approve — 核實一個智慧合約上可轉移的代幣額的功能。
allowance — 確定一個地址擁有足夠代幣以便向另一個地址轉移代幣的功能。
一旦制定了該標準,交易所和錢包就能夠統一程式碼,以便處理用ERC-20協議建立的任何代幣。正如預期的那樣,採用以太坊技術的未來應用程式隨之劇增。
ERC-20標準背後的挑戰
去中心化網路的開發者首先是程式設計師,之後才是商人。因此,在決策過程中,他們幾乎總是遵循形式邏輯。例如,一些開發人員可能不太關心“51%的黑客攻擊”,或是因為幣種本身貶值,或是因為攻擊成本可能會超過黑客獲得的利潤。但似乎這種攻擊的組織者有著完全不同的邏輯,2018年大量新的黑客攻擊已經證明了這一點。
另外,對開發人員來說代幣的功能只有在ICO發行中才是不可或缺的,他們並不在乎其他服務。事實證明並非如此,一些團隊,甚至那些談不上程式設計的團隊,也開始探索區塊鏈的可能性。舉例來說,這也帶來了為了娛樂效果而建立的代幣,例如以太坊Useless token。
而其他的自定義功能甚至可能破壞使用者安全性。例如,一些開發人員通過同時執行“approve”和“transferFrom”功能來實現充值交易所賬戶的操作。資金從傳送者的賬戶中扣除,但未記入他們在交易所的資產負債表中,因為接受者的智慧合約的存款功能尚未確定。問題是,以太坊開發者沒有提供這種轉賬方式的選項,但也沒有禁止它,而區塊鏈從一開始就不支援合約的自定義功能。因此,加密貨幣的持有者損失了數百萬美元,這些錢都永遠地消失在網路中了,因為如果這筆資金的轉賬者沒有馬上取消這筆未完成的交易,這些代幣就會消失。
安全審計員Dexaran注意到了這個漏洞,於是他開發了ERC-223標準,在其中添加了“tokenFallback”這個功能。一旦“transferFrom”功能未能執行,這個新功能就會被觸發。然而,儘管有了這項新發明,這個由不具名的程式設計師開發的功能卻未被廣泛接受。
6月,在Solidity更新後,Lucas Cremer發現了該標準的另一個漏洞,他是一名來自德國的Solidity開發者。事實證明,在執行transfer功能的價值返回時,很大比例的ERC-20代幣,也就是作者所說的“壞代幣”,以另一種方式運作。這些代幣合約的transfer功能沒有返回任何值。實際上,受到影響的代幣中包括Binance和OmiseGO平臺上的代幣。Corner指出,人們應該關注的是,這類資產可能會以一種不可預測的方式開始執行操作,他還警告稱這個漏洞必須被“儘快”修復。
ERС-777:對ERC-20的一記重拳
由於成千上萬的代幣、交易所和錢包都和ERC-20有著緊密的聯絡,它的漏洞是不可消除的,因此以太坊開發者們已經決定推出一種新的標準,而其名字的靈感則源自於幸運數字777。
ERC-777的以太坊改進協議(EIP)於2017年11月20日釋出並獲得了社群的批准。但是,為了充分發揮作用,新標準需要一個輔助型的ERC-820協議,該協議規定了完成統一的智慧合約註冊的原則。這個中心化的登錄檔解決了以太坊區塊鏈的主要問題,即無法決定合約執行的職能的問題。
它現在如何運作?任何具有職能描述的合約都可以一勞永逸地被輸入登錄檔;並且,在執行交易時,區塊鏈可以通過登錄檔來核查允許執行的操作。如果使用者嘗試支付代幣執行無效操作,代幣會被保留在賬戶中而不會再消失。
在柏林的Dappcon論壇上,Jodi Baylina 和Jacques Dafflon利用一個新術語“hook”來定義“在轉移代幣期間可以執行的功能”,從而解釋了這個新標準的具體內容。這些功能和ERC-820協議一起提供了一種在ERC-20標準中缺乏的,簡單但細節化的內省。因此,我們就可以核實一個代幣是否攜帶有具體的特徵以執行或者拒絕某項操作,使智慧合約更加智慧。當接收者的合約並不支援某類資產的接收或管理時,新的ERC-777標準解決了接收者代幣丟失的問題。以太坊社群已經由於這個漏洞損失了數百萬美元。很大一部分資金似乎已經永遠卡在了一些最高階ICO專案的合約裡。以下是一些例子:
然而,預防由不正確的交易導致的代幣損失並非是這項新標準的唯一創新,其目的還在於進一步開發以太坊區塊鏈。
例如,ERC-777的建立者第一次嵌入了一個“可信運算子(trusted operator)”,它可以代表所有者轉移或者銷燬代幣。這是通過執行“授權運算子(authorizeOperator)”函式實現的,舉例來說,它可以被用於執行ETH的即時自動支付。
此外,這個標準還允許你通過ITokenRecipient函式檢查接收人的地址是否支援“白”或“黑”名單。且上述“hooks”操作還幫助實現了不同情境下對代幣操作的監視,使你能夠遮蔽特定地址,同時執行一系列其他操作,包括髮送者和接收者對交易過程的干預。
如果你還想了解關於ERC-777的更多細節,你可以訪問以太坊的GitHub上的相關帖子。
ERC-20的謝幕
ERC-777標準向後相容ERC-20,同時所有基於舊標準的專案都可以無縫轉移到新的標準中。我們可以假設通過舊標準執行代幣操作的交易所和錢包,將對ERC-777的引入作出積極反應,後者最終將終結以太坊區塊鏈中的傳奇性“漏洞”。事實上,這將意味著在新標準中發行代幣流程的簡化,這可能會造成加密貨幣業活動的又一次激增,且與2016-2017年的熱潮不相上下。
此外,新標準大大擴充套件了以太坊區塊鏈系統的功能性,這將吸引開發人員的注意。圍繞新標準的激烈討論就是最好的證明。
最後,ERC-777標準涵蓋了經過徹底修改、再設計的功能和邏輯,將避免和其他代幣標準的交叉以及在執行智慧合約時出現混淆。
談到ERC-777的缺點,確實有一個:它依賴於一個智慧合約的中心化登錄檔,這在區塊鏈的去中心化意識形態中並非是一種理想的方案。這就需要以太坊開發者們通過其它方法來確保登錄檔的安全性。
一位加密貨幣方面的知名油管博主“Ivan on Tech”稱,他確信ERC-777的成功不過是時間問題,即使實際上以太坊基金會徹底登出ERC-20的過程可能會很慢:
“展望未來,以太坊基金會確實需要支援ERC-777,它會取代ERC-20,因為它具有更出色的效能。因此,問題在於以太坊基金會依舊有相當的影響力,而他們目前在推廣的還是ERC-20。這是他們目前推廣最多的內容。但是,將來的情況可能是我們會轉向ERC-777。”
或許,一個新的、充滿潛力的代幣標準將會為以太坊網路以及ETH的發展提供新的推動力,尤其是ETH自7月起已經跌至新低: 194美元。在此之前,既然GitHub正保持沉默,似乎除了等待以太坊團隊完成他們的工作,我們也沒有更好的選擇。至少,我們都知道他們對此十分擅長。
特別申明:
區塊鏈行業ICO專案魚龍混雜,投資風險極高;各種數字貨幣真假難辨,需使用者謹慎投資。blockvalue.com只負責分享資訊,不構成任何投資建議,使用者一切投資行為與本站無關。