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

weixin_33807284發表於2019-01-21

摘要: 智慧合約是以數字形式定義的承諾,控制數字資產並涵蓋合約參與者約定的權利和義務。它由計算機系統自動執行。在基於區塊鏈的智慧合約中,資料管理、事務驗證和狀態處理都是在區塊鏈上完成的,區塊鏈提供完備的狀態機接受和處理各種智慧合約程式。我們在此係統列舉四十種支援或是用於開發智慧合約的平臺或專案,並介紹影響智慧合約功能的主要因素。本文是該系列文章的第三篇,我們繼續給出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

相關文章