20、721、875、777、725、1155、1400......

買賣虛擬貨幣


以太坊是專案代幣發行及執行的主要平臺。根據ICOWatchlist 10月17日的資料,透過以太坊平臺進行ICO的專案市值佔到所有ICO專案市值的82.66%。以太坊平臺上有很多ERC代幣。根據Etherscan 10月17日的資料,以太坊上ERC-20代幣數量達到130058種,ERC-721代幣數量為276種。除了ERC-20、ERC-721之外,以太坊平臺上還有很多其他型別的ERC代幣。


這些代幣有不同的使用場景,不同的使用場景因為要滿足不同的需求,對代幣的屬性、功能、操作都提出了不同的要求。這就是為什麼現在市場上會有這麼多形形色色ERC代幣標準的原因。

所謂ERC,就是Ethereum Request for Comment,以太坊代幣協議。不同的協議對各自代幣的屬性、功能會有不同的設定。今天,區塊真探梳理了十幾種比較典型的ERC代幣協議供小夥伴們參考。此外,真探還針對ERC代幣協議提出了兩點思考,感興趣的小夥伴歡迎一起互動呀。

 01

以太坊上有哪些ERC代幣協議

先介紹一下ERC-20代幣協議,這是第一代數字代幣標準,同時也是以太坊網路中最主要的代幣標準,大部分1C0專案的代幣使用的都是這種協議。

一般情況下,開發人員在建立DApp(去中心化應用)時會開發出對應的內生代幣。如果不對這些代幣設定一個統一的標準,那麼錢包、交易所,以及需要與多種DApp進行互動的智慧合約等每與一種新的代幣進行互動就需要更新系統程式碼,會非常麻煩。

為了解決這個問題,以太坊系統在2015年提出了ERC-20代幣協議。簡單來說,ERC-20代幣標準就是DApp開發人員在專案代幣中採用的一套標準,以確保自己的代幣能相容ERC-20協議,從而相容上述的錢包、交易所、智慧合約等平臺,並且提高操作效率。

ERC-20協議為以太坊網路做出了巨大貢獻,但是也存在一個比較嚴重的問題。如果使用者將ERC-20代幣傳送到代幣自身(代幣本質上是一種智慧合約)或者不相容智慧合約時,會導致資金丟失,因為此類智慧合約無法做出響應。為了解決這個問題,同時滿足其他應用場景需求,市場上逐漸出現了其他ERC代幣標準。

名稱:ERC-223

提出時間:2017年5月3日

型別:標準代幣

首先,ERC-223在ERC-20的基礎上引入了一個新功能,透過回退函式來防止代幣被髮送到不相容合約中,從而避免代幣丟失。

其次,ERC-223代幣在轉移的過程中只需觸發1個交易步驟(ERC-20使用的是transfer函式,代幣在轉移的過程中需要觸發2個交易步驟,第一步用於請求交易,第二步才是透過合約執行交易),所以,基於ERC-223的代幣轉移效率更高,花費的Gas更少。

第三,ERC-223代幣向後相容ERC-20代幣。也就是說,ERC-223在解決ERC-20缺陷或者最佳化ERC-20的同時,繼續保有ERC-20的其他功能。



名稱:ERC-777

提出時間:2017年11月20日

型別:標準代幣

詳情:首先,如上所述,ERC-20代幣在轉移的過程中需要觸發2個交易步驟,而ERC-777採用send函式,代幣在轉移的過程中只要觸發1個交易步驟。和ERC-223一樣,代幣交易效率更高,Gas費用更低。

其次,ERC-777可以透過send函式來呼叫ERC-820合約,ERC-820本質上是一個資訊記錄表,透過ERC-820合約,ERC-777可以判斷與其互動的合約是否相容,如果不相容,就會取消交易,從而避免代幣丟失。

第三,ERC-777在ERC-20的基礎上增加了hook函式。透過這個函式,ERC-777合約能控制代幣在特定交易環境中的行為,也允許交易雙方干預交易過程。舉個例子。ERC-777可以在交易傳送前向代幣傳送方發出提醒,允許傳送方取消交易。


ERC-777還能基於hook函式遮蔽特定地址或代幣型別的交易。在實現這一功能時,ERC-777也會呼叫ERC-820協議。比如,代幣持有者可以將某些不可信地址列入黑名單,遮蔽與這些地址間的交易,從而提升資金的安全性。

第四,ERC-777新增了operator。一個operator就是一個地址,可以代表另一個地址傳送並且銷燬代幣。代幣持有者可以指定operator或者default operator,也可以隨時撤銷operator。


