標籤:

智能合約是怎樣運作的?三分鐘讀懂智能合約

《老友記》中的智能合約

當今社會,執行合約需要耗費大量社會資源。比方說,A、B兩家公司簽訂合同,後來A違反合同條約,導致B損失重大。B想要拿回屬於自己的東西,於是向法院起訴。就算B打官司贏了,判決書生效後,他還需要向法院申請強制執行,包括立案,提供財產線索……整個流程下來,每個參與人都很憔悴,尤其是本來就是受害方的B。

而智能合約能讓這一切變得簡單很多。智能合約和上述傳統合約的區別,就在於「智能」,不涉及人類主觀想法,一切皆代碼。

智能合約,就是一段寫在區塊鏈[1]上的代碼,一旦某個事件觸發合約中的條款,代碼即自動執行。也就是說,滿足條件就執行,管他願不願意。

在《老友記》中有一集,瑞秋、莫妮卡和錢徳、喬伊打賭,如果男人們能猜中購物袋裡裝著什麼,就給他們100美元。後來他們猜中了,但瑞秋和莫妮卡卻賴賬。不管錢徳怎樣去討要,女人們就是不給。

這種情況下,錢徳和喬伊不可能去搶女生的錢包拿這100美元,只好認了。但如果有了智能合約,一旦男生們猜中,不管瑞秋和莫妮卡怎樣耍賴,智能合約代碼將自動執行,並把這100美元(真實的情況是數字貨幣)打到男生們的賬戶。

如果說朋友之間的約定不需較真,那麼放大到借5萬塊給親戚、和房東簽租1年、購買重大疾病險等與你切身利益相關的場景中呢?

智能合約的工作原理:

前文提到,智能合約是一段寫在區塊鏈上的代碼。就像能做出好吃的蛋炒飯,並不需要親自下蛋一樣,本文不涉及代碼怎麼寫,但可以講講智能合約的工作原理:

構建 → 存儲 → 執行

1)智能合約由區塊鏈內的多個用戶共同參與制定,可用於用戶之間的任何交易行為。協議中明確了雙方的權利和義務,開發人員將這些權利和義務以電子化的方式進行編程,代碼中包含會觸發合約自動執行的條件。比方說,你把一套閑置的房子租給A,那麼,這份智能租約中就規定了A必須在每月5號之前給你打房租、你必須在收到房租時馬上給對方鑰匙[2]等條款。

2)一旦編碼完成,這份智能合約就被上傳到區塊鏈網路上,即全網驗證節點都會接收到你和A的租房合約。

3)智能合約會定期檢查是否存在相關事件和觸發條件;滿足條件的事件將會推送到待驗證的隊列中。假設A在4號提前打房租給你,這個事件就成了該合約的觸發條件(每月5號以前)。

4)區塊鏈上的驗證節點先對該事件進行簽名驗證[3],以確保其有效性;等大多數驗證節點對該事件達成共識後,智能合約將成功執行,並通知用戶。

5)成功執行的合約將移出區塊。而未執行的合約則繼續等待下一輪處理,直至成功執行。

部署到以太坊上的智能合約是要消耗以太幣的。就好像把現實中的仲裁人、法官、執行人搬到了區塊鏈上,儘管他們成了一行行的代碼,但也是珍貴的計算機資源。智能合約也遵循「Less is more」,邏輯應儘可能地簡單。邏輯越複雜,消耗的以太幣就越多。

根據區塊鏈大神的說法,以太坊給常用的代碼邏輯都規定了具體的價格。就好比你去買車,低配多少錢、高配多少錢,安裝最先進的導航系統又多少錢,4S店已經規定好。

既然執行要消費以太幣,如何支付呢?這跟淘寶的直通車類似,商家提前存幾千塊進去,系統會自動執行(匹配推廣),費用一旦用完,推廣立即停下。智能合約也是預支付,為了合約順利執行,寧願提前多打一點以太幣,都不要少給了。智能合約比淘寶推廣還狠,如果預支付的以太幣不足以支撐整個執行過程,就算進行到半路,合約也會回到初始狀態;更鬱悶的是,消耗的以太幣也不會退回給合約發起人。

智能合約有什麼用?

在區塊鏈社會裡,大家共同維護一個區塊鏈賬本,所有交易數據無法篡改、不可偽造,還能減少人工對賬的出錯概率和人力成本;隨著智能合約普及,我們也會變得更加佛系。面對潛在的糾紛,無需自己出馬,一切代碼說了算。

乘飛機買延誤險,理賠就變得簡單多了。投保乘客信息、航班延誤險和航班實時動態均以智能合約的形式存儲在區塊鏈上。一旦航班延符合賠付標準,賠償款將自動劃賬到投保乘客賬戶,保單處理十分高效,你也不需要跟工作人員費口舌、爭論計賠時間等問題。

假設你借了一大筆錢給親戚,雖然打了白紙黑字的借條,但催款的時候,如果對方有一種堅持不要臉的精神,而你也沒有撕破臉、或者把對方告上法庭的勇氣,你就拿不回本屬於自己的錢。智能合約也許是解決辦法之一,當然前提是雙方把借款金額、還款時間、對方綁定銀行卡信息等打包進合約中。到了約定還款日,借款自動划到你的賬戶里。

通過智能合約,真的就能拿回欠款嗎?畢竟智能合約只在金融領域等方面開始有動作,還沒有廣泛融入普通大眾的生活。

這個烏托邦的設想,值得等待。

編者註:

[1]以太坊是資歷最老的智能合約系統,近年還出現其他智能合約平台,比如針對金融機構的Symbiont。

[2]在區塊鏈上,智能合約發送給A的鑰匙是秘鑰。可以簡單理解為秘鑰房卡,就像酒店的房卡,房卡「嗶」一下,才能開門。到了退房/房租到期的時候,房卡自動失效。

[3]如果不清楚簽名驗證,請閱讀區塊鏈觀察網(blockob.com)早期文章《區塊鏈是什麼》。


本文系區塊鏈觀察網原創稿件,版權屬本站所有。歡迎轉載本站內容,但轉載使用時必須註明:原文鏈接、作者及來源。


推薦閱讀:

如何通過以太坊智能合約來進行眾籌(ICO)
教你執行以太坊智能合約或轉賬

TAG:智能合約 |