區塊鏈技術精華:四十種智能合約支持平臺(三)

摘要: 智能合約是以數字形式定義的承諾,控制數字資產並涵蓋合約參與者約定的權利和義務。它由計算機系統自動執行。在基於區塊鏈的智能合約中,數據管理、事務驗證和狀態處理都是在區塊鏈上完成的,區塊鏈提供完備的狀態機接受和處理各種智能合約程序。我們在此係統列舉四十種支持或是用於開發智能合約的平臺或項目,並介紹影響智能合約功能的主要因素。本文是該系列文章的第三篇,我們繼續給出9種支持平臺,其中包括著名的BOSCoin、ByteBall等。

區塊鏈技術的精華:四十種智能合約支持平臺(一)
區塊鏈技術的精華:四十種智能合約支持平臺(二)

正文:

大家已經看到,區塊鏈正在改變我們的世界。

區塊鏈解決了人類一直面對的一個重大問題,信任問題。區塊鏈可爲任何需信任的事物創建一種不可更改的追溯印跡,由此解決信任的問題。

當然,該技術的強大還不止於此。

它在上述特性上繼續擴展,用以創建一經制定就必須準守的規則,其中的每個行爲都會產生相應的反應。其實,就是智能合約。

本文列出了四十種支持或是用於開發智能合約的平臺或項目,它們均在不斷的演進中。如果讀者發現本文存在任何遺漏或錯誤,希望能在評論中提出。此外,隨着本文作者對這些平臺或項目的進一步研究,本文內容將會定期更新。

原文提供在Github上,讀者可以拉取下來提出修改建議。

附: 本文對智能合約平臺/項目的評估,主要考慮的是影響智能合約功能的一些因素,而不是整體功能評估。

這篇文章花費了原作者數天時間才完成。如果讀者喜歡閱讀此類內容,想表達感謝和支持,可在此處或下面的ETH地址請作者喝杯咖啡:

           a93e64a691d5aff8f78cd63130cf23b89182d235

下面詳細列出四十種智能合約平臺/項目。本文是該系列文章的第三篇,我們繼續給出9種支持平臺,其中包括著名的BOSCoin、ByteBall等。

21. Viacoin

智能合約語言: Java
現狀: 活躍。
說明:

Viacoin使用RSK(Rootstock)支持其智能合約功能,並與以太坊兼容。

Rootstock是一種雙向錨定(Two-way Peg)的智能合約平臺。Rootstock運行一種稱爲“Rootstock虛擬機”的圖靈完備虛擬機,該虛擬機也是與EVM兼容的,並支持運行Solidity編譯的智能合約。

Viacoin即將發佈0.15.0核心版,其中將實現默克爾抽象語法樹(MAST,Merkelized Abstract Syntax Trees)。MAST結構非常簡單,支持更小規模的交易,因此更便於智能合約的執行。0.15.0版對實現RSK智能合約非常關鍵,將爲Viacoin提供類似於以太坊的智能合約。RSK近期發佈了比特幣智能合約平臺的首個Beta版。

學習資源: Viacoin的Github代碼庫
Viacoin Github | Viacoin Reddit | Viacoin Telegram

22. Cardano

優點:

  • 尤其注重以最簡單的方式確保智能合約在行爲設計上不存在潛在的漏洞。

智能合約語言: Solidity,Plutus
現狀: 活躍
說明:

Cardano的智能合約平臺稱爲CCL(即Cardano計算層,Cardano Computation Layer)。CCL尤其注重以最簡單的方式確保智能合約在行爲設計上不存在潛在的漏洞。CCL包括兩個層面,一個層面是形式化指定的虛擬機和語言框架,另一個層面是形式化指定的語言,便於自動驗證人類可讀的智能合約代碼。

圖片
Cardano智能合約和虛擬機

CCL的底層稱爲IELE。IELE提供了虛擬機和通用語言框架實現,其中虛擬機是設計用於簡化形式化驗證工具的構建,語言框架則用於將智能合約從高層語言轉譯爲可執行指令。IELE的研發是由運行時驗證(Runtime Verification)的提出者、UIUC教授Grigore Rosu領導的,並受到IOHK的資助。爲構建更安全和高效的虛擬機,Rosu教授的團隊正在將他們對KEVMKLLVM的最新研究成果應用於其中。其中,KEVM是EVM使用的一種K框架形式化語義,KLLVM是LLVM中使用的一種K框架形式化語義。

