智慧合約與可程式化

智慧合約

智慧合約是一段存放在區塊鏈上的小程式,每當有人呼叫它,它都會嚴格按照寫好的方式執行。別被名字誤導:它不是法律文件,也沒有律師參與;把它想成一台用程式碼做成的自動販賣機更貼切。自動販賣機內建了規則(「投入這麼多錢,取走那件商品」),並自己執行,不需要店主。智慧合約對數位約定也是如此:它保管著規則和資金,一旦滿足約定條件,就自動放出或轉移它們。它要解決的問題,正是「不得不信任某個中間人會兌現承諾」。

由於合約的程式碼以及它做過的一切記錄都存在區塊鏈上,每個參與者都能事先讀到規則,並核實它是否誠實地執行過。一旦部署,合約通常無法被悄悄改動,所以它會一直做它當初聲明要做的事。人們透過發送交易來呼叫它的功能;網路執行這段程式碼,更新所保存的餘額和資料,並把結果記錄下來供所有人查看。許多合約還能相互呼叫,於是簡單的零件像小程式拼成更大服務那樣,組合成更龐大的系統。

智慧合約的重要之處在於,它讓互不相識的人無需依賴居中的可信權威就能合作。它驅動著借貸池、交易所、數位收藏品、投票,以及按公開規則(而非某家公司的承諾)來託管和支付資金的擔保。代價是:程式碼是最終的權威——如果其中含有錯誤,合約依然會忠實地照著這段有缺陷的邏輯執行,因此謹慎的設計與審查確實至關重要。

一份簡單的擔保合約會扣住買家的付款,只有在買家確認收貨後才把錢放給賣家;如果在約定時間內雙方都沒確認,它就把錢退回。規則是公開的,並且自動執行,所以雙方都不必指望對方會講公道。

大多數智慧合約在部署後無法更改,因此其中的漏洞通常不能像普通軟體那樣直接打補丁修復。

又稱
智能合约智慧合約