當前位置:首頁 > 知識 >

智能合約是什麼?

智能合約"(smart contract)這個術語至少可以追溯到1995年,是由多產的跨領域法律學者尼克·薩博(Nick Szabo)提出來的。他在發表在自己的網站的幾篇文章中提到了智能合約的理念。他的定義如下:

"一個智能合約是一套以數字形式定義的承諾(promises),包括合約參與方可以在上麵執行這些承諾的協議。"

讓我們更加詳細地探討他的定義的意思。

承諾

一套承諾指的是合約參與方同意的(經常是相互的)權利和義務。這些承諾定義了合約的本質和目的。以一個銷售合約為典型例子。賣家承諾發送貨物,買家承諾支付合理的貨款。

數字形式

數字形式意味著合約不得不寫入計算機可讀的代碼中。這是必須的,因為隻要參與方達成協定,智能合約建立的權利和義務,是由一台計算機或者計算機網絡執行的。

更進一步地說明:

(1)達成協定

智能合約的參與方什麼時候達成協定呢?答案取決於特定的智能合約實施。一般而言,當參與方通過在合約宿主平台上安裝合約,致力於合約的執行時,合約就被發現了。

(2)合約執行

"執行"的真正意思也依賴於實施。一般而言,執行意味著通過技術手段積極實施。

(3)計算機可讀的代碼

另外,合約需要的特定"數字形式"非常依賴於參與方同意使用的協議。

協議

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

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

猜你喜歡

微信二維碼

微信二維碼