下來我將介紹一些現有的智能合約平臺和一些即將推出的平臺,我是根據成熟程度、靈活性和它們給我們的生態系統帶來的創新程度等維度選擇到它們的。
Ethereum—古老而寶貴
Ethereum(以太坊)一直是一個可靠的選項。Ethereum是智能合約領域的黃金標準,在其它平臺中擁有最大的擁戴。大多數代幣都是使用ERC-20代幣標準,并在Ethereum平臺上進行銷售的。
然而,這個標準有一些嚴重的缺陷,已經導致了行業的重大損失。我來解釋一下。
ERC-20標準假設的有兩種執行代幣交易的方式:
1、transfer():將代幣發送到某人的地址。
2、approve() + transferFrom():將代幣存入智能合約。
但是,如果您意外地使用transfer()將代幣發送到智能合約,會發生什么情況呢?答案是該交易將成功,但接收方合同將不承認該交易。
例如,如果您將代幣發送到去中心化的交換合約,那么交換合約將接收您的代幣,但不會將這些代幣貸記到您的交換代幣余額中。此外,如果去中心化交換合約沒有實現緊急大筆提取功能,那么無論如何都不可能取回代幣,從而導致代幣永久丟失。由于這個漏洞,Ethereum生態系統已經損失了數百萬美元。
此信息由Reddit用戶u/Dexaran(源文章)提供,他是ERC223標準的創建者。Dexaran是第一個通知Ethereum社區關于上述錯誤的開發者。為此,他創建了ERC223標準。
大多數開發人員都不知道這個ERC223和ERC77標準。現在我對這兩種標準做一個簡短的比較:
ERC223:這個改進的標準解決了ERC20關鍵錯誤,方法是讓transfer()函數在無效的傳輸上拋出一個錯誤,并取消事務,這樣就不會損失任何資金。→關注安全。
ERC777:解決ERC20的問題,例如缺乏交易處理機制。→關注主流應用。
正如大家所看到的,在采用更好更安全的代幣標準方面,社區仍然需要努力。
NEM
可擴展性是NEM去中心化應用程序中最關鍵的一點。ETH每秒最多處理15個事務,而NEM每秒處理數百個事務。NEM基金會優先考慮安全性和可用性,因此企業家要處理其他問題,而不是技術難題。
雖然NEM據說是更快、更安全、更容易的技術,但是Ethereum提供了一個創建定制DApps的更廣泛基礎,這里的主要區別在于ETH是在區塊鏈上應用它的智能合約,而NEM使用的是區塊鏈之外的代碼。只一點盡管可能會使NEM不那么去中心化,但是該方法確實有它的優點,例如更安全、更易更新、更快執以及更輕的代碼。
Reddit用戶Nemario告訴我,合約代碼可以隨時更新,而完全不需要與鏈進行任何交互,不會執行反向事務。這使得NEM在某種程度上不是那么去中心化,但是像多重簽名和智能資產這樣的鏈上安全特性減輕了這個“問題”。
NEM有定制的數據管理應用程序,稱為智能資產,通過只需點擊幾下,你就可以創建代幣、數據記錄、投票系統等。Ethereum是針對哪些打算在未來5到10年內重建內部網絡的公司,NEM針對的是那些尋求快速、安全、準備好使用當前解決方案的公司。看看有哪些構建在Ethereum之上而采用NEM的公司將是一件有趣的事情,這部分部分來源:www.cryptosumer.com
NEM提供了幾個sdk,在其下你可以找到一個傳輸事務的NodeJS片段。