天天看點

智能合約

智能合約(英語:Smart contract )是一種旨在以資訊化方式傳播、驗證或執行合同的計算機協定。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。智能合約概念于1995年由Nick Szabo首次提出。

智能合約的目的是提供優于傳統合約的安全方法,并減少與合約相關的其他交易成本。

協定

協定是技術實作(technical implementation),在這個基礎上,合約承諾被實作,或者合約承諾實作被記錄下來。選擇哪個協定取決于許多因素,最重要的因素是在合約履行期間,被交易資産的本質。

再次以銷售合約為例。假設,參與方同意貨款以比特币支付。選擇的協定很明顯将會是比特币協定,在此協定上,智能合約被實施。是以,合約必須要用到的“數字形式”就是比特币腳本語言。比特币腳本語言是一種非圖靈完備的、指令式的、基于棧的程式設計語言,類似于Forth。

安全問題

智能合約是“執行合約條款的計算機交易協定”。區塊鍊上的所有使用者都可以看到基于區塊鍊的智能合約。但是,這會導緻包括安全漏洞在内的所有漏洞都可見,并且可能無法迅速修複。

這樣的攻擊難以迅速解決,例如,2016年6月The DAOEther的漏洞造成損失5000萬美元,而開發者試圖達成共識的解決方案。DAO的程式在黑客删除資金之前有一段時間的延遲。以太坊軟體的一個硬分叉在時限到期之前完成了攻擊者的資金回收工作。

以太坊智能合約中的問題包括合約程式設計Solidity、編譯器錯誤、以太坊虛拟機錯誤、對區塊鍊網絡的攻擊、程式錯誤的不變性以及其他尚無文檔記錄的攻擊。

案例

部署智能合約的案例有:

以太坊在其區塊鍊上實施了一種近乎圖靈完備的語言,這是一個突出的智能合約架構。

RootStock(RSK) 是一個智能合約平台,通過側鍊技術連接配接到比特币區塊鍊。 RSK相容為以太坊創造的智能合約。

智能合約