透過operator操作,代幣持有者可以實現一系列不同的功能。比如,將代幣自動支付到某合約或者可信地址,或者根據一定的規則幫助分配代幣持有者的數字資產。比如,設定一定的條件,當條件滿足時將代幣從熱錢包轉移至冷錢包;進行代幣捐贈或者再投資等等。

第五,在實現以上功能的同時,ERC-777也實現了對ERC-20的向後相容。



名稱:ERC-1155

型別:標準代幣

首先,ERC-1155透過整合智慧合約在很大程度上節約了資源及成本。ERC-1155的創造者是Enjin Coin平臺(用於開發區塊鏈遊戲及加密貨幣)的CTO。


他在開發的過程中發現,當時的代幣標準無法滿足區塊鏈遊戲的需求,因為每個代幣都需要一個獨立合約來對其進行定義。可以想象,一個大型的區塊鏈遊戲裡面有幾萬種遊戲資產,每種遊戲資產對應一個智慧合約,那麼一個遊戲就需要用到幾萬個智慧合約。這就好比我們每使用一個APP都要特意買一臺電腦來執行這個APP一樣,完全沒有必要,而且是對資源的極度浪費。


其實大部分以太坊合約都是比較相似的,不同的合約間存在很多相同的程式碼。開發人員在開發專案或者新代幣的時候只是對合約做了細微的調整。

透過ERC-1155代幣標準,開發人員只需定義那些與其他代幣互異的資料就可以了,不需要再重複過一遍與其他合約相同的程式碼,節約了儲存成本及開發時間。

其次,ERC-1155標準提升了代幣交易效率,降低了交易費用。ERC-20代幣間交易過程是這樣的。


而ERC-1155可以把同一種代幣打包到一起,將ERC-20交易過程中的三個授權步驟壓縮到一步,能夠做到將單個或者多個代幣傳送給單個或者多個地址,從而大大提升了交易效率,同時也降低了交易Gas費用。


從上面這張圖中,我們可以看到ERC-1155標準的最大優勢在於,可以連線不同的代幣(比如同質代幣和非同質代幣【後文會提到】),既支援通貨(可以理解為同質代幣)的定價換物,也支援物物相換(可以理解為非同質代幣間交易),未來的應用場景非常廣闊。



名稱:ERC-721

型別:NFT(Non-FungibleToken)非同質代幣

提出時間:2017年9月

ERC-721是除了ERC-20之外大家聽得比較多的一種ERC代幣。這種代幣或者代幣標準最大的亮點就是不可置換性。ERC-20代幣是可置換的,最小可細分到十的十八次方分之一份,而ERC-721代幣的最小單位是1,無法再分割。每個ERC-721代幣都對應唯一的ID,是獨一無二的。以加密貓為例,每一隻貓都被賦予獨特的屬性,貓與貓之間是不能進行置換的。這種獨特性使某些稀有貓咪具備收藏價值,受到很多人的追捧。

ERC-721代幣可以有非常廣泛的應用場景。現實生活中的很多物品都具備獨特性,ERC-721代幣的應用場景之一就是將現實生活中的實物資產對映到區塊鏈上。ERC-721代幣還可以用於認證場景。個人的身份資訊、證書、檔案等都是獨一無二的,並且這些資訊可以被數字化,在特定的場合下需要具備一定的隱私性,這些特徵都與非同質代幣以及區塊鏈技術的屬性天然契合。



名稱:ERC-875

型別:非同質代幣

首先,ERC-875也是一種非同質代幣,具備不可置換性,可以被應用到很多場景。

其次,ERC-875在ERC-721的基礎上,實現了批次交易功能。ERC-721標準雖然支援非同質代幣間的交易,但是一筆交易只能實現一對一交換。ERC-875標準可以對代幣進行分組批次交易,提升了交易效率,降低了交易成本。

第三,ERC-875標準實現了簡單的原子交易。所謂原子交易,就是指不透過中間方,直接將一種代幣兌換為另一種代幣這樣一種交易方式。ERC-875標準搭建了去中心化交易平臺,買賣雙方可以直接在該平臺上交易,並且由買家支付一次Gas即可,賣家無需持有以太幣。



名稱:ERC-725

型別:非同質代幣

提出時間:2017年10月2日

ERC-725與ERC-735標準定位於身份及證書認證場景。深度發展的話,可以實現對所有DApp或者區塊鏈平臺的索引支援,提供跨專案的分散式、可操作身份認證功能。



名稱:ERC-827

型別:標準代幣

首先,ERC-827在ERC-20的基礎上增加了交易資料傳輸功能,資產與資料的傳輸廣度及速度都得到了提升,使使用者能在幾秒內將資料轉移到全球各地。

