當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 區(qū)塊鏈的智能合約是一個(gè)容易引起爭(zhēng)議的概念,一次 Vitalik 也說后悔用智能合約(smart contract)這個(gè)名字了,不如當(dāng)初叫 “persistent scripts”,大約是為這個(gè)概

區(qū)塊鏈的智能合約是一個(gè)容易引起爭(zhēng)議的概念,一次 Vitalik 也說后悔用智能合約(smart contract)這個(gè)名字了,不如當(dāng)初叫 “persistent scripts”,大約是為這個(gè)概念吵累了。有人也問這玩意就一是一段程序腳本,哪里智能了?但如果這樣說,大約現(xiàn)在命名為智能的東西沒有一個(gè)配得上吧,智能手機(jī)大約可以叫做可以自由安裝軟件的手機(jī)?何況英文的 smart 和 intelligent 在中文中都翻譯成智能,這更是容易引起誤解。

所以那次爭(zhēng)論中,也有人建議叫做 “stored procedures”,就是數(shù)據(jù)庫的存儲(chǔ)過程。如果把區(qū)塊鏈看做一個(gè)分布式數(shù)據(jù)庫的話,從技術(shù)實(shí)現(xiàn)上來看,智能合約確實(shí)很像數(shù)據(jù)庫存儲(chǔ)過程。使用一種新的編程語言也不是更本區(qū)別,如果使用更通用的 VM,可以和其他的程序使用完全一樣的編程語言。另外大家常說的確定性(deterministic),實(shí)際上也是圖靈機(jī)本身具備的特性,只要不引入隨機(jī)機(jī)制,也很難寫出不 determinisTIc 的程序。那為什么新造出個(gè)詞匯呢?套用一句俗話,我們?cè)谡務(wù)摗褐悄芎霞s』的時(shí)候,到底指的是什么?

如果從技術(shù)角度看不出太大區(qū)別,那我們?cè)購姆伞汉霞s』的角度看看。按照維基百科的定義:

Contract: A contract is a legally-binding agreement which recognises and governs the rights and duTIes of the parTIes to the agreement.

合約是定義了各方權(quán)利和義務(wù)的,具有法律約束力的協(xié)議。也就是說,合約的表現(xiàn)形式實(shí)際上不重要,可以是文本的,也可以是口頭的,關(guān)鍵是要具有法律約束力。

那我們套用到『智能合約』上,也可以說智能合約的表現(xiàn)形態(tài)也不是關(guān)鍵,關(guān)鍵也在于『約束力』。這里我們給出一個(gè)定義:

智能合約就是定義各方權(quán)利和義務(wù)的,具有『約束力』的計(jì)算機(jī)程序。

那計(jì)算機(jī)程序的『約束力』如何產(chǎn)生?

智能合約的約束力

分析智能合約的約束力之前,我們先來看看法律合約的約束力。法律約束力來自于兩方面,一方面是簽訂合約的參與方有明確的合約的意向表達(dá),比如酒桌上吹牛的話就很難作為合約,合約要和日常的談話和文本有明確區(qū)別,這也是書面合同在這方面更容易減少誤解的原因。另外一方面是公權(quán)力提供了這樣一套司法執(zhí)行體系,當(dāng)合約不能正常履行的時(shí)候,可以尋求公權(quán)力的裁決執(zhí)行。

如果說一個(gè)國家的司法體系相當(dāng)于一個(gè)通過自然語言定義規(guī)則的操作系統(tǒng),合約就是在這個(gè)操作系統(tǒng)上用自然語言寫的程序。自然語言的解釋執(zhí)行當(dāng)然得人腦來做,但由于自然語言的不嚴(yán)謹(jǐn),人與人的差異,如何保證執(zhí)行的結(jié)果的確定性?如何防止執(zhí)行者作弊?這兩個(gè)難題是司法體系千百年來一直探索的難題。

切換到智能合約上,由于圖靈機(jī)的特性,程序執(zhí)行結(jié)果的確定性容易保證,關(guān)鍵難題就是如何防作弊了,怎么證明程序執(zhí)行出的結(jié)果沒有被篡改?

