「ERC721 是什麼?為什麼要了解 ERC721?」2017 年 9 月 20 日由加拿大溫哥華新創公司 Axiom Zen,也就是因謎戀貓(CryptoKitties)遊戲而聲名大噪的新創公司 Axiom Zen 技術總監 Dieter Shirley 正式推出,他是 ERC721 規格標準的作者和主要貢獻者,ERC721 規格標準建立的是一種「不可替換代幣」(Non Fungible Token,NFT),這與目前主流的 ERC20 規格標準建立的代幣不同 。

ERC 是「Ethereum Request for Comments」的縮寫,意思是以太坊開發者公開徵求意見,希望定義出統一的溝通接口,建立出一套可以遵循的標準,讓以太坊開發者在撰寫智能合約時能更為流暢。

至於一般讀者為什麼需要了解 ERC721 規格,主要是民眾如果對投資 ICO 有興趣,在評估是否投資的階段時,會需要花時間詳細閱讀該 ICO 項目所提出的白皮書(融資說明書)。這時會發現,若某個 ICO 項目是發行所謂的「ERC721 代幣」,也就是遵循 ERC721 標準的代幣,如果不了解 ERC721 規格所代表的意涵,有可能導致不清楚 ICO 的賣法、不曉得代幣背後如何運作,甚至有些 ICO 項目發表的白皮書內容是否虛假也難以判斷。也因如此,一個有經驗的投資者,會試著理解 ERC721 規格,提高自己的視野,帶著批判的眼光去思考,期望大幅降低投資風險,而這也是多數民眾想了解 ERC721 及 ERC20 的動機之一。

ERC721 與 ERC20

ERC20 是目前最多人使用的以太坊代幣主流規格標準,支持 Waltonchain、Storj,以及 Basic Attention Token 等在區塊鏈上運行的代幣。 效用代幣(utility token)是  ERC20 代幣的一種應用,可說是 ERC20 使用的一個大宗,讓創業家發行代幣賣給使用者,使用者能用代幣使用創業家開發的區塊鏈服務。 ERC20 標準能夠運行智能合約,能夠在滿足指定條件時用程式碼對其進行編寫程式。一個標準的 ERC20 智能合約需具備的函式有:

  1. 代幣的全名
  2. 代幣的縮寫
  3. 代幣的最小單位數值
  4. 代幣的總量
  5. 查詢帳戶代幣餘額
  6. 轉移代幣
  7. 轉移代幣事件
  8. 從 A 地址轉移代幣給 B 地址
  9. 批准代幣轉移
  10. A 地址批准給 B 地址的代幣數量
  11. 代幣批准觸發事件

相較之下,ERC721 則是用於處理不可替換資產的另一種以太坊代幣標準。可替換資產像是貨幣,它可以被其他任何平等單位替代,但諸如房屋、傢俱則屬不可替換資產,它不能被替代,也不能被分割,這就是 ERC721 規格標準的主要效果。在 ERC721 標準下,能將資產轉為唯一的、獨特的 256 位元代幣。而這種代幣可以通過區塊鏈上的智能合約追蹤,從而建立數位化資產。

值得一提的是,因為 ERC721 標準是由 Axiom Zen 技術總監 Dieter Shirley 提出的,該公司風靡全球的遊戲「謎戀貓」,也成為第一個採用 ERC721 標準的去中心化遊戲應用。

ERC20 標準比起 ERC721 標準更早一些被提出,且很快的成為主流,目的是方便以太坊開發者為產品建立金融功能。而 ERC20 與 ERC721 的主要不同在於,錢包中的 ERC20 代幣,只有數量的不同,代幣之間是沒有區別的。在 ERC20 標準下,關心的不是代幣之間的區別,而是關心錢包帳號中的餘額。 ERC20 代幣被稱作「可替換代幣」,適用於可替換資產的價值。

另一方面,也因為有了主流 ERC20 規格代幣,在以太坊平台下發行的代幣多受限於可替換資產。但除了可替代資產,其實還有很多不可替換資產的部分。例如,特別稀有、可收藏的偶像簽名海報、好友送的具有紀念價值的飾品等。因為不同的原因給物品賦予額外的、無法替代的價值,而這些價值似乎不是起初設計 ERC20 所關心的主題,也因此有了 ERC721 標準的出現,用於發行不可替換代幣,補足 ERC20 標準所缺乏的設計。

讀者可以從 ERC721 標準規格內容中看到,兼容 ERC20 的方法有幾個,包括代幣全名 name、代幣縮寫 symbol、代幣總量 totalSupply、代幣餘額 balanceOf。在 ERC721 標準中,可以看到開發者所增加的改進,讓智能合約可以支持記錄及轉移代幣所有權。ERC721 規格內容中,新增的函式有:代幣所有權發送 ownerOf、代幣所有權提取 takeOwnership。此外,在 ERC721 規格中重寫了代幣批准授權 approve ,以及代幣轉移 transfer。

ERC721 和 ERC20 在記錄所有權處理的方式不同, 在 ERC20 中,只需要知道帳戶地址上有多少代幣,而在 ERC721 中,則需要額外單獨記錄每枚代幣的 ID。另外,ERC721 在轉移代幣所有權與 ERC20 中交易代幣的過程相似,可以由使用者發起轉移,另一位使用者接受轉移,也可用代幣轉移 transfer 。

ERC721 未來發展及應用

過去,因有以太坊 ERC20 標準,開發者可以發行應用產品中的專屬代幣,方便使用者使用應用中的金融服務。 現在,有了時下流行的 ERC721 標準,預期將為以太坊應用領域創造新的局面,包括加密收藏品、虛擬物品、遊戲寶物、遊戲裝備等等,期望再創新氣象。未來將會出現越來越多的加密領域新興應用,使用 ERC721 代幣確定真實世界中的房屋、土地、股票債券等所有權,利用 ERC721 代幣完成對這些資產的追蹤、交易、審計,建造出一個活潑的新時代產權市場。


區塊客致力於發掘和整理各種與區塊鏈技術有關的內容,只要與區塊鏈或區塊客網站有關的合作和/或建議,我們都非常歡迎。請您發電郵至 [email protected] 與我們聯繫。

Yahsin Huang