其次,ERC-827標準在確保資產及資料安全性不變的前提下,允許第三方(比如經紀人、代理人)無需私鑰就可以對交易進行驗證。



名稱:ERC-865

型別:標準代幣

ERC-865標準使使用者在使用DApp時能夠使用專案代幣代替以太幣來支付Gas費用。



名稱:ERC-888

型別:多維代幣

首先,ERC-888是一種多維代幣標準,可以一次性部署多個資產。其次,ERC-888標準可以計算以及支付代幣持有者股息。第三,ERC-888標準因為與所有web3相容,所以可以標記實際資產。



名稱:ERC-621

型別:標準代幣

ERC-621標準的亮點在於可以增加或者減少流通中的代幣供應量。



名稱:ERC-1410

型別:PFT(Partially-FungibleToken)部分同質化代幣

ERC-1410標準可以將代幣持有者手中的代幣劃分成不同的部分(tranche)。ERC-20、ERC-721等代幣都是基於整個代幣進行操作的,而ERC-1410可以以更細的粒度對代幣進行控制和操作。比如,代幣持有者可以賦予代幣的部分餘額授權邏輯和鎖定邏輯。以股票型代幣為例,持有者可以對該種代幣進行股份分類。代幣持有者也可以依據代幣tranche分類的不同做一些操作上的限制,比如設定某些操作只作用於指定tranche分類的代幣,某些操作優先消耗指定tranche分類的代幣。



名稱:ERC-1400

型別:部分同質化代幣

首先,ERC-1400繼承了ERC-1410標準,在tranche功能的基礎上,定位了更加細分並且複雜的應用場景——證券業務。ERC-1400將投資期限、風險不同的tranche組合成一個整體,達到降低投資風險的效果。比如,ERC-1400標準可以支援投資期在5-30年,投資風險不同的證券組合。

其次,ERC-1400標準因為將應用場景定位在證券業務領域,需要鏈上鍊下參與者進行更為複雜的互動,所以這種標準本身需要具備對證券進行強制轉移的能力,這樣,證券在法律訴訟等場景下就可以實現追回。

第三,ERC-1400標準還允許使用者對交易是否成功以及失敗的原因發起詢問。使用者接收到的理由基於ERC-1066協議。

透過上述描述,我們可以發現,這種代幣標準主打監管功能,非常適用於現在比較熱門的STO(security token offering,證券代幣發行)場景。



名稱:ERC-1404

型別:部分同質化代幣

ERC-1404標準也主打監管功能。ERC-1404代幣發行人可以為代幣設定一定的限制。比如,在什麼時候,在何種條件下,轉移多少代幣,從而達到滿足關鍵監管要求的目的。

 02

關於ERC代幣協議的兩點思考

上面只是列出了一些比較典型的ERC代幣標準,以太坊上的代幣標準很多,甚至到了混亂的程度。所以真探想要探討的第一個問題是,為什麼與以太坊基礎代幣標準(ERC-20)互異性不高的ERC協議提案不能直接在已有的標準上進行更新,而是需要開發(複製)出新的標準,在新的標準中對部分程式碼進行調整。

關於這個問題,真探詢問了有關開發人員,得到的答覆是“規範定了後不更新,如果要適配其他不一樣的場景,一般會新增一個規範”。

同時,真探了解到,以太坊協議提案的整個流程大概是這樣的:開發者需要先在Github上建立一個EIP(Ethereum Improvement Proposal,以太坊改進提案),在其中描述協議內容。獲得廣泛認同的提案會被標準化,標準化提案中只有少數草案能透過審議成為決案。


真探理解為,這是一系列規範化操作,經過這些操作成為決案的ERC標準一般情況下不會再進行修改,如果要對現有標準進行調整或者要滿足新的應用場景,就需要增加新的規範。

鑑於目前有這麼多以太坊代幣標準,整個協議系統比較雜亂,真探認為,很多代幣標準其實可以相互整合,整套操作流程也可以進行調整。如果要考慮標準更新對相關代幣的影響,是否可以對代幣標準增加測試功能,支援在沙盒環境中測試程式碼更新效果,以降低操作風險。

其次是新標準冷啟動問題。現在以太坊上的大部分代幣使用的都是ERC-20標準。這種標準存在資金丟失問題。據悉,2017年,ICO參與者因為ERC-20標準這一“特性”損失了400多萬美元。有一些ERC標準,比如ERC-223和ERC-777針對ERC-20這一問題提出瞭解決方案,但是目前還沒有主要專案代幣採用這兩類標準。可以想象,從一個標準遷移至另一個標準需要解決很多問題,比如舊資料的遷移及更新,標準間的相容性問題等等。這也是開發人員可以考慮拓展並且解決的領域。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;