「智能合約」是如何解決現實中的信任危機的?

又到了知幣“星期三課堂”的時間了!上一堂課,我們從中本聰用“比特幣協議”這個終極方案,講述了其解決困擾計算機科學家們數十年的難題——拜占庭將軍問題。主要是區塊鏈經常提及的“共識”的實現。

“智能合約”是如何解決現實中的信任危機的?

什麼是智能合約?

今天,我們講一講區塊鏈經常提到的另外一個詞——“智能合約”。

官方定義

智能合約(Smart contract),是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。

智能合約概念於1994年由Nick Szabo首次提出,其在發表於網站的幾篇文章中提到了智能合約的理念,即“一個智能合約是一套以數字形式定義的承諾(promises),包括合約參與方可以在上面執行這些承諾的協議。”

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

舉個例子:

或許,大家都有經歷過這樣或者那樣的糾紛,這些糾紛即便是在有合約的情況下,執行起來依然需要耗費大量的社會資源。

比如說,甲、乙兩家公司達成合作簽訂合同,後來,甲方違反合同約定,導致乙方損失慘重。而乙方想要挽回損失或得到賠償,協商無果最終只能向法院提起訴訟,請求法院進行裁定。但是,就算乙方贏得了官司,判決書生效後,甲方仍然不執行,最後乙方還得向法院申請強制執行。

“智能合約”是如何解決現實中的信任危機的?

論合同的效力


在這一系列的過程中,舉證、立案、聘請律師、開庭……整個流程下來,既耗時,又費精力,特別是對於受害的乙方,到最後直接是“累覺不愛”的狀態。

而智能合約,就是一段寫在區塊鏈上的代碼,通過計算機的預先制定,能讓這一切變得無比簡單。並且,不涉及人類主觀想法,一切皆代碼。

按照前述案例,甲、乙兩家公司達成合作,可以將制定好的條款以代碼的形式放到區塊鏈中。當甲方出現違規,觸發合約條款時,智能合約將直接按照條款約定自動執行,以有效規避因甲方違約而對乙方造成的侵害。

智能合約的工作原理

智能合約由構建、存儲、執行三個步驟組成。

首先,智能合約由區塊鏈內的多個用戶共同參與制定,可用於用戶之間的任何交易行為。協議中明確了雙方的權利和義務,開發人員將這些權利和義務以電子化的方式進行編程,代碼中包含會觸發合約自動執行的條件。再比如說,甲把一套閒置的房子租給乙,這份智能合約中規定乙方必須在每月10號前給甲方支付房租,甲方必須在收到房租時馬上給乙方鑰匙。

因此,一旦按約定完成編碼,這份智能合約就被上傳到區塊鏈上。此時,全網驗證節點都會接收到甲和乙的租房約定。

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

觸發事件後,區塊鏈上的驗證節點對該事件進行簽名驗證,以確保其有效性;等大多數驗證節點對該事件達成共識後,智能合約將成功執行,並通知甲乙雙方。

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

“智能合約”是如何解決現實中的信任危機的?


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

當然,既然執行合約要消費ETH,那麼如何支付消耗的費用呢?其實,這跟充值消費是一個道理,你先進行ETH充值,系統會自動執行消耗。當預充的ETH不足以支撐整個執行過程,合約會回到初始狀態,即便是執行到一半,也是如此。因此,在合約執行前,可以先判斷ETH的消耗量,或預充足夠的ETH,以確保合約的順利執行。

智能合約的用途

在區塊鏈的世界裡,所有參與者共同維護一個區塊鏈賬本,所有交易數據無法篡改、不可偽造,還能減少人工對賬的出錯概率和人力成本;隨著智能合約的普及,面對潛在的糾紛,一切交給代碼“裁決”。

最後舉一個例子。就拿買房來說吧!我們買房需要做的每一步事情,都可以在智能合約完成。

由於智能合約是建立在區塊鏈的基礎上,所以出售房屋方完全可以將所有信息傳遞到區塊鏈上的智能合約中,包括房屋價格,所屬人,產權確認等一系列所需資料。這些都是完全透明的。

“智能合約”是如何解決現實中的信任危機的?


假設你要購買房子需要100萬元,購房者將對應的加密貨幣發送到合約地址,這個智能合約就會執行。其間不需要一個律師或者其他第三方驗證,因為信息都在區塊鏈上存儲著,交易成功之後區塊鏈上的信息會自動更新。並且區塊鏈上的每個節點都會進行更新總賬單,這樣一來,區塊鏈上的每個人都知道這套房子現在是屬於你的財產了。

此外,智能合約還可以允許多人綁定同一財產。比如你想買房子,由於之前你們是3人設立的智能合約,因此單單一人是無法購買的。唯有你們3人同時進行簽名同意,系統才能夠通過這筆交易。這種方式能夠更好的確保財產的安全性。

智能合約的價值在於,降低了交易成本,更高效且確保安全的前提下進行交易。將之前麻煩的程序統統交給代碼進行處理,而且代碼的犯錯概率要遠小於人為。


分享到:


相關文章: