區(qū)塊鏈智能合約法律適用的難題及挑戰(zhàn)
區(qū)塊鏈1.0時(shí)代的應(yīng)用以比特幣為代表,為解決貨幣和支付手段的去中心化,而區(qū)塊鏈2.0時(shí)代則是更宏觀的對(duì)整個(gè)市場的去中心化,利用區(qū)塊鏈技術(shù)來轉(zhuǎn)換許多不同的資產(chǎn)而不僅僅是比特幣,通過轉(zhuǎn)讓來創(chuàng)建不同資產(chǎn)單元的價(jià)值。智能合約便是面對(duì)這樣需求的一種應(yīng)用。但作為新興事物的智能合約,其法律屬性及適用等仍有諸多問題,本文對(duì)此試作研究。
一、基于區(qū)塊鏈技術(shù)的智能合約
智能合約(smart contract),并非區(qū)塊鏈才有的概念,而是早在上個(gè)世紀(jì)九十年代由跨領(lǐng)域法律學(xué)者尼克·薩博(Nick Szabo)首先提出來的。在尼克·薩博的定義中,智能合約是“一系列以數(shù)字形式指定的承諾(promises),包括各方履行這些承諾的協(xié)議?!?/p>
在此定義中,有幾個(gè)關(guān)鍵詞:一是承諾,即指合約參與方的同意;二是數(shù)字形式,即指合約以計(jì)算機(jī)可讀的代碼表現(xiàn);三是自動(dòng)執(zhí)行,即指基于命令式編程語言,計(jì)算機(jī)能夠自動(dòng)執(zhí)行協(xié)議。以自動(dòng)售貨機(jī)這一具體應(yīng)用場景為例,由于機(jī)器已進(jìn)行了設(shè)定,當(dāng)用戶提供一定的輸入值時(shí),自動(dòng)售貨機(jī)就會(huì)將產(chǎn)品交給用戶。如果使用計(jì)算機(jī)代碼代替自動(dòng)售貨機(jī)這些機(jī)械設(shè)備,就將產(chǎn)生一種符合上述特征的具有自動(dòng)執(zhí)行功能的基于數(shù)字程序的工具。
在智能合約提出之后一段時(shí)間,智能合約并未得到發(fā)展和應(yīng)用,主要就是因?yàn)槿狈δ軌蛑С挚删幊毯霞s的數(shù)字系統(tǒng)和技術(shù)。直到區(qū)塊鏈技術(shù)的出現(xiàn),才給智能合約的應(yīng)用帶來廣闊的前景。當(dāng)然,智能合約并不是只能依靠區(qū)塊鏈來實(shí)現(xiàn),只是區(qū)塊鏈技術(shù)的特性決定了智能合約更加適合于在區(qū)塊鏈上來實(shí)現(xiàn)。這是因?yàn)?,區(qū)塊鏈技術(shù)不僅可以支持可編程合約,而且具有去中心化、不可篡改、過程透明可追蹤等優(yōu)點(diǎn),天然契合智能合約。具體而言,一是去中心化,保證數(shù)據(jù)的全網(wǎng)備份與不受第三方機(jī)構(gòu)的干擾,可以避免中心化下某些惡意行為對(duì)合約正常執(zhí)行的干擾;二是不可篡改,可以保證數(shù)據(jù)無法刪除、修改,只能新增,存儲(chǔ)、讀取、執(zhí)行整個(gè)過程透明可跟蹤,保證了歷史的可追溯性,并將作惡成本提高;三是自動(dòng)執(zhí)行,當(dāng)代碼中描述的某些條件得到滿足時(shí),將自動(dòng)觸發(fā)代碼中定義的特定操作,無需擔(dān)心合約不執(zhí)行的問題;四是信任機(jī)制,區(qū)塊鏈解決了合約的信任問題,也就是說,本來合約的執(zhí)行需要依靠法定強(qiáng)制性的背書提供信任,而基于區(qū)塊鏈的智能合約則提供了一個(gè)完美解決信任問題的機(jī)制,無需第三方公信機(jī)構(gòu)的參與或者需要第三方的擔(dān)保。
如今,基于區(qū)塊鏈技術(shù)的智能合約可以被用來支持各種類型的金融交易,包括股票、私募股權(quán)、眾籌、債券和其他類型的金融衍生品如期貨、期權(quán)等,這些不同類型的資產(chǎn)的創(chuàng)建、確認(rèn)、轉(zhuǎn)移都可以適用智能合約。
二、智能合約的法律屬性
智能合約是合同嗎?我們知道,所謂合同,是指當(dāng)事人之間設(shè)立、變更和終止民事權(quán)利義務(wù)關(guān)系而達(dá)成的合意。合同具有以下法律特征:一是合同是一種雙方的法律行為,并以意見表示一致為條件;二是合同是平等主體之間的民事法律關(guān)系,合同雙方當(dāng)事人處于平等地位,不允許任何一方對(duì)他方進(jìn)行限制或強(qiáng)迫;三是合同是具有相應(yīng)法律效力的協(xié)議。合同不能是違法行為,而只能是合法行為,如果合同是違法的,就會(huì)引起合同無效,甚至當(dāng)事人要受到追究和制裁;四是合同是從法律角度明確當(dāng)事人之間特定權(quán)利與義務(wù)關(guān)系的文件。合同在當(dāng)事人之間設(shè)立、變更和終止某種特定的民事權(quán)利義務(wù)關(guān)系,以實(shí)現(xiàn)當(dāng)事人的特定經(jīng)濟(jì)目的。
一種觀點(diǎn)認(rèn)為,從是否達(dá)成合意和當(dāng)事人是否明確來判斷,智能合約并不是法律意義上的合同。其理由在于:一是合同是指雙方當(dāng)事人意思表示達(dá)成一致,即合意。在智能合約中,只是存在一個(gè)數(shù)字程序(一段代碼),而不是合同內(nèi)容,它缺乏合同的一般必備條款,因而雙方是否達(dá)成合意,難以判斷;二是在合同的成立時(shí),要約人與承諾人必須是確定的,而智能合約成立時(shí),當(dāng)事人常常并不確定。況且,區(qū)塊鏈技術(shù)最大限度地保護(hù)當(dāng)事人隱私,使得智能合約當(dāng)事人具有匿名性,以致合同當(dāng)事人無法知曉對(duì)方。
其實(shí),智能合約仍然應(yīng)當(dāng)被認(rèn)定為法律意義上的合同。智能合約也是雙方當(dāng)事人意思表示的合意,合同條款是以計(jì)算語言而非法律語言記錄,雖然數(shù)字代碼非一般人所能認(rèn)知,但專業(yè)人士可以認(rèn)知,且這些代碼本身就是交易方輸入。智能合約由計(jì)算機(jī)語言預(yù)設(shè),計(jì)算機(jī)識(shí)別的程序語言相較于文字語言更為清晰和穩(wěn)定,因此智能合約的語言誤解率很低。智能合約的匿名性并不導(dǎo)致當(dāng)事人的不確定性。而且,智能合約是根據(jù)預(yù)設(shè)條件自動(dòng)處理資產(chǎn),且獲得多方承認(rèn)的,運(yùn)行在區(qū)塊鏈之上的程序,當(dāng)一個(gè)預(yù)先編好的條件被觸發(fā)時(shí),智能合約會(huì)自動(dòng)執(zhí)行相應(yīng)的合同條款,這種智能合約的自動(dòng)執(zhí)行性讓合同履行實(shí)現(xiàn)了自治,無需法院、仲裁機(jī)構(gòu)等中間媒介督促合約的執(zhí)行,一旦啟動(dòng)就會(huì)執(zhí)行,且整個(gè)過程,包括發(fā)起人在內(nèi)的任何人,都沒有能力干預(yù)??梢哉f,智能合約類似于“完全合同”。
三、智能合約法律適用的難題
在區(qū)塊鏈時(shí)代,智能合約拓展了合同的形式,但也給我國合同法提出了挑戰(zhàn)。這些挑戰(zhàn)主要有:
第一,智能合約的不可篡改、自動(dòng)執(zhí)行、不可撤銷可能導(dǎo)致合約無法被法律干預(yù)。法律具有糾偏的功能。對(duì)于以欺詐、脅迫的手段并損害國家利益而訂立的合同;惡意串通,損害國家、集體或者第三人利益而訂立的合同;以合法形式掩蓋非法目的合同;損害社會(huì)公共利益的合同;違反法律、行政法規(guī)的強(qiáng)制性規(guī)定的合同,或者對(duì)于那些意思表示不真實(shí)的合同,法律都可以進(jìn)行干預(yù),并認(rèn)定合同無效或可撤銷。然而,智能合約是一道不可變更的程序與計(jì)算機(jī)指令,智能合約代碼一旦寫入就立即生效,外界無法實(shí)施干預(yù),即使有導(dǎo)致合同無效或可撤銷的情形,也依然會(huì)得到執(zhí)行。而且,智能合約需要得到準(zhǔn)確編寫,如果合約編寫有誤,就可能會(huì)導(dǎo)致合約存在可能會(huì)被利用的漏洞,而且,這種漏洞是無法改正的。這將對(duì)合同法中的效力制度、可變更、可撤銷制度產(chǎn)生較大影響。
第二,智能合約受害者難以救濟(jì)自己的權(quán)利。區(qū)塊鏈分布式賬本交易具有不可撤銷的特點(diǎn),一旦發(fā)生消費(fèi)者私鑰丟失引發(fā)的欺詐交易,實(shí)際發(fā)生的交易是無法修改或回滾的。當(dāng)消費(fèi)者選擇智能合約作為合約的執(zhí)行方式時(shí),在其需要撤銷原合約時(shí),他就需要引入新的智能合約,而侵權(quán)人可能將不予理睬。而且,智能合約具有匿名性,當(dāng)匿名的智能合約出現(xiàn)法律爭議時(shí),爭議的另一方是誰都無法確定,通過傳統(tǒng)的訴訟方式解決爭議將是十分困難的。因此,智能合約下的受害者,其實(shí)際損失難以得到直接救濟(jì),只能依賴于數(shù)字化世界以外的方式給予替代補(bǔ)償,且實(shí)現(xiàn)較為困難。另外,違約責(zé)任有繼續(xù)履行、采取補(bǔ)救措施或賠償損失等,但卻無法在智能合約中發(fā)揮作用,因?yàn)檫`約責(zé)任的實(shí)現(xiàn)通常需要中立的第三方介入督促違約人承擔(dān)責(zé)任,第三方通常是法院或仲裁機(jī)構(gòu),而智能合約的執(zhí)行無需中立機(jī)構(gòu)的介入。
第三,智能合約的安全性尚存問題。智能合約的不可篡改要求其腳本語言必須準(zhǔn)確無誤,且計(jì)算機(jī)程序中沒有漏洞。然而,簡單的智能合約尚能較好達(dá)到上述要求,但條款稍微復(fù)雜、種類更多的智能合約,發(fā)生漏洞的機(jī)率就越大。例如,Github上的新手devops199誤刪除了一個(gè)智能合約的庫函數(shù),導(dǎo)致大概三億美元的以太坊被鎖死,至今尚未解凍。又如,在The Dao事件中,本來通過智能合約來主導(dǎo)以太幣資金的分發(fā)利用,但是,由于智能合約代碼不嚴(yán)謹(jǐn),導(dǎo)致交易資金出現(xiàn)很大的漏洞,為了解決修復(fù)智能合約,最后采取硬分叉,導(dǎo)致了以太坊直接撕裂成了ETH和ETC(舊版),但最后還是沒能解決問題,因?yàn)闀?huì)存在重放攻擊。新鏈上的交易廣播到舊鏈上,交易依然能夠成功,因而造成使用混亂。因此,完全的代碼自治存在較大局限,必要時(shí)還是需要人工介入。
第四,智能合約的履行形式欠缺,僅有履行或不履行之分。合同義務(wù)沒有得到正當(dāng)履行,可表現(xiàn)為不能履行、遲延履行、不完全履行等多種形態(tài)。當(dāng)合同一方當(dāng)事人延遲履行義務(wù)時(shí),另一方當(dāng)事人可以進(jìn)行催告,請(qǐng)求其履行債務(wù)。如果延遲履行一方在經(jīng)合理催告后仍不履行義務(wù),或一方當(dāng)事人明確表示不能履行主要債務(wù)或不能完全履行主要債務(wù)時(shí),另一方當(dāng)事人可以解除合同。然而,在智能合約中,首先設(shè)定代碼程序,當(dāng)預(yù)定條件滿足時(shí),合約自動(dòng)完成履行,當(dāng)預(yù)定條件沒有滿足或沒有充分滿足時(shí),不會(huì)啟動(dòng)合約的自動(dòng)履行功能。因此,智能合約的履行不存在遲延履行、不完全履行、不能履行等不能全面履行義務(wù)的形態(tài)。
第五,智能合約較難應(yīng)對(duì)法律政策的修改或調(diào)整。法律或政策經(jīng)常會(huì)作出修改或調(diào)整,但在智能合約中,在代碼程序設(shè)定好后,其保存的信息很難被修改,相關(guān)條款基本上不可能更新。要想使智能合約應(yīng)對(duì)法律或政策修訂后的情形,根本無法實(shí)現(xiàn)。
因此,智能合約在法律上的適用還有一些障礙需要克服,需要法律為智能合約這種新事物創(chuàng)設(shè)新的制度,將其納入規(guī)范調(diào)整的范疇。