區塊鏈(BlockChain)智能合約

        接下來的的一些文章從應用層智能合約方面給大家做一下簡單的介紹。

1.什麼是智能合約。

        智能合約(Smart contract)本質是能跑在區塊鏈上的代碼,是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。一個智能合約是一套以數字形式定義的承諾(promises),包括合約參與方可以在上面執行這些承諾的協議。數字形式意味着合約不得不寫入計算機可讀的代碼中。這是必須的,因爲只要參與方達成協定,智能合約建立的權利和義務,是由一臺計算機或者計算機網絡執行的。
具體過程:達成協議 -> 合約執行 -> 計算機可讀的代碼
        協議是技術實現,在這個基礎上,合約承諾被實現,或者合約承諾實現被記錄下來。選擇哪個協議取決於許多因素,最重要的因素是在合約履行期間,被交易資產的本質。

2.智能合約語言

         我們主要介紹基於以太坊的智能合約,智能合約的編寫語言在區塊鏈技術的發展中主要出現了4種。

(1)Mutan
Mutan是個靜態類型語言,由Jeffrey Wilcke 開發設計的C類語言。目前已經不再維護。

(2)Lisp Like Language(LLL)
Lisp Like Language 是與 Assembly 類似的低級語言,它是直接對以太坊虛擬機的包裝,不夠靈活、智能。

(3)Serpent
Serpent 是與 Python 類似的腳本語言,可以用於開發合約編譯成以太坊虛擬機字節碼。它將低級語言在效率方面的優點和編程風格的操作簡單相結合,同時合約編程增加了獨特的領域特定功能。Serpent 使用 LLL 編譯成字節碼。

(4)Solidity
Solidity 是與 JavaScript 相似的語言,可以用它來開發合約並編譯成以太坊虛擬機字節碼。Solidity 目前是以太坊最受歡迎的智能合約開發語言。

我們使用 Solidity 作爲智能合約的開發語言來講解。

 

 

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