智能合約與現實世界的合約完全沒有關系。作為存儲在
區塊鏈上的計算機程序,智能合約可以在區塊鏈上執行。
智能合約是用編程語言編寫的,如Ethereum區塊鏈中的Solidity或Serpent,以及Hyperledger Fabric區塊鏈中的Go或Java。智能合約通過EVM(
以太坊虛擬機)在以太坊區塊鏈上執行。在Hyperledger區塊鏈上,鏈碼在Docker容器中執行。
智能合約的概念是作為以太坊區塊鏈的一部分引入的(以太坊被認為是第二代
加密貨幣)。將EVM添加到以太坊區塊鏈平臺,并通過使計算機程序能夠在區塊鏈上存儲和運行,區塊鏈的功能和用例可以被擴充。
比特幣區塊鏈(被認為是第一代加密貨幣)沒有智能合約的概念,即在比特幣區塊鏈上,無法創建智能合約。
實際上,智能合約是位于以太坊區塊鏈上的字節代碼,即用Solidity編程語言編寫的智能合約程序,由Solidity編譯器編譯成字節代碼,并且該字節代碼存儲在以太坊區塊鏈中。智能合約在以太坊區塊鏈上運行,并由EVM(以太坊虛擬機)在以太坊區塊鏈的每個節點執行。
相比之下,Hyperledger Fabric Chaincode程序在設計上與區塊鏈保持絕緣。Chaincode程序是用Go或Java編寫的,并且在每個節點上運行的獨立Docker容器中執行,而不是在區塊鏈上執行。Hyperledger Fabric的模塊化架構因此得以實現,從而使得共識算法具有即插即用功能。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。