首頁(yè)>城市生活 >
概念炒作的背后,“智能合約”的真相是什么? 2018-06-25 11:50:11  來(lái)源:36氪

原標(biāo)題:概念炒作的背后,“智能合約”的真相是什么?

編者按:本文編譯自Medium,作者Jimmy Song,原文標(biāo)題The Truth about Smart Contracts。

就像“區(qū)塊鏈”,“AI”和“云”一樣,“智能合約”也是如今收到熱捧的新概念。

試想一下,有什么能比相確信合約在未來(lái)會(huì)按照約定被執(zhí)行而不需要任何司法介入更好? 智能合約的承諾包括:

合約可以被自動(dòng)地、無(wú)需信任地和公正地執(zhí)行

在合約制定,履行和強(qiáng)制執(zhí)行過(guò)程中取消中間人

或許不再需要律師

我能夠理解智能合約為何會(huì)被熱炒。 畢竟,如果我們不需要擔(dān)心對(duì)方是否會(huì)按照約定履行合約,那么很多事情的效率會(huì)大大提高。

話說(shuō),到底什么是智能合約? 這是源于以太坊的概念么? 這是未來(lái)合約訂立的方式么?

在這篇文章中,我將探究智能合約的種種細(xì)節(jié)以及與之相伴的“工程現(xiàn)實(shí)”問(wèn)題(劇透:它并不簡(jiǎn)單,并且很難保證可靠性)。

什么是智能合約?

正常的通常意義上的合約是雙方或多方之間的協(xié)議,將他們約束在未來(lái)發(fā)生的某些事物上。 譬如,Alice可能會(huì)向Bob支付一些錢來(lái)使用Bob的房屋(又名租金)。 Charlie可能會(huì)同意修復(fù)對(duì)Denise的汽車未來(lái)發(fā)生的任何損壞,作為回報(bào)Denise每月向Charlie支付一筆費(fèi)用(又名汽車保險(xiǎn))。

所謂“智能”合約,其不同之處在于合約的所有條款都是由計(jì)算機(jī)代碼評(píng)估和執(zhí)行的,這使得它無(wú)需任何信用背書。 因此,如果Alice同意支付向Bob支付500購(gòu)買沙發(fā),交貨期為3個(gè)月。則通過(guò)計(jì)算機(jī)代碼可以判斷合約的某些條款是否成立(Alice是否付款給了Bob?3個(gè)月的交貨期是否到期?)并執(zhí)行合約 (將托管下的沙發(fā)交付給Alice);合約雙方都沒(méi)有反悔的權(quán)利。

智能合約的關(guān)鍵特點(diǎn)是它的執(zhí)行力不依賴任何信用背書。 也就是說(shuō),你不需要依賴第三方來(lái)執(zhí)行各種條款。 既不需要依靠對(duì)方對(duì)合約的履行言行一致,也不需要在合約執(zhí)行出現(xiàn)問(wèn)題時(shí)依靠律師和法律制度來(lái)糾正事情;智能合約可以及時(shí)客觀地執(zhí)行合約約定的各個(gè)事項(xiàng)。

智能合約非?!吧倒稀?

使用“智能”一詞意味著這些合約具有某種天生的智慧。 然后事情并非如此。 所謂”智能“的部分在于合約的執(zhí)行不依賴任何一方的合作。 相比把拖欠房租的租客請(qǐng)出房子,一個(gè)“智能”的合約會(huì)直接將沒(méi)有按時(shí)付款的租客鎖在房子外面。 對(duì)于合約約定后果的無(wú)條件執(zhí)行是智能合約顯得強(qiáng)大有力的原因,而不是智能合約具有天生的智慧。

一個(gè)真正意義上的智能合約應(yīng)當(dāng)考慮到所有情有可原的情況,著眼于契約精神,即便在情況非常不明朗的條件下也試圖做出公平的裁決。 換句話說(shuō),一個(gè)真正的智能合約就像一個(gè)非常好的法官。 與之相反,現(xiàn)實(shí)中的智能合約非常不智能。 它事實(shí)上只是基于規(guī)則并嚴(yán)格按照規(guī)則行事,不能將任何次要因素或法治精神考慮在內(nèi)。

換句話說(shuō),由于智能合約不依靠任何信用背書,同時(shí)也意味著合約的訂立不能有任何模棱兩可的空間。這一點(diǎn)引發(fā)了下一個(gè)問(wèn)題。

擬定智能合約非常困難

由于以太坊大量的宣傳,使得人們錯(cuò)誤地認(rèn)為智能合約只存在于以太坊。 然而事實(shí)并非如此。 2009年伊始,比特幣就已經(jīng)擁有了一種被廣泛使用,名叫Script的語(yǔ)言來(lái)擬定智能合約。 事實(shí)上,智能合約的存在可以追溯到1995年,要早于比特幣。比特幣的智能合約語(yǔ)言同以太坊版本的區(qū)別在于以太坊的語(yǔ)言具有圖靈完備性。 也就是說(shuō),以太坊的Solidity語(yǔ)言允許更復(fù)雜的合約,其代價(jià)是會(huì)增加分析難度。

這種語(yǔ)言的復(fù)雜性帶來(lái)了一些重大的后果。 雖然復(fù)雜的合約可以允許更復(fù)雜的情況,但復(fù)雜的合約也很難保證安全。 即使是普通的合約,實(shí)施難度也會(huì)因?yàn)閺?fù)雜性的提高而加大;因?yàn)閺?fù)雜性帶來(lái)了更多的不確定性和解釋空間。 憑借智能合約,確保安全意味著處理合約可能被執(zhí)行的所有可能方式,并確保合約執(zhí)行符合擬定者的意圖。

執(zhí)行具有圖靈完備性的上下文中是極其棘手和難以分析的。 安全可靠地執(zhí)行圖靈完備的智能合約相當(dāng)于證明一個(gè)計(jì)算機(jī)程序沒(méi)有錯(cuò)誤。 我們知道這是非常困難的,因?yàn)閹缀跛鞋F(xiàn)存的計(jì)算機(jī)程序都或多或少存在缺陷。

考慮到需要多年的學(xué)習(xí)和非常過(guò)硬的考核才能夠勝任編寫普通合約的工作這樣一個(gè)事實(shí)。 智能合約的編寫至少需要與之相當(dāng)?shù)哪芰Γ壳斑€有的合約是由很多不懂得如何確保其安全性的新手編寫的。 從當(dāng)前很多存在缺陷的智能合約中可以清楚地看出這一點(diǎn)。

比特幣的解決方案簡(jiǎn)單地放棄圖靈完備性。 這使合約更容易分析,因?yàn)楹霞s可能的結(jié)果更容易列舉和檢查。

以太坊的解決方案是將確??煽啃缘呢?zé)任托付給智能合約的起草者。 合約的起草者應(yīng)確保合約按照他們的意圖進(jìn)行。

智能合約并非真正的合約(至少在以太坊)

雖然在理論上將確保合約可靠性的責(zé)任交給起草者是個(gè)不錯(cuò)的辦法,但實(shí)際操作中這已經(jīng)產(chǎn)生了一些嚴(yán)重的集權(quán)后果。

以太坊以“代碼即法律”的觀點(diǎn)發(fā)起。 也就是說(shuō),在以太坊合約是最終的權(quán)威,沒(méi)有人可以否決合約。 這個(gè)觀點(diǎn)向智能合約開(kāi)發(fā)者表達(dá)的意思是他們必須依靠自己。 如果你搞砸自己的智能合約,那么從某種意義上講,你是咎由自取。 當(dāng)DAO事件發(fā)生時(shí),這導(dǎo)致了崩潰。

DAO是“分散的自治組織(Decentralized Autonomous Organization)”的簡(jiǎn)稱,他們?cè)谝蕴粍?chuàng)建了一個(gè)基金,以此來(lái)展示該平臺(tái)可以做什么。 用戶可以將資金存入DAO,并根據(jù)DAO投資收益獲得回報(bào)。 投資決策會(huì)由去中心化的眾包形式做出。 DAO在以太幣價(jià)值20美元時(shí)募集了大約1.5億美金。上述的這些事情看上去很美好,不過(guò)千里之堤潰于蟻穴。 因?yàn)榇a的可靠性沒(méi)有很好地保護(hù),最終導(dǎo)致有人想出了一個(gè)途徑盜取了DAO所有的資金。

許多人將盜走DAO的人稱為“黑客”。 在這種意義上,這個(gè)“黑客”找到了一種方法,以智能合約起草者沒(méi)有考慮的方式從合約中盜取了資金,這是個(gè)真實(shí)的例子。 但從更廣泛的意義上講,此人根本不能為稱作黑客,他只是一個(gè)正在利用智能合約中的瑕疵獲利的人。 這與有想法的注冊(cè)會(huì)計(jì)師(CPA)利用稅務(wù)漏洞為其客戶節(jié)稅并無(wú)太大區(qū)別。

在此之后,以太坊決定不再視代碼為法律,并將存入DAO的所有資金歸還。 換句話說(shuō),智能合約的起草者和投資者做了一些愚蠢的事情,而以太坊的開(kāi)發(fā)者決定將他們解救出來(lái)。



這起事件的影響完全有據(jù)可查。 Ethereum Classic平臺(tái)因此誕生,保留了DAO并延續(xù)“代碼即法律”的原則。 除此之外,開(kāi)發(fā)人員開(kāi)始回避使用以太坊圖圖靈完備屬性的智能合約,因?yàn)樗C明很難保證可靠性。 當(dāng)前ERC20和ERC721標(biāo)準(zhǔn)是以太坊中使用最為頻繁的智能合約模板,需要著重指出的是,這兩種合約都可以在沒(méi)有任何圖靈完備性的情況下編寫。

智能合約只是用于數(shù)字化的無(wú)記名票據(jù)(digital bearer instruments)

即使不具備圖靈完備性,智能合約仍然聽(tīng)起來(lái)不錯(cuò)。 畢竟,誰(shuí)喜歡不得不去法庭上獲得本就該屬于他們的東西呢? 相比普通合約,使用智能合約來(lái)實(shí)現(xiàn)這一點(diǎn)不是更容易么?

例如,房地產(chǎn)行業(yè)不就能因?yàn)橹悄芎霞s受益么? Alice可以證明她擁有房子, Bob可以為房子付款并獲得它。 沒(méi)有所有權(quán)問(wèn)題,機(jī)器可以快速、無(wú)需信任地執(zhí)行合約,不需要法官,行政機(jī)構(gòu)或產(chǎn)權(quán)保險(xiǎn)。 聽(tīng)起來(lái)很棒,不是么?

這里有兩個(gè)問(wèn)題。 首先,由中心化組織負(fù)責(zé)執(zhí)行智能合約并不是真的不可靠。 你仍然需要信任這個(gè)中心化組織才能執(zhí)行合約。 無(wú)需信任是智能合約的關(guān)鍵特征,因此中心化的執(zhí)行機(jī)構(gòu)使得只呢呢合約失去了意義。 為了讓智能合約真的無(wú)需信任機(jī)制,你需要一個(gè)真正的無(wú)中心的平臺(tái)。

第二個(gè)問(wèn)題就此引出。 在去中心的環(huán)境下,智能合約只有在數(shù)字版本與實(shí)體之間存在某種明確的聯(lián)系時(shí)才能有效代替普通合約。 也就是說(shuō),只要房子的數(shù)字版本改變所有權(quán),其實(shí)體必須改變所有權(quán)。 數(shù)字世界需要聯(lián)系物質(zhì)世界。 這被稱為“測(cè)試準(zhǔn)則問(wèn)題”(oracle problem)。

當(dāng)Alice將房子轉(zhuǎn)讓給Bob時(shí),智能合約需要獲知她實(shí)際上將房子轉(zhuǎn)讓給了Bob。 有幾種方法可以做到這一點(diǎn),但它們都有相同的基本問(wèn)題。 那就是有一個(gè)被信任的第三方在現(xiàn)實(shí)世界中驗(yàn)證轉(zhuǎn)讓行為的發(fā)生。

例如,房子可以在以太坊上表現(xiàn)為一枚不可替代的令牌。 Alice可以通過(guò)原子交換(Atomic Swap)將房子轉(zhuǎn)移給Bob以獲得一定數(shù)量的以太幣。 問(wèn)題在于,Bob需要相信這枚令牌實(shí)際上代表了房子。這里必須有一些測(cè)試準(zhǔn)則確保代表房子的令牌的轉(zhuǎn)讓在實(shí)際上意味著該房子實(shí)際所有權(quán)的合法轉(zhuǎn)讓。

此外,即使政府當(dāng)局承認(rèn)令牌實(shí)際代表房屋,那么如果令牌被盜,情況又會(huì)怎樣, 這房子現(xiàn)在屬于小偷嗎? 加入令牌丟失怎么辦? 房子不能再出售了嗎? 代表房屋的令牌可以重新簽發(fā)么? 如果可以的話,應(yīng)該由誰(shuí)來(lái)執(zhí)行呢?

在去中心化的的背景下,將數(shù)字與實(shí)物資產(chǎn)聯(lián)系起來(lái)是一個(gè)棘手的問(wèn)題,無(wú)論它是水果,汽車還是房屋。 實(shí)物資產(chǎn)受您所處區(qū)域的政府或其他機(jī)構(gòu)管轄,這意味著除了你創(chuàng)建的智能合約之外,他們還需要相信一些其他的東西。 這意味著,智能合約中的所有權(quán)并不一定等于現(xiàn)實(shí)世界中對(duì)同一事物的所有權(quán),并且會(huì)像普通合約一樣面臨信任問(wèn)題。 需要信任第三方才能履行的智能合約也就不再具有無(wú)需信任任何人這個(gè)其最大功能(或者說(shuō)優(yōu)點(diǎn))。

即使是電子書,健康記錄或電影等數(shù)字化資產(chǎn)也會(huì)遇到同樣的問(wèn)題。 這些數(shù)字資產(chǎn)的“權(quán)利”最終由其他一些權(quán)威機(jī)構(gòu)決定,而測(cè)試準(zhǔn)則需要被信任。

從這個(gè)角度來(lái)看,測(cè)試準(zhǔn)則只是現(xiàn)實(shí)中法官的簡(jiǎn)化版本。 除了獲得僅依靠機(jī)器來(lái)履行合約和簡(jiǎn)化的強(qiáng)制執(zhí)行規(guī)則的好的,你實(shí)際要面臨的復(fù)雜工作是用代碼將合約所有的可能情況以及主觀性和人為判斷的風(fēng)險(xiǎn)全都考慮在內(nèi)。 換句話說(shuō),簽訂一份“智能”的合約意味著你需要編寫復(fù)雜的代碼,同時(shí)還需要信任某個(gè)人或組織。

唯一不需要測(cè)試準(zhǔn)則的合約標(biāo)的就是數(shù)字化的無(wú)記名票據(jù)。 本質(zhì)上,交易雙方不僅僅需要數(shù)字化的,而且合約標(biāo)的必須是無(wú)記名票據(jù)。 也就是說(shuō),令牌的所有權(quán)不能在智能合約簽訂平臺(tái)之外擁有依賴關(guān)系。 只有當(dāng)智能合約的標(biāo)題是數(shù)字化的無(wú)記名票據(jù)是,智能合約能在無(wú)需信任的基礎(chǔ)上被執(zhí)行。

結(jié)論

我非常希望智能合約可以比它目前看起來(lái)更加實(shí)用。 不幸的是,我們?nèi)祟悓?duì)于合約的理解包含了大量的假設(shè)和無(wú)需清楚說(shuō)明的判例法。

此外,事實(shí)證明,利用圖靈完備性是一種破壞智能合約的簡(jiǎn)單方法,并導(dǎo)致各種意想不到的行為。 我們應(yīng)該標(biāo)記那些不具備圖靈完完備性的智能合約平臺(tái),而不是有圖靈完備性的那些。 DAO事件也證明了被隱隱相信和幫助解決爭(zhēng)端的契約精神確實(shí)存在,這點(diǎn)超乎我們的想象。

智能合約簡(jiǎn)直太容易搞砸,難以保證可靠性,很難廣泛地做到無(wú)需信任、并且依賴太多外部事物使它適用于大多數(shù)場(chǎng)景。 智能合約唯一具有無(wú)需信任這一特點(diǎn)的場(chǎng)景是比特幣這樣的基于去中心化平臺(tái)的數(shù)字化的無(wú)記名票據(jù)。

編譯組出品。編輯:郝鵬程

關(guān)鍵詞:

相關(guān)閱讀:
熱點(diǎn)
圖片 圖片