不同於EVM這樣基於堆棧的虛擬機,IELE將實現爲LLVM這樣基於註冊器(register-based)的虛擬機。IELE將支持無限數量的註冊器,並支持無界整數。IELE避免了使用無界堆棧,因此也無需擔心堆棧或算術溢出,這顯著地簡化了智能合約的定義和驗證。和以太坊類似,IELE也使用瓦斯表示資源使用,並防止出現DoS攻擊。這避免了在形式化驗證中出現一些被研究團隊認爲是“棘手但可控”的挑戰性問題。IELE使用K框架簡化了驗證智能合約匹配規範的自動化工具的開發,這使得IELE支持使用任何在K框架中具有形式化語義的編程語言編寫智能合約。

Simon就是其中的一種編程語言。Simon是在Cardano的願景論文提出的一種高度約束、特定於領域的交易語言,它給出了一組準確定義的基本金融交易原語。這些原語可組合創建更復雜並可驗證的合約。關於Simon的介紹性內容不多,但是據稱Simon是受到Simon Peyton Jones及其研究同事撰寫的“Composing contracts: an adventure in financial engineering”一文的啓發。

Simon Peyton Jones是Haskell的主要設計者之一。Haskell是一種靜態類型的完全函數化語言,通常用於實現一些存在運行時軟件缺陷代價很高問題的應用,並已用於實現Ouroboros。Haskell的設計天然適用於實現可在軟件開發過程的早期發現並消除軟件缺陷的自動驗證工具。ACM Fellow及Haskell的另一位設計者Phil Wadler也出任了IOHK的編程語言的指導專家。因此很自然,Cardano的主要高層通用智能合約語言Plutus中集成了Haskell的大量底層機制。

Plutus是以一種靜態類型的函數式編程語言,它具有類似於Haskell的人類可讀語法。和Haskell一樣,Plutus也將轉譯爲一種更簡單的語言Plutus Core,簡化了形式化驗證。形式化驗證工具有助於開發人員推理合約,並驗證智能合約行爲的特定屬性。這些驗證工作是一些強大的工具,可用於標出並消除一些存在於合約中的漏洞,其中包括非法輸入處理、類型不匹配、不明顯的非預期代碼路徑、對作用範圍的模糊認識、輸入錯誤、溢出等。例如,如果能夠證明沒有可以更改契約所有者的代碼路徑,就可以防止導致奇偶性multisig錢包同時被利用(https://paritytech.io/blog/security-is-a-process-a-postmortem-on-the-parity-multi-sig-library-self-destruct.html)的漏洞。現在回頭看來,顯然該特定屬性是有必要的。因此,一些重要的屬性完全有可能並未包括在正式規範之中,只有在被一些漏洞利用後才發現其重要性。因此,雖然形式化驗證是一種非常強大的工具,但它的有效性僅取決於人類在創建規範時覆蓋所有基礎的能力。

Cardano有計劃支持包括Solidity在內的更多高層語言。但是,它只支持“將Solidity用於低保證性的應用,而將Plutus用於需要形式化驗證的高保證性應用”。雖然很難想象會有智能合約編寫者考慮使用低保證性應用,但是Cardano提供對Solhere的支持,這使得以太坊開發人員和一些已有的合約更易於遷移到Cardano。然而,促使開發人員和合約遷移到Cardano的主要原因並非在於其對Solidity的支持,而是在於Cardano減少了將資金置於於風險中的漏洞。如果經實踐驗證,IELE、Plutus及其支持驗證工具開發的智能合約可避免出現那些困擾Solidity代碼的漏洞類型,那麼對於那些需要使用智能合約對所控資金獲取更好安全性的情況(應該說所有的智能合約均是如此),Cardano無疑是首選平臺。

學習資源: Cardano官方文檔

23. Tezos

優點:

  • 便於實現鏈上代碼的形式化驗證。

智能合約語言: Michelson
現狀: 活躍
說明:

Tezos計劃通過一種稱爲“Michelson”的新智能合約語言實現極大地提升安全性。Michelson在設計上聚焦於簡化對鏈代碼的形式驗證。不同於Solidity,Michelson不編譯生成任何輸出。它是一種底層的、基於堆棧的、圖靈完備的編程語言,由Tezos虛擬機直接解釋執行。因此從技術上看,Michelson比Solidity更適合於EVM字節碼。Michelson中還包括了一些高級結構,例如Map、集合、Lambdas表達式、加密原語,以及一些專用於合約的操作,這使得開發人員更易於閱讀和編寫。Michelson是一種純函數式、強類型和靜態類型檢查的語言,它簡化了構造正確性證明,並消除了多種會破壞Solidity合約的漏洞。

正確性證明並不能給出不會發生任何不良事件的通用證明,而是可以證明程序可滿足特定規範中所列舉的所有斷言。因此,如果由開發人員創建的規範中所包含的斷言指定了僅有授權用戶纔可以更改合約所有者,那麼驗證者將在Parity多簽名錢包部署之前發現其中的漏洞。但是出於效率上的考慮,開發人員需要考慮斷言(回顧前文,這是十分明顯的),並在部署代碼遭受攻擊之前將斷言加入到規範中。

雖然人工分析和推理在預防漏洞上的作用是不可替代的,但形式驗證也可以作爲一種強大的補充工具。形式驗證適用於那些漏洞可能會帶來災難性後果的情況,例如,控制大量資產的飛機軟件和智能合約。以太坊社區也認識到了這一點,並且開展了多個項目去研究智能合約的形式驗證和以太坊虛擬機本身。以太坊社區也正在研究BambooViper等新的編程語言,這些語言更適合於形式驗證,而且更受限制,可使編譯器而不是黑客發現許多漏洞。由於這些語言也將編譯爲EVM代碼,因此有必要對高層代碼以及其所生成的EVM字節碼(和/或生成字節碼的編譯器)做形式驗證。與以太坊不同,Michelson 直接由Tezos虛擬機解釋,因此只需要對合約代碼做正確性證明。

Tezos區塊鏈啓動後,Michelson將會提供一個編程環境。其中開發人員無需具備專家級能力,就可以開發比Solidity更安全的智能合約。目前,只有少數精通Michelson的編程人員。此外,Michelson作爲一種基於堆棧的新語言,其中還存在一些編程人員並不習慣的功能。因此,Michelson的學習曲線可能會成爲阻礙其被開發人員採納的一個障礙。儘管如此,Michelson爲開發更高層級的、對開發人員更友好的函數式語言提供了基礎,促進了“全棧式”形式驗證的實現。目前,還有一種稱爲“Liquidity”的編程語言正在積極的研發中。該語言提供類似OCaml的語法,並可與Michelson相互轉碼(transpile)。

在以太坊中,正在研究一些補充性的可擴展技術,例如分片支付通道側鏈鏈下計算等。雖然Tezos認識到微支付需要支付渠道等鏈下機制,但在他們看來,要實現大規模鏈上可擴展性的提升,其最佳途徑並非分片等技術,而是在於遞歸SNARK技術。SNARK可爲任意複雜度的交易提供加密證明,並遞歸地爲交易證明塊提供單一的證據,從而使大量交易能夠在廉價硬件上得到快速驗證。據Breitman介紹,這項技術可以完全消除對瓦斯限制的需求,並允許用戶在不到一秒的時間內完成整個區塊鏈的同步,從而無需考慮中心化和吞吐量間的權衡。採納SNARK的兩個主要障礙是產生遞歸證明的計算成本和對可信設置的要求。但是最新的進展表明,這種大規模擴展的方法可能很快就會投入實用。

學習資源: Tezos Michelson的文檔Tezos的Medium博客

24. DFINITY

智能合約語言: Solidity
現狀: 不活躍
說明:

DFINITY標榜自己是以太坊的“瘋狂姐妹”,以比喻二者在基因上的相近性。但是DFINITY更專注於性能,並使用了基於神經元運作的治理模式。

DFINITY的理念認爲,一些合約和去中心化應用可能更適合於採用由算法治理的平臺,而非以太坊這樣的“代碼就是法律”類型的平臺。DFINITY項目當前處於原型系統與可用於生產環境這兩者之間的狀態。在編寫DFINITY項目時,尚不存在支持部署智能合約的公有鏈。

區塊鏈神經系統(BNS,Blockchain Nervous System)和高性能與可擴展性是DFINITY的兩大賣點。但是用戶要理解DFINITY智能合約,必須首先理解“鏈上治理”(on-chain governance)機制。

圖片

使用DFINITY的鏈上治理機制,無需對網絡做硬分叉(Hard Fork),即可實現升級協議等功能。這在某種程度上類似於Tezos的理念,但是DFINITY使用的是EVM和Solidity。因此,任何可在以太坊上部署的協議,也可部署在DFINITY上。

那些在“神經元”上“下注”自己代幣的用戶,將會根據投票的份額獲得到相應的投票能力。BNS表示了網絡中的所有神經元。任何人可以向網絡提交提案(Proposal),而投注了代幣的用戶可以對提案進行投票。提案可以是:

  • 凍結智能合約/去中心化應用:網絡可能會凍結一些用於違法行爲的去中心化應用。
  • 可撤回交易:一旦在智能合約中出現軟件缺陷,會導致上百萬美元失竊或損失(例如衆所周知的DAO和Parity事故),網絡可以通過投票返還損失的資金,無需對網絡做硬分叉。
  • 編輯智能合約代碼:假定一個DApp已發佈到網絡上,並被上百萬用戶的使用。一旦在應用中發現軟件缺陷,如果是在以太坊網絡上,那麼人們對於修復該DApp束手無策,唯一的做法是取出代碼並做修復,然後發佈全新的智能合約。但是在DFINITY中,人們可以通過向網絡提交提案,並在得到社區投票通過後對軟件缺陷進行修復。要在以太坊上實現同樣的智能合約修復,硬分叉是唯一的手段。
  • 升級協議:假定比特幣採納了其後提出的各種代幣的全部特性。如果比特幣只是要爲私有交易、智能合約等添加一些新功能,那麼是否完全沒有必要爲Zcash(大零幣)、以太坊等創建新的代幣。這是DFINITY潛在的強大之處。BNS可以在不需要硬分叉的情況下實現協議升級,而比特幣則無法做到這一點。原因主要歸結爲兩個方面。第一,人們無法就哪些特性應該添加到比特幣中達成協議;第二,添加上述新協議特性只能通過硬分叉實現。而DFINITY解決了上述問題。

學習資源: DFINITY官方文檔Dominic Williams的Medium博客

25. BOSCoin

智能合約語言: Web本體語言
現狀: 不活躍
說明:

不同於前文提及的大多數智能合約,BOSCoin的受信合約爲實現可判斷特性,在設計上使用了Web本體語言(OWL,Ontology Web Language),並採用了自動機理論。下面詳細介紹其中的各個組件,以及組件間的相互作用機制。

OWL

OWL即Web本體語言,它是基於W3C(萬維網聯盟,World Wide Web Consortium)的語義Web語言提出的。OWL組件在BOS平臺受信合約中用於解釋智能合約中的語言結構,包括編碼和句子字符串等。

W3C是一個爲支持萬維網長期發展而提出Web數據開放標準的國際組織。OWL的職責之一就是創建了用於表示事物及事物間豐富而複雜關係的OWL語言。

OWL具有五個主要組件:

  • 關聯數據:表示了數據庫用於理解語言的屬性,即日期、標題、編號和特性等。
  • 詞彙表:將語言分解爲基礎定義,即概念和關係。
  • 查詢:用於從數據庫檢索信息的工具。
  • 推理:用於處理並解釋所收集數據的推理器,即通過規則,或合併來自多個數據源的各種數據。
  • 垂直應用:這是指W3C的業務風險部門。它通過與各個行業的合作,改進研發及協作。其具體內容與本文無關。

BOS平臺將通過W3C的語義Web使用OWL。本體是形式化的術語詞彙表,它定義了描述自身與本體中其它術語之間的關係。OWL是應用用於處理信息的工具(相比起人工處理),支持系統解釋詞彙表的含義。其中,信息可以是標準的文本句子或代碼。使用OWL的優點在於可以從OWL存儲庫所包含的衆多本體中提供信息。

時間自動機語言(TAL,Timed Automata Language)

BOS平臺受信合約上的智能合約需要驗證,這是由TAL擔當BOS平臺的驗證代理實現的。TAL源自於有限狀態自動機理論,並在功能中添加了時間上的考慮。因此,我們最好首先了解自動機理論。幸運的是,對此有多種出版物。其中,斯坦福大學給出瞭如下的很好描述:

“(自動機)是一種執行特定處理的自動化過程……自動機理論針對被稱爲“自動機”的單機中的計算邏輯。計算機科學家通過自動機理論理解機器的計算功能,並解決問題。更重要的是,自動機理論提出了哪些功能可定義爲可計算的,哪些問題可定義爲可判定的。”——斯坦福大學教程

如上所述,有限狀態自動機是自動機理論的擴展。有限狀態自動機是一種建模有限數據邏輯的工具,用於理解自動機最終的生成狀態。下面給出一個實際例子。該例子建模了一個自動推拉門,其中左圖表示了門,右圖表示了狀態。

圖片
滑動門示意圖。來自於Miachael Sipser所著的《計算理論導引(2006年版)》(“Introduction to Computer Theory”)一書。

圖片
滑動門的狀態圖。來自於Miachael Sipser所著的《計算理論導引(2006年版)》(“Introduction to Computer Theory”)一書。

在上例模型中,圓圈表示狀態,箭頭表示狀態轉移。圖中最左邊的箭頭表示開始狀態。系統(即本例中的滑動門)的狀態有兩種,開門(OPEN)和關門(CLOSED)。對於本例而言,輸出情況如下表所列:
圖片
滑動門狀態表

如果系統經歷瞭如下事件序列:“FRONT,REAR,NEITHER,FRONT,BOTH,NEITHER,REAR,NEITHER”,那麼狀態轉移如下圖所示:

圖片
滑動門的狀態轉移

時間自動機(TA,Timed Automata)將時間引入了自動機的輸入。檯燈的狀態就是一個使用系統時鐘的很好示例。如果在一定時間內按下開關,檯燈將會變暗,而不僅僅是打開或關閉。檯燈的狀態圖如下所示:

圖片
調節檯燈狀態圖。例子來自於澳大利亞新南威爾士大學Ansgar Fehnker的COMP4151課程第11a講“算法驗證”。

上面給出的調節檯燈狀態圖中,存在三種狀態,即Off、Dimmed和Bright。狀態轉換是由按鈕開關啓動的。如果處於“Off”狀態,那麼再次按下開關,檯燈狀態更改爲“Dimmed”。如果在系統內部時鐘的一個時間度量間隔(例如,一秒)內按下開關,檯燈狀態變爲“Bright”。如果檯燈處於“Bright”狀態,或是在上次按下開關後一個時間度量間隔內再次按下開關,那麼檯燈狀態將變爲“Off”。

將區塊鏈、OWL和TAL組合在一起

OWL、TAL組合構成了受信合約的基礎。當前智能合約是編碼實現的,OWL組件將解釋代碼字符串的結構,而TAL將建模並確認智能合約的整體邏輯。進而,區塊鏈存儲了OWL和TAL的來源。

由此,我們可以在受信合約驗證和執行之前,確保合約是可判斷的,進而確保了系統的整體性。

學習資源: BOScoin

26. Agoras Tauchain

現狀: 不活躍。
說明:
要了解Agoras,首先需要介紹Tau鏈的原理。Tau鏈生態系統概括了很多中心化和去中心化對等網絡,其中包括一些區塊鏈企業。Tau鏈具有多種不同的用例,從軟件開發到遊戲,乃至去中心化存儲。Agoras是一種運行在Tau鏈上的應用,它提供一種聚焦於點對點合約的智能貨幣。

Agoras聚焦於點對點智能合約,是一種值得企業考慮的解決方案。企業通常希望能保持私密性,考慮包括私密性交易的智能合約足以實現這一目標。Agoras希望首要關注的是有意義的智能合約,這些協議將始終遵循設定的設置和要求,對任何一方都不存在任何意外。

學習資源: Agoras blog

27. Burst

優點:

  • 圖靈完備的智能合約。

不足:

  • 智能合約交易費用高。

智能合約實現: Automated Technologies (C/C++)
現狀: 活躍。
說明:
Burst是首個在現實環境中以自動化交易(AT,Automated Transaction)形式實現工作機制、圖靈完備智能合約的加密貨幣。下圖給出了從創建合約到最終狀態更改的流程。

圖片
Burst智能合約的生命週期

由於一些問題的存在。Burst不能跟上其它平臺的發展。在2018年4月4日發表的一次訪談中指出:

使用Burst AT的主要問題在於,礦工運行每個操作代碼(即一行代碼)都需要一個爆裂幣(BRUST)。這使得即便運行從智能合約本身返回一個BRUST這樣非常簡單的合約,也需要花費大約二十個BRUST。如果合約的運行成本能降低到每個操作碼需0.001個BRUST,那麼在引入編譯器等技術後,該平臺纔可以與以太坊等其它平臺一爭高下。

學習資源: BurstAT的wiki頁面Burstcoin_dev的Medium博客

28. iOlite

優點:

  • 使用FAE(快速適用引擎,Fast Adaptation Engine)。FAE可以將自然語言或其它所需編程語言轉譯爲智能合約代碼,進而擴展了智能合約的使用人羣。

現狀: 活躍。
說明:

iOlite是一種聚焦於讓智能合約技術爲更廣泛大衆採納的產品,它提供了一種可實現理解自然語言並將其編譯爲智能合約代碼的引擎。對於那些不希望花費時間去學習而希望能快速啓動智能合約應用的用戶而言,iOlite是一種理想的解決方案。

圖片
iOlite的用例

iOlite是基於斯坦福大學的一項研究發展而來。這項研究提出的FAE技術適用於將自然語言及其它一些所需編程語言轉譯爲智能合約代碼。FAE並非直接將輸入語言轉譯爲代碼,而是取決於貢獻者(即一些智能合約的專家)是否定義了一些包含語言表達式的結構。進一步,這些結構將用於所編寫的智能合約代碼中。這使得引擎可以瀏覽這些結構,找出可編譯爲所需智能合約的正確表達式。一旦某個結構得以使用,貢獻者將得到相應的iOlite代幣作爲獎勵。

可以看到,iOlite FAE的成功依賴於社區的貢獻。FAE通過使用機器學習技術幫助簡化新結構的學習和採納。

iOlite實驗室當前正聚焦於最爲廣泛使用的Solidity以太坊智能合約。

iOlite團隊的Travis Byrne介紹了哪些語言可用於創建智能合約。“這不僅意味着Python、C、JavaScript等正則語言的編程人員可立即使用自身現有的技能編寫智能合約,而且意味着即便是沒有編程技能的普通人,也可以使用英語等自然語言上手開發智能合約。iOlite正在拓展創建智能合約的技術學習疆界”。

學習資源: iOlite官方指南iOlite的Medium博客

iOlite Reddit | iOlite Github | iOlite Telegram

29. ByteBall

智能合約語言: 聲明式語言。
現狀: 活躍
說明:

一般來說,DAG具有更高的通量,更好的可擴展性,但是實現此需要付出一些代價。由於鏈的類樹形結構,Byteball等DAG平臺不能像以太坊那樣很好地支持智能合約。

圖片
圖片來自於DAG區塊鏈白皮書。

Byteball的DAG結構

對於以太坊等區塊鏈,鏈的結構是線性的,開發人員可以定義交易的順序。但是DAG並未過多考慮順序問題,只是關注交易是否有效,是否會產生衝突。因此,DAG適用於哪些並不涉及交易順序問題的交易。

Byteball與其它DAG的不同之處在於,它實現了Oracle去解決交易順序問題。Oracle的作用是追蹤所有交易的執行,維護網絡中所有交易的全局順序。這樣通過使用Oracle,可以實現需要準確交易執行順序的智能合約。

此外,用戶無需具備開發人員技能才能理解或編寫合約,也無需開發人員說是什麼就信什麼。每個用戶都可以理解合約的意思,正如正式法律合約一樣。

下圖顯示了Byteball中智能合約的形式:

圖片
構建一個Byteball智能合約

這使得Byteball智能合約潛在具有更廣泛的前景,可跨越開發人員社區,讓更廣泛的大衆使用。

學習資源: Byteball白皮書Byteball的Medium博客

Byteball Reddit | Byteball Github | Byteball Telegram

本篇小結

智能合約是以數字形式定義的承諾,控制數字資產並涵蓋合約參與者約定的權利和義務。它由計算機系統自動執行。在基於區塊鏈的智能合約中,數據管理、事務驗證和狀態處理都是在區塊鏈上完成的,區塊鏈提供完備的狀態機接受和處理各種智能合約程序。該系列文章將列舉四十種支持或是用於開發智能合約的平臺或項目,並介紹影響智能合約功能的主要因素。本篇是該系列文章的第三篇。在下一篇中,我們繼續給出餘下的11種支持平臺,其中包括著名的XTRABYTES、Universa、ETC等。

作者簡介Vaibhav Saini是一家由MIT Cambridge 創新中心孵化的初創企業TowardsBlockchain的聯合創始人。Saini也是一名高級區塊鏈開發人員,具有Ethereum、Quorum、EOS、Nano、Hashgraph、IOTA等多種區塊鏈平臺的開發經驗。他目前是德里印度理工學院(IIT Delhi)的一名大二學生。

查看英文原文: ContractPedia: An Encyclopedia of 40 Smart Contract Platforms A Complete List of all Smart Contract supportive Platforms

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章