智慧合約的真相(上)
李麗詩頻道/張詠晴編譯
2018-09-13 10:40

和「區塊鏈」一樣,「AI」、「雲端」和「智慧合約」這些概念,都正在被大肆炒作中。

 

然而,智慧合約到底是什麼呢?它是以太坊專屬的嗎?它會是未來的必然趨勢嗎?本文將針對智慧合約究竟是什麼,以及它將有哪些應用場景,逐一做說明。

 

一般來說,智慧合約必須具備以下三種功能:

 

1.自動地、無需信任地、公正地強制執行合約內容

2.在合約的簽訂、執行和履行過程中,去除對第三方的依賴

3.(據說可以)替代律師

 

智慧合約是什麼?

 

一般的合約,是兩個(兩個以上)當事人之間的協議,協議內容將會約束他們即將進行的某件事。

 

例如,Alice可以付錢給Bob,以換取Bob房子的使用權(也就是租金)。Denise可能每月要付錢給Charlie,讓Charlie幫忙修理汽車(又名汽車保險)。

 

智慧合約的不同之處在於,它是由電腦代碼來評估和執行的。如果Alice同意付給Bob500美元,而Bob也承諾在3個月後交付一張沙發。代碼會確定彼此是否符合交易條件(Alice支付500美元給Bob了嗎?)並執行(從託管到交付沙發),過程中不允許任何一方退出合約或拒絕履行合約。

 

智慧合約的關鍵點是,它可以實現「可信執行」(trustless execution)。也就是說,不需要依賴任何第三方來進行信任背書。因為,與其等著第三方履行諾言,或者依靠律師和法律制度補救,還不如讓智慧合約來。智慧合約可以即時、客觀地,去執行記錄在合約中的所有條款。

 

智慧合約其實挺「笨」的

 

「智慧」一詞,意味著合約具有某種與生俱來的智慧。實際上,真正執行的時候,智慧合約並沒有那麼聰明。合約的智慧之處在於,只需要寫入算法,然後強制雙方履行協議,不需要協議雙方的合作。舉例來說,房東會把不付錢的租客趕出去,而智慧合約會直接把他們鎖在門外。

 

一個真正「智慧」的智慧合約,會考慮到所有「情有可原」的情況,並審視合約精神,作出最公平的裁決。

 

換句話說,真正的智慧合約會表現得像一個優秀的法官。而現實情況是,「智慧合約」根本就不智慧,因為它是奠基於規則,並始終遵循規則的,完全不會考慮現實情況或人道主義。

 

換句話說,一旦使用智慧合約,就不允許有任何模稜兩可的空間,這也就牽引出了下一個問題。

 

智慧合約真的很難實現

 

由於以太坊的影響力太大,讓人們以為智慧合約是以太坊獨有的,事實上這是不對的。

 

智慧合約從1995年就出現了。2009年比特幣出現時,也採用了智慧合約語言_腳本。

 

拿比特幣的智慧合約語言和以太坊的相比,最大的區別是以太坊是圖靈完備(Turing-complete)的。也就是說Solidity(以太坊智慧合約語言)可以執行更加複雜的合約,代價是它也更難分析。

 

複雜性帶來了一些嚴重後果。雖然複雜的合約可以允許更複雜的情況出現,但複雜的合約也很難維護。

 

在日常生活中,也會出現合約越複雜,就越難強制執行的現象。因為複雜因素增加了不確定的因素和解釋空間。如果要保障智慧合約的絕對安全,就要對合約執行中每一種可能進行測試,並確保合約能夠完全實現起草者本人的意願。

 

2

 

一份保障了圖靈完備的智慧合約,就相當於證明了電腦程式沒有錯誤。我們知道這是非常困難的,因為現在幾乎所有的電腦程式都不是完美的。

 

下篇連結:

智慧合約的真相(中)

智慧合約的真相(下)

  

本文為巴比特資訊授權刊登,原文標題為「智慧合約的真相