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

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

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

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

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

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

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

或許不再需要律師

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

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

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

什么是智能合約?

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

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

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

智能合約非常“傻瓜“

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

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

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

擬定智能合約非常困難

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

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

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

考慮到需要多年的學(xué)習(xí)和非常過硬的考核才能夠勝任編寫普通合約的工作這樣一個(gè)事實(shí)。 智能合約的編寫至少需要與之相當(dāng)?shù)哪芰?,但目前還有的合約是由很多不懂得如何確保其安全性的新手編寫的。 從當(dāng)前很多存在缺陷的智能合約中可以清楚地看出這一點(diǎ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ā)起。 也就是說,在以太坊合約是最終的權(quán)威,沒有人可以否決合約。 這個(gè)觀點(diǎn)向智能合約開發(fā)者表達(dá)的意思是他們必須依靠自己。 如果你搞砸自己的智能合約,那么從某種意義上講,你是咎由自取。 當(dāng)DAO事件發(fā)生時(shí),這導(dǎo)致了崩潰。

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

結(jié)論

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

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

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

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

關(guān)鍵詞:

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