程序執(zhí)行結(jié)果的可信性,取決于控制程序執(zhí)行硬件的組織或者個(gè)人的可信性,當(dāng)前軟件系統(tǒng),比如銀行或者互聯(lián)網(wǎng)應(yīng)用,用戶只能以信任組織的方式來信任程序運(yùn)行結(jié)果,也就是說約束力是單方的,最終用戶受到程序約束,但服務(wù)提供方幾乎不受程序約束。用戶如果對(duì)結(jié)果有異議,只能訴諸其他手段,比如司法,或者如前段時(shí)間某交易所用戶去公司門口拉橫幅抗議。

那如果程序可以在不同組織或個(gè)人掌握的硬件上重復(fù)驗(yàn)證,是不是就可以去除這種信任依賴?同時(shí)實(shí)現(xiàn)對(duì)雙方的約束?這個(gè)在司法體系中也是如此,比如一審,二審,終審等機(jī)制,只是司法體系的執(zhí)行成本太高了,有爭(zhēng)議后才重復(fù)驗(yàn)證,次數(shù)也受限。但計(jì)算機(jī)程序這點(diǎn)上成本就低很多,所以可以大規(guī)模重復(fù)驗(yàn)證。

如果只有驗(yàn)證能力,實(shí)際上并不能產(chǎn)生約束力,還需要有強(qiáng)制執(zhí)行能力。如果雙方爭(zhēng)議的標(biāo)的可以直接由程序操作,也就可以實(shí)現(xiàn)驗(yàn)證并執(zhí)行。這點(diǎn)上,區(qū)塊鏈通過定義數(shù)字化的資產(chǎn)以及經(jīng)濟(jì)體系,來保證執(zhí)行能力。

重復(fù)驗(yàn)證的瓶頸

計(jì)算機(jī)重復(fù)驗(yàn)證的成本雖然比人肉低許多,但如果每個(gè)交易都需要重復(fù)驗(yàn)證執(zhí)行,成本就高了,這就是大家常說的區(qū)塊鏈的 TPS (每秒交易數(shù)) 問題。那法院執(zhí)行效率這么低,為什么沒有成現(xiàn)實(shí)社會(huì)交易的瓶頸?區(qū)塊鏈現(xiàn)在的做法相當(dāng)于法院掌握了所有人的資產(chǎn)以及合約執(zhí)行細(xì)節(jié),每次合約執(zhí)行都通過法院進(jìn)行,當(dāng)然會(huì)成為瓶頸。

而現(xiàn)實(shí)中的情況是大多數(shù)合約并不產(chǎn)生分歧或者爭(zhēng)議,所以也不需要法院來裁決,法院也無需知道細(xì)節(jié),只有產(chǎn)生爭(zhēng)議時(shí),才需要法院裁決,這時(shí)候雙方提交相關(guān)證據(jù)即可。那這套機(jī)制能不能搬到鏈上來呢?這就是區(qū)塊鏈二層(Layer2)網(wǎng)絡(luò)試圖要實(shí)現(xiàn)的目標(biāo)。那關(guān)鍵問題就是如果沒有了鏈上的重復(fù)驗(yàn)證,鏈下的合約約束力如何產(chǎn)生?

以太坊社區(qū)將“反事實(shí)”概念引入?yún)^(qū)塊鏈,提出了反事實(shí)狀態(tài)通道(Counterfactual state channel),試圖總結(jié)出一種通用的區(qū)塊鏈二層設(shè)計(jì)原則。這里的“反事實(shí)”和法律體系中的“反事實(shí)”含義類似。法律合約本身的約束力主要來自于這種反事實(shí)推理,如果合約一方違反合約,另外一方則可以通過司法機(jī)構(gòu)來強(qiáng)制執(zhí)行,交易雙方最佳的策略是忠實(shí)執(zhí)行合約,所以合約有了約束力。同樣,如果一個(gè)智能合約雖然沒有在鏈上執(zhí)行,但如果有分歧時(shí),任何一方都可以讓它在鏈上執(zhí)行,則也同樣產(chǎn)生了約束力。

理論上,通過這樣的方式可以支持無限的 TPS。

智能合約的另外一種形態(tài)

前面說的智能合約都是通過編程語言表達(dá)出來,在鏈上執(zhí)行的程序,即便是放到鏈下,也需要保證可以在鏈上執(zhí)行,否則就無法裁決。但既然我們關(guān)注的是約束力,重復(fù)驗(yàn)證只是實(shí)現(xiàn)約束力的一種方式,那有沒有其他辦法實(shí)現(xiàn)約束力?比如法院裁判合約的時(shí)候,并不是重復(fù)執(zhí)行一遍然后驗(yàn)證,而是驗(yàn)證雙方提交的執(zhí)行結(jié)果證明,或者是對(duì)方認(rèn)可結(jié)果的證明,比如簽字。

比特幣上的“智能合約”就和這種機(jī)制類似。比特幣的模型下,定腳本相當(dāng)于一個(gè)鎖,確定了交易輸出的 BTC 的歸屬權(quán),算不得前面定義的合約,但它可以通過密碼學(xué)方式設(shè)置解鎖條件,來達(dá)到合約的效果,比如實(shí)現(xiàn)兩種數(shù)字資產(chǎn)的交換(相當(dāng)于買賣合約)。具體的實(shí)現(xiàn)方式這里不詳述,感興趣的可以看看原子交換,閃電網(wǎng)絡(luò),以及基于 Schnorr 簽名的 Discreet Log Contracts 。

這種機(jī)制的思路是合約具體怎么執(zhí)行不重要,只要保證合約最后爭(zhēng)議的標(biāo)的的歸屬權(quán)即可達(dá)到約束效果。當(dāng)然,這種機(jī)制下,合約能表達(dá)的合約類型受限。

前一段時(shí)間我們也做了一個(gè)小實(shí)驗(yàn)項(xiàng)目,試圖在閃電網(wǎng)絡(luò)上實(shí)現(xiàn)智能合約。參與方互相驗(yàn)證合約,有爭(zhēng)議時(shí)通過仲裁服務(wù)節(jié)點(diǎn)仲裁,資產(chǎn)通過閃電網(wǎng)絡(luò)的 hash TIme lock 機(jī)制互相抵押,仲裁方可以決定押金的歸屬,但無法直接取走押金。雖然也有聯(lián)合作弊的可能,但聯(lián)合作弊也有信任成本,風(fēng)險(xiǎn)要小于押金托管。

至此,可以看出來。如果我們焦距于智能合約約束力的構(gòu)建,合約的驗(yàn)證,裁決,執(zhí)行,實(shí)際上是可以拆解開的,不一定要在同一層實(shí)現(xiàn)。

智能合約未來的兩種路線

如果只追求約束力,對(duì)智能合約的發(fā)展并沒太大分歧,但智能合約同時(shí)也是一種程序,它具有程序的所有特征,所以產(chǎn)生了分歧。

為了能校驗(yàn)合約,鏈上會(huì)保留智能合約的狀態(tài)以及輸入?yún)?shù),也就是說提供了存儲(chǔ)能力,同時(shí)也提供了合約運(yùn)行環(huán)境,提供了計(jì)算能力。有了這兩種能力后,理論上任何互聯(lián)網(wǎng)應(yīng)用都可以搬到鏈上了,同時(shí)還具有了約束力。所以以太坊將自己定義為世界計(jì)算機(jī),EOS 將自己定義為一種 OS,都是用來運(yùn)行去中心化應(yīng)用 DApp 的平臺(tái)。

然而 DApp 試驗(yàn)幾年,還是沒有大的起色。開始大家認(rèn)為是 TPS 的限制,于是 EOS 通過 DPoS 的機(jī)制減少參與共識(shí)的節(jié)點(diǎn),以達(dá)到更高的 TPS,理論上也可以運(yùn)行一個(gè)小規(guī)模的互聯(lián)網(wǎng)應(yīng)用了,但依然沒有太大起色。那問題到底出在哪里了?

關(guān)鍵在于我們一直按照互聯(lián)網(wǎng)應(yīng)用的模式在思考 DApp,互聯(lián)網(wǎng)應(yīng)用的模式是提供一個(gè)系統(tǒng)給所有人用,應(yīng)用本身所需要的狀態(tài)存儲(chǔ)和計(jì)算能力,和因?yàn)樾枰獙?shí)現(xiàn)約束而產(chǎn)生的狀態(tài)存儲(chǔ)以及計(jì)算能力混合在了一起,所以幾乎沒有一個(gè)互聯(lián)網(wǎng)應(yīng)用的價(jià)值能撐得起區(qū)塊鏈這樣規(guī)模的副本和重復(fù)計(jì)算。

所以現(xiàn)在智能合約和 DApp 的發(fā)展大體上可以分為兩個(gè)方向:

一。 關(guān)注合約的約束力,必要的計(jì)算和存儲(chǔ)只是實(shí)現(xiàn)約束力的基礎(chǔ)。這種思路下,開發(fā)者應(yīng)該分析應(yīng)用本身,拆解出需要約束的計(jì)算以及狀態(tài),也就是代表應(yīng)用方與用戶之間的合約的部分,然后構(gòu)建證明和驗(yàn)證機(jī)制,只把必要的數(shù)據(jù)提交到鏈上裁決,鏈并不需要重復(fù)執(zhí)行應(yīng)用,與合約無關(guān)的計(jì)算和存儲(chǔ)依然在鏈下。大多數(shù)二層網(wǎng)絡(luò),以及多鏈,跨鏈系統(tǒng)的約束和仲裁機(jī)制,走的是這個(gè)方向。

這種路線下,最容易實(shí)現(xiàn)的是 DeFi 類的應(yīng)用。因?yàn)檫@類應(yīng)用需要約束的狀態(tài)很明確,就是資產(chǎn),通過智能合約的約束力解決資金托管難題。并且現(xiàn)實(shí)中的法律合約也大多實(shí)際和資產(chǎn)相關(guān),如果能把現(xiàn)實(shí)中的法律合約遷移到鏈上執(zhí)行或者仲裁,想象力空間是非常大的。這個(gè)路線面臨的最大的難題不在于技術(shù),而在于和現(xiàn)實(shí)法律的沖突以及社會(huì)認(rèn)知的變更。

二。 關(guān)注計(jì)算或者存儲(chǔ)能力,約束力只是用戶信任硬件資源提供方的一種手段。有了這種約束力,可以構(gòu)建開放式的系統(tǒng),吸納更多更廉價(jià)的硬件資源。如果只以保證必要的安全性為目標(biāo),就可以減少重復(fù)驗(yàn)證以及存儲(chǔ)副本,以期望給 DApp 提供比云平臺(tái)更廉價(jià)的計(jì)算和存儲(chǔ)能力,至少成本上不要高太多,價(jià)格差可以通過開放性來彌補(bǔ)。比如 Filecoin,Truebit 等。這種路線下,短期看來,成本以及可靠性要超越云平臺(tái)還是比較難的,技術(shù)難度要超過第一種路線,但好處是現(xiàn)實(shí)阻力沒那么大。

當(dāng)然,兩個(gè)方向各有各的難度,也不沖突,最好是兩個(gè)方向都成功了,就可以互相結(jié)合起來了。但如果試圖同時(shí)在同一層實(shí)現(xiàn)兩個(gè)方向,就會(huì)有沖突了,我個(gè)人認(rèn)為是不可能的。

對(duì)司法體系的啟示

既然智能合約可以通過區(qū)塊鏈進(jìn)行裁決執(zhí)行,那現(xiàn)實(shí)中的法律合約,是否也可以模擬出這樣的體系,來降低司法成本?那我們假設(shè)下,如果現(xiàn)實(shí)中的法律合約要通過計(jì)算機(jī)仲裁,需要哪些條件。比如一個(gè)借款合同,一方聲稱還錢了,有轉(zhuǎn)賬記錄為證,另外一方認(rèn)為沒還,說這次轉(zhuǎn)賬不是還款,是另外一個(gè)原因。如何實(shí)現(xiàn)軟件程序裁決?

首先,有一種編程語言來表達(dá)這個(gè)合約。

其次,雙方必須有一套數(shù)字證書身份,都對(duì)這個(gè)智能合約進(jìn)行簽名。

再次,銀行需要提供機(jī)制,轉(zhuǎn)賬時(shí)將轉(zhuǎn)賬記錄和合約關(guān)聯(lián)起來。同時(shí)提供給雙方一個(gè)數(shù)字憑證,和憑證的驗(yàn)證接口。

最后,法院的裁決程序通過數(shù)字證書驗(yàn)證雙方身份,通過銀行的數(shù)字憑證驗(yàn)證還款交易,運(yùn)行合約進(jìn)行校驗(yàn),基本就可以進(jìn)行裁決了,銀行收到裁決的結(jié)果后執(zhí)行即可。

雖然這個(gè)過程有點(diǎn)簡化,但理論上是可行的,并且基本的技術(shù)也都具備了,只是當(dāng)前不同的系統(tǒng)之間還是割裂的,無法提供數(shù)字證明機(jī)制,數(shù)字證書身份體系也還缺失。

所以,我一直建議法律人也可以關(guān)注下智能合約技術(shù),雖然這個(gè)技術(shù)現(xiàn)在還沒到成熟階段,但它比法律合約的優(yōu)勢(shì)非常明顯:

1. 表達(dá)無歧義,執(zhí)行結(jié)果明確。

2. 跨自然語言,世界通用。

3. 可計(jì)算機(jī)裁決,可預(yù)執(zhí)行。

雖然還不敢說未來它的普及度有多大,但至少理論上,隨著未來資產(chǎn)的數(shù)字化,大多數(shù)和資產(chǎn)相關(guān)的合約都可以通過智能合約表達(dá)執(zhí)行。

總結(jié)

區(qū)塊鏈領(lǐng)域有個(gè)說法叫 Code is law,代碼既法律,實(shí)際上我覺得應(yīng)該反過來,說 Law is Code。區(qū)塊鏈以及智能合約就是想通過代碼構(gòu)建出一套約束力體系,用代碼來描述這種規(guī)則(法律),將規(guī)則(法律)通過代碼表達(dá)并執(zhí)行。

這套機(jī)制,如果從法律體系來看,是千年未有之大變革。它的意義堪比幾千年前人類把文本作為法律刻在石頭上。如果試驗(yàn)成功,就可能構(gòu)建出獨(dú)立于國家主權(quán)的法律體系來。前兩天美國的開源基金會(huì)關(guān)于軟件出口的限制引起很大爭(zhēng)議,為什么開源基金會(huì)要注冊(cè)到某一個(gè)國家呢?因?yàn)殚_源基金會(huì)也需要資金運(yùn)作,需要銀行賬戶,萬一出現(xiàn)經(jīng)濟(jì)糾紛,還需要依賴現(xiàn)有的司法體系來裁決。但區(qū)塊鏈已經(jīng)造出了數(shù)字資產(chǎn),有了組織定義能力,有了裁決體系,就有可能出現(xiàn)獨(dú)立于國家之外的開源組織。

當(dāng)然有沒有可能完全替代現(xiàn)實(shí)中的法律體系呢?這也是不可能的。畢竟終極制裁是對(duì)人的肉體進(jìn)行制裁,除非有一天,人類真把自己的大腦上傳到網(wǎng)上,現(xiàn)實(shí)中的肉體和資產(chǎn)對(duì)人來說完全失去了意義。不過也說不定呢?關(guān)于費(fèi)米悖論的一個(gè)解釋就是,外星人覺得現(xiàn)實(shí)的宇宙太大太無聊,于是把自己上傳到了數(shù)字世界。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