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