李旭東 馬淞元
摘 要: 新一代智能合約脫胎于區塊鏈技術,隨著其運用范圍的不斷拓展,人們的交易方式將發生巨大變化,同時也給中國合同領域的法律規則帶來了許多挑戰。智能合約的本質雖與合同類似,但結合即將生效的《民法典》合同編與總則編的相關內容可以發現,智能合約在意思表示、合同效力、抗辯權,以及合同的履行、變更解除、違約救濟等方面都存在與現行法律不同甚至矛盾的地方。要想將智能合約納入合同編進行調整,需要雙管齊下。在智能合約方面,加強技術發展,并配套法定數字貨幣使之更安全、更規范。在合同法方面,可對意思表示一致做擴大認定,對“要約—承諾”規則進行前置化處理,對智能合約合同生效時間做統一規定,對合約當事方進行一定的反匿名措施,還需對智能合約程序的代理權做區分。應增加相應的救濟途徑,并對合同對價方式做一定限制。
關鍵詞: 區塊鏈;智能合約;民法典;合同法;調整路徑
中圖分類號:D913文獻標識碼:A文章編號:1004-8634(2020)05-0058-(12)
DOI:10.13852/J.CNKI.JSHNU.2020.05.007
一、引言
近年來,隨著“區塊鏈”“比特幣”“挖礦”等詞匯逐漸出現在人們的視野中,這些以區塊鏈為基礎的各項技術不再是小部分前沿科技人員或投機者們的專屬,大眾也逐漸開始了解、關心和研究它們。2019年10月24日下午,習近平在主持中共中央政治局就區塊鏈技術發展現狀和趨勢的第十八次集體學習時強調:區塊鏈技術的集成應用在新的技術革新和產業變革中起著重要作用。我們要把區塊鏈作為核心技術自主創新的重要突破口,明確主攻方向,加大投入力度,著力攻克一批關鍵核心技術,加快推動區塊鏈技術和產業創新發展。詳見中國共產黨新聞:《習近平在中央政治局第十八次集體學習時強調 把區塊鏈作為核心技術自主創新重要突破口 加快推動區塊鏈技術和產業創新發展》,載中國共產黨新聞網:http://cpc.people.com.cn/n1/2019/1025/c64094-31421403.html,最后訪問時間:2020年6月10日。)由此,區塊鏈技術在中國正式走上了大發展的道路。
而“以太坊”作為區塊鏈技術的2.0版本,技術的進步使其產生了智能合約的功能。新科技大多是“雙刃劍”,只有依法依規地發展,才能使之發揮出積極作用。面對智能合約,當前的合同法并不能完全適用,其中存在不少空白缺失、規則差異甚至矛盾。盡管即將實施的《中華人民共和國民法典》(以下簡稱《民法典》)合同編較原合同法有了不少更新和進步,但仍然沒有將智能合約納入調整范圍。因此,對智能合約而言,能否適用以及如何適用《民法典》合同編都是亟待解決的問題。本文將結合區塊鏈智能合約與《民法典》合同編相關內容,分析智能合約與傳統合同存在的差異和問題,并提出相應的對策及建議。
二、智能合約的概念界定及區塊鏈技術在智能合約中的應用
1.智能合約的概念界定
第一,智能合約的概念。
智能合約于1994年由尼克·薩博(Nick Szabo)(尼克·薩博,計算機科學家、密碼學家、法律學者,基于自動售貨機的靈感,提出了智能合約的概念,后被稱為智能合約之父。)提出,(SZABO Nick,Smart Contracts:Building Blocks for Digital Markets(1996)\[EB/OL\]. http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/smart.contracts_2.html.)他認為可以設計一個計算化交易協議,用來執行合約條款。(John Eatwell, Murray Milgate, Peter Newman,The New Palgrave: Allocation, Information, and Markets,The Macmillan Press Limited,1989. ) “一個智能合約是一套以數字形式定義的承諾(Commitment),包括合約參與方可以在上面執行這些承諾的協議。” (Thomas Bocek, Digital Marketplaces Unleashed,Springer-Verlag GmbH,2017.)通俗地講,就是利用計算機語言,把合約內容通過代碼的形式編寫為程序,當程序的某種預定條件被達到或被滿足時,程序將自動運行,合約也就自動履行。但鑒于當時的互聯網技術還較為落后,這一構想無法得到很好的應用,而當今的互聯網已經發展到可以滿足其較好運行的水平。
第二,智能合約與傳統合同的區別。
(1)與電子合同相區別。在傳統合同中,電子合同是與之最為相近的,但兩者也存在以下兩大差異:首先,雖然電子合同將合同電子化并運用了互聯網技術,但其本質仍然是一種靜態約定,是“在網絡條件下,雙方或多方當事人之間為了實現一定的交易目的,通過電子信息網絡以電子郵件或者電子數據交換的形式達成的設立、變更、終止民事權利義務關系的協議。” (喬嬌:《電子合同訂立相關法律問題》,《人民法治》2018年第20期。)而智能合約既是協議也是執行,(柴振國:《區塊鏈下智能合約的合同法思考》,《廣東社會科學》2019年第4期。)可看作一個協議與執行的整體。其次,在電子合同中,協議內容仍然由文字信息表述,是將日常交流語言電子化,而智能合約則是通過將協議內容運用計算機代碼寫成程序的形式來表達。(王璞巍、楊航天、孟佶、陳晉川、杜小勇:《面向合同的智能合約的形式化定義及參考實現》,《軟件學報》2019年第9期。)
(2)在整體特性方面與傳統合同的區別。智能合約相較傳統合同具有以下特點:
首先,匿名性。由于在區塊鏈中運行,智能合約的賬戶運用了公鑰(Public Key)和私鑰(Private Key)(公、私鑰,為一種配合使用的密鑰對,其本質是一種加密算法。其中向外界公開的稱為公鑰,使用人自己保留的稱為私鑰。)以及數字簽名等技術,造成交易過程在公有鏈上全網廣播公開而交易當事人具體身份隱匿的情形。秘鑰的唯一性和可溯性有助于保障當事人的隱私安全,所有鏈上參與者只能知道一個確定的賬戶,而不知道具體的操作者。
其次,公開存儲性。在傳統合同中,合同可以利用一式多份的形式由當事人自己儲存,而智能合約以打包發布區塊的模式全節點共識存儲。這意味著非當事方賬戶或其他交易賬戶也可以查閱合約內容或交易狀態,在特定條件下(若該智能合約程序在設計之初被設定為可以重復使用或可被調用型合約,則局域內其他用戶也可發起調用指令調用該合約。)也可以調用這份合約。
再次,統一性。智能合約的編寫無論在哪個平臺上使用都采用統一的計算機程序語言,而程序語言與傳統合同使用的日常語言不同,在合約內容的表示方面可有效減少歧義,更具統一性。
最后,電子程序性。智能合約的編寫到執行都是通過一系列電子程序的設計和運行來完成的,這些程序都存于數據節點中,運行于網絡中,沒有實體,不同于傳統合同的實在性。
(3)在適用領域方面與傳統合同的區別。智能合約由于其程序依賴性和網絡依賴性,導致合約的可適用領域受到限制。這樣一來,那些可以用程序表達和執行的合約就能便捷地用智能合約的形式應用,而那些脫離系統的實在約定內容就很難應用到智能合約上。例如,《民法典》第十七章所規定的承攬合同,第十八章規定的建設工程合同、第二十一章規定的保管合同等就難以在智能合約上得以應用。而傳統合同由于不依賴電子程序,只要符合法律法規,民事主體之間可以在各個領域設立、變更、終止民事法律關系。
(4)在運行方式上與傳統合同的區別。第一,自動履行。智能合約由程序編寫,也由程序執行,無須當事人行動,也不受外界干預,具有很強的自動性。但對于傳統合同而言,雖然合同擬定好了,但多數情況下還需要當事人履行相關義務,并且當事人還可能依情況選擇不履行、部分履行或中止履行。第二,不可逆性。智能合約的程序一旦設定好并交由“礦工”(礦工,指區塊鏈中通過計算特定哈希函數,以求獲得區塊信息打包權和相應獎勵的人。)打包到區塊進行全節點廣播,合約的內容一般無法修改。合約設定的條件一旦達成,合約即自動運行,幾乎不能被干涉或阻止,是一種“開弓沒有回頭箭”的模式。
(5)在救濟方面與傳統合同的區別。如前所述,智能合約本身是一種“合約+執行”的一體化不可逆過程,當事人在一般情況下并不會存在違約情況,也就無須考慮在違約之后的救濟,能夠最大限度地滿足市場效率。但傳統合同中,如果違約成本低于收益時,當事人會選擇違約,最后由法律提供救濟,而這類情況是不滿足市場經濟效率需要的。(柴振國:《區塊鏈下智能合約的合同法思考》。)智能合約設計的目的通常就是為了滿足一般的合同條件,同時又最大限度地減少惡意、意外狀況和使用信任式中間媒介,達到包括減少受欺詐損失、仲裁和執法成本及其他交易成本等經濟目標。(V Buterin, A Next-generation Smart Contract and Decentralized Application Platform, Etherum, 2014(January), pp.1-36. https://www.mendeley.com/catalogue/7f15213c-fdfa-3247-8f64-5997b917c898/.)雖然智能合約意在用技術手段排除違約以及強制執行的必要,但如果出現需要救濟的情況,相較傳統合同而言存在救濟缺位,并沒有明確統一的技術對其支撐,法律上也缺乏相關可行的規定。
總的來看,智能合約與傳統合同有許多不同,其中部分特性是智能合約的優點,如:效率高、成本低、防篡改、違約風險低、消除強制執行必要,等等。但由于其不可逆的剛性和完全的電子程序依賴性,也使得較之傳統合同存在些許缺陷。
2.區塊鏈技術在智能合約中的應用
2008年11月,隨著“區塊鏈”這一概念的問世,互聯網技術又一次得到與其他領域深入融合的發展機會。如果說,中本聰發表的《比特幣:一種點對點現金支付系統》(Nakamoto S. “Bitcoin: a peer-to-peer electronic cash system” ,2009. https://bitcoin.org/bitcoin.pdf.)只是利用區塊鏈技術將相對當今以銀行為中心的貨幣系統進行了去中心化,2013年“以太坊”的出現則將區塊鏈技術運用到了更多領域的去中心化中。由于“以太坊”擁有一套在EVM(Ethereum Virtual Machine)中運行的圖靈完備的腳本語言(Turing-complete Programming Model),(V Buterin, A Next-generation Smart Contract and Decentralized Application Platform.)使得智能合約可以在該平臺得到很好的運用,并由此將智能合約與區塊鏈技術相結合。由于區塊鏈本身運用了非對稱加密、(袁勇、王飛躍:《區塊鏈技術發展現狀與展望》,《自動化學報》2016年第4期。)哈希函數(袁勇、王飛躍:《區塊鏈技術發展現狀與展望》。)及哈希指針(HASH POINT)路徑回溯、點對點(P2P)傳輸、鏈式結構等技術,在其上運行的智能合約也就具有了去中心化、可信共享、分布式記賬、儲存驗證、不可篡改和偽造、(袁勇,王飛躍:《區塊鏈技術發展現狀與展望》。)匿名性、可溯源等特點。
三、區塊鏈技術下智能合約對相關合同法的影響
1.智能合約對意思表示的影響
由于智能合約形式的合同在擬定和運行方式上具有特殊性,其對意思表示的載體、傳達方法和具體使用規則等方面會產生一定影響。(陳逸寧:《區塊技術下智能合約意思表示的認定》,《金融法苑》2018年第5期。)
第一,智能合約對意思自治的限制。
《民法典》第5條規定:民事主體從事民事活動,應當遵循自愿原則,按照自己的意思設立、變更、終止民事法律關系。這些法條被概括理解為“意思自治”。然而由于智能合約由區塊鏈作為底層技術支撐,要想用智能合約的方式訂立和履行合同就會受到一定的限制。這些限制主要有以下三點:一是模式限制。擬定智能合約只能采取編制計算機程序的模式進行,這就要求合約擬定當事人需要擁有計算機編程能力,至少需要通過相關專業人員進行合約擬定。這在一定程度上限制了當事人訂立合同的方式選擇。二是運行平臺限制。要想以智能合約的形式訂立和履行合同,目前仍必須在一定的去中心化自治組織(The Distributed Autonomous Organization)(Christoph Jentzsch, “Decentralized Autonomous Organization to Automate Governance”, 2017. https://download.slock.it/public/DAO/WhitePaper.pdf.)或公司提供的相應區塊鏈技術平臺上進行操作,目前主要以“以太坊”為代表。三是意思表示方式限制。《民法典》第469條規定,當事人訂立合同,可以采用書面形式、口頭形式或者其他形式。并更新規定:以電子數據交換方式能夠有形地表現所載內容,并可以隨時調取查用的數據電文,視為書面形式。然而,智能合約只能以代碼方式對意思做出表示,這不同于書面文字和口頭語言,也不同于數據電文或電子記錄。基于以上三點本文認為,要使用智能合約,會損失一定程度的意思自治。
第二,智能合約的意思表示存在誤差。
若將擬定智能合約的過程分為協商、開發和部署三個階段,(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《區塊鏈智能合約的發展現狀:架構、應用于發展趨勢》,《自動化學報》,網絡出版版本,出版時間2019年2月18日,網絡出版地址:http://kns.cnki.net/kcms/detail/11.2109.TP.20190218.1353.003.html,(\[J/OL\]. 1-13\[2020-07-06\].https://doi.org/10.16383/j.aas.c180586.)。)在協商階段時的智能合約與傳統合約類似,當事人就合約內容進行協商討論,以達到約定一致的程度就算協商完成。之后將把這些表示一致的合意內容用計算機代碼的形式寫成程序,然后才是后續的驗證、打包、發塊,再到運行。眾所周知,計算機語言不同于日常交流的語言。將日常交流語言所表達的意思用代碼寫成程序,不可避免地會產生一定程度的差異。代碼無法完整透徹地表示出當事人的意思,因此智能合約在意思表示方面,由于有編程轉化過程而存在意思表示誤差。
第三,智能合約影響“要約—承諾”架構。
《民法典》第472條規定:要約是希望和他人訂立合同的意思表示。第479條規定:承諾是受要約人同意要約的意思表示。在以智能合約為方式訂立合同的過程中,由于智能合約的擬制到成立較傳統合同有更多的程序和階段,這會對原本法律規定的“要約—承諾”架構造成一定影響。雖然目前學界對智能合約尚沒有一個公認的定義,但如前文所示,有觀點將智能合約定義為“一套以數字形式定義的承諾”。(Linnhoff-Popien et al.(eds.), Digital Marketplaces Unleashed, Springer-Verlag GmbH Germany 2018. https://doi.org/10.1007/978-3-662-49275-8_2.)本文認為,在智能合約中,要約與承諾不單在擬定環節有所涉及,而且存在于兩種情形中。第一種情形,在合約代碼化前,一方當事人向另一方當事人發出意圖訂立合約的意思表示,受要約人在協商后將合約代碼化,制成智能合約。由于智能合約一經成立發布,便具有不可逆、自動履行等特點,這符合“經受要約人承諾,要約人即受該意思表示約束”的規定。因此,可將智能合約本身認為是對合約擬定要約的一種“承諾”。但根據《以太坊白皮書》中的釋義,“以太坊中的合同不應被視為應該‘履行或‘遵守的東西,而應作為執行環境中的‘自治代理人”。(Kevin Werbach, Nicolas Cornell,“Contracts Ex Machine”, 67 Duke Law Journal, 2017. Available at: https://scholarship.law.duke.edu/dlj/vol67/iss2/2.)以太坊中的賬戶可分為外部賬戶與合約賬戶,(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《區塊鏈智能合約的發展現狀:架構、應用于發展趨勢》。)根據其規則,一個合約賬戶除了可在條件滿足時自動執行外,還存在被其他外部賬戶或合約賬戶調用的情況,(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《智能合約:架構及進展》,《自動化學報》2019年第3期。)這便是第二種情形。在存在合約調用的情況中,將一個合約發布以供其他外部賬戶或合約賬戶調用的行為可以理解為要約,一旦調用,調用人就不可逆受其合約內容約束,這種調用行為也就相應可被視為承諾。在前者,發出擬定要約和進行具體擬定過程中的“要約—承諾”可以進行撤回、撤銷操作,符合相關法律規定。而后一種情形,即合約存在調用的情況下,由于合約調用后的執行具有自動性和不可逆性,且網絡程序具有瞬時性,導致要約無法撤回、撤銷,承諾也無法撤回。該階段的要約與承諾受到了限制,無法進行撤回或撤銷操作。雖然當前有觀點認為此時的承諾性質為意思實現而非意思表示,(陳吉棟:《智能合約的法律構造》,《東方法學》2019年第3期。)但兩種情形就要約和承諾的條件本質來看,仍然屬于意思表示的范疇。
2.智能合約對合同效力的影響
第一,智能合約生效時間認定。
《民法典》第502條規定:依法成立的合同,自成立時生效。 智能合約由于從擬定到完成需經歷更多程序,過程也更長,若要以智能合約形式訂立合同,就要考慮在智能合約情況下的合同生效時間,這就需要認定其成立的時間。智能合約在履行前有協商、寫代碼編程、本地驗證、礦工打包、發塊等程序,其何時成立是一個問題。打包、發塊等程序的最大特點就是經過這些程序,合約就進入不可逆階段。由此,本文認為,在以智能合約的方式訂立合同的過程中,合約雙方或多方就合約內容協商一致后,將該內容編寫為合約程序,程序設定完成即告成立,合同也就自此生效。另外,若是已編好并發布以供調用的合約程序,則應該認定其在被調用時成立并生效。
若合約程序涉及“附條件”或“附期限”生效的,則按相關法律規定,當程序識別條件成就時生效,或自程序設定的期限屆至時生效。若合約內容涉及應當辦理批準、登記等手續才能生效時,應采取線上線下結合的方式,根據線下批準、登記手續辦理完成的時間認定合同生效。
第二,智能合約對認定合同無效難度的影響。
雖然,為了維持經濟秩序的穩定,當前法律革新的趨勢是認定合同無效的情況越來越少。《民法典》合同編對合同效力也不再單獨規定,而是援引適用第一編第六章民事法律行為的有關規定。但是,在以智能合約方式訂立和履行合同的過程中,仍有可能存在合同無效的情況,如合同訂立主體無民事行為能力、合約內容違反法律、行政法規的強制性規定等。因此,仍有必要對智能合約無效的相關情形進行討論和分析。
區塊鏈作為智能合約的底層技術支撐,廣泛運用了哈希算法、非對稱加密和公、私鑰,從而使智能合約擁有“匿名性”特點,呈現出合約內容公開而合約當事人隱秘的情況。任何授權節點(韓璇、袁勇、王飛躍:《區塊鏈安全問題:研究現狀與展望》,《自動化學報》2019年第1期。)都可經由公開查詢獲取合約內容等信息,(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《區塊鏈智能合約的發展現狀:架構、應用于發展趨勢》。)但無法獲取合約當事方的具體身份。在目前的技術條件下,沒有技術手段可以通過回溯查詢確定外部賬戶控制者的實際年齡,這就使無民事行為能力人,即不滿八周歲的未成年人或不能辨認自己行為的成年人利用他人身份信息,申請和控制賬戶的行為無法得到有效規制,從而給以智能合約方式訂立的合同在認定其無效方面造成了困難。當然,由于合約內容的公開,這就降低了因合約內容違反法律、行政法規的強制性規定而無效的認定難度。
第三,智能合約合同效力待定的情形。
根據《民法典》第145、171條的相關規定,可認為限制民事行為能力人訂立的合同(與其年齡、智力、精神狀況不相適應的),以及無權代理人訂立的合同屬于效力待定的情況,需要相關權利主體進行追認合同方為有效(《合同法》中無權處分人訂立的合同不再是效力待定的情況)。在智能合約中,由于匿名的緣故,無法確定外部賬戶控制者(合約訂立當事方)的年齡、智力與精神狀況,也就無法判斷合約是否因訂立主體為限制民事行為能力人而導致合同效力待定。另外,智能合約的執行很大程度上取決于程序的判斷,當程序識別到條件達成時將自動履行。(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《區塊鏈智能合約的發展現狀:架構、應用于發展趨勢》。)雖然當前的智能合約程序仍然依靠提前預設的“If-then-else”邏輯(許可:《決策十字陣中的智能合約》,《東方法學》2019年第3期。)設定來判斷和識別條件是否達到,但隨著科技的發展,智能合約程序的智能化程度將不斷提升,當合約能對各種條件和情況進行學習和自主判斷并決定是否執行時,即達到“What-if”邏輯時,就會出現類似于代理的情況。目前,法律對諸如人工智能等智能程序是否有代理權尚無定論,學界對該方面的研究也不充分。但在智能合約中,由于設計程序前當事方會有實在的協商過程,且都明白后續程序的執行邏輯和執行過程,所以本文認為,智能合約中智能程序通常情況下擁有代理權,且該代理權具有非單方性,即代表合約各方在運行過程中識別條件并做出行為選擇。但當運行過程中出現了設計時未預見的新情況,而智能程序對這些預料之外的情況做出反應時,應視為超出代理權范圍實施的行為,該情形應屬于無權代理,合約因此成就的狀態有待訂立主體的追認,此時合同的效力待定。
第四,智能合約對合同可撤銷制度的客觀限制。
《合同法》第54條對可撤銷合同的規定在《民法典》合同編里已不再體現,轉而由《民法典》第147條至151條所規定的民事法律行為的可撤銷情形予以代替。合同作為一種典型的民事法律行為,當出現重大誤解、(《民法典》第147條:基于重大誤解實施的民事法律行為,行為人有權請求人民法院或者仲裁機構予以撤銷。)一方或第三人實施欺詐(《民法典》第148條:一方以欺詐手段,使對方在違背真實意思的情況下實施的民事法律行為,受欺詐方有權請求人民法院或者仲裁機構予以撤銷。第149條:第三人實施欺詐行為,使一方在違背真實意思的情況下實施的民事法律行為,對方知道或者應當知道該欺詐行為的,受欺詐方有權請求人民法院或者仲裁機構予以撤銷。)或脅迫,(《民法典》第150條:一方或者第三人以脅迫手段,使對方在違背真實意思的情況下實施的民事法律行為,受脅迫方有權請求人民法院或者仲裁機構予以撤銷。)以及顯示公平(《民法典》第151條:一方利用對方處于危困狀態、缺乏判斷能力等情形,致使民事法律行為成立時顯失公平的,受損害方有權請求人民法院或者仲裁機構予以撤銷。)的情況時是可撤銷的。智能合約當然也可能出現重大誤解或顯失公平的情況,特別是基于匿名性的特點,更可能對合約當事方身份產生重大誤解。智能合約的履行一體化、不可逆、不可篡改和自動執行等特點,會造成發布到區塊鏈上的智能合約一般不可撤銷。(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《智能合約:架構及進展》。)雖然在協商階段可以放棄擬定合約,但此時由于合同尚未生效,也不存在可撤銷問題。總而言之,智能合約會限制當事人的撤銷權。
第四,智能合約中合同履行不能的情況。
合同履行不能又可稱為“給付不能”,是債務人由于某種原因,事實上已不可能履行債務。履行不能導致債的目的客觀上無法實現,因而導致債務消滅或轉化為損害賠償之債,債權人無法請求繼續履行。一般認為,這樣的情況在智能合約中只會存在于涉及合約調用的合同中,因為對于一般智能合約來說,合約程序自動履行,不存在無法實現的情況(不可抗力除外),但合約的調用涉及對外部賬戶或其他合約賬戶的操作,需要網外介入,因此就可能出現某種原因(如債務方賬戶實際控制者在調用賬戶前死亡等)使調用的情況不能進行,而使得智能合約履行不能。
第五,智能合約對價支付的合法性認定。
目前,智能合約的應用需要在一定的平臺上(如“以太坊”、超級賬本等)進行,而在其上的合約交易,其對價支付只能使用特定的加密貨幣。如在“以太坊”中的智能合約不可避免要使用“燃料”來執行程序,使用以太幣以支付合約對價。因為從技術層面上看,這些加密貨幣與該平臺區塊鏈的運行是一個整體。在比特幣階段,比特幣作為區塊打包者的獎勵,在“以太坊”階段,“燃料”是給“礦工”的費用,這些加密貨幣成為區塊鏈技術的一部分。但是,由于加密貨幣可能被用于包括洗錢、暗網支付、盜竊、詐騙、逃稅等犯罪行為中,(漆彤、卓峻帆:《加密貨幣的法律屬性與監管框架——以比較研究為視角》,《財經法學》2019年第4期。)中國對其進行了嚴格的管控。2013年12月5日,央行等五部委發布《關于防范比特幣風險的通知》,(詳見中國人民銀行:《關于防范比特幣風險的通知》,載中國人民銀行網站:http://www.pbc.gov.cn/goutongjiaoliu/113456/113469/2804576/index.html,最后訪問時間:2020年6月29日。)將比特幣定性為一種虛擬商品,而不是一種貨幣。2017年9月4日,央行又聯合七部門發布《關于防范代幣發行融資風險的公告》,(詳見中國人民銀行:《關于防范代幣發行融資風險的公告》,載中國人民銀行網站:http://www.pbc.gov.cn/goutongjiaoliu/113456/113469/3374222/index.html,最后訪問時間:2020年6月17日。)強調“代幣或虛擬貨幣不具有與貨幣同等的法律地位”。從司法實踐看,浙江省杭州市中級人民法院(2018)浙01民終10053號“陳某訴浙江某通信科技有限公司網絡購物合同糾紛案”(浙江省杭州市中級人民法院:《陳國貴、浙江億邦通信科技有限公司網絡購物合同糾紛二審民事判決書》,載中國裁判文書網:http://wenshu.court.gov.cn/website/wenshu/181107ANFZ0BXSK4/index.html?docId=bb56f0f050a14981bb6faa93009fa067,最后訪問時間:2020年5月25日。)認為,比特幣是互聯網技術發展后在互聯網環境中生成的虛擬物品,由網絡節點的計算生成,并不是法定貨幣種類,沒有集中的發行方,也不受任何中央銀行和金融機構控制,因而不具有法償性與強制性等貨幣屬性。但比特幣具有商品屬性,可以被接受者使用貨幣購買。綜上,按照目前對加密貨幣的各項規定來看,加密貨幣具商品屬性,與依法發行的貨幣不享有同等地位。但筆者認為,在以智能合約為形式的合同中,以加密貨幣作為合同對價支付的行為仍是合法的,理由在于對價的支付并不要求必須是貨幣。
5.智能合約對合同變更、解除的影響
第一,智能合約的變更方法。
根據《民法典》第543條,在當事人協商一致的情況下可以變更合同,但這一點在智能合約中卻很難實現。智能合約的自動性和執行性一定程度上突破了合同的相對性,在將合同相對方從合同中解放出來的同時,把合同雙方當事人的權利進行了下放。(柴振國:《區塊鏈下智能合約的合同法思考》。)這樣一來,擬定好的合約一經發布,就不可逆也無法篡改,就算當事人事后協商一致也沒有辦法對已發布的合約進行變更。目前通常的做法是把智能合約的變更以程序的方式一同擬定,這樣可以使合約在遇到需要變更的情況時自動變更,相當于協商一致前置而變更后置。但是,未來的不確定性決定了不可能在程序中囊括所有的可能狀況。現階段智能合約還只能處理預定義代碼,無法較好地應對不可預料的情勢變更。(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《區塊鏈智能合約的發展現狀:架構、應用于發展趨勢》。)因此,智能合約的變更只能通過新合約覆蓋的方式完成,也就是在協商一致需要變更時,新擬定一個變更了的合約發布到區塊鏈,同時向共識系統宣布前合約廢止。
第二,智能合約對合同解除形成限制。
根據《民法典》第562條和第563條,當事人協商一致或出現法定情形(《民法典》第563條規定:有下列情形之一的,當事人可以解除合同:(一)因不可抗力致使不能實現合同目的;(二)在履行期限屆滿前,當事人一方明確表示或者以自己的行為表明不履行主要債務;(三)當事人一方遲延履行主要債務,經催告后在合理期限內仍未履行;(四)當事人一方遲延履行債務或者有其他違約行為致使不能實現合同目的;(五)法律規定的其他情形。)可以解除合同。然而在智能合約中,合約一旦在區塊鏈上發布就無法解除,這是由不可逆性決定的。這樣的情況下,智能合約的解除就受到了限制。盡管智能合約排除了一些法定解除情形,如:在履行期限屆滿之前,當事人一方明確表示或者以自己的行為表明不履行主要債務;當事人一方遲延履行主要債務,經催告后在合理期限內仍未履行;當事人一方遲延履行債務或者有其他違約行為致使不能實現合同目的,等等。但從技術層面講,當智能合約出現不可修復的高危漏洞時,合約有必要予以解除,目前多通過強制自毀等方式完成。(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《區塊鏈智能合約的發展現狀:架構、應用于發展趨勢》。)
6.智能合約對違約及違約救濟的影響
第一,智能合約可有效減少違約情況。
智能合約的初衷就是利用程序技術避免違約情況的發生,通過程序的自動執行省去法院的強制執行,保證履約的經濟效益。智能合約作為一個從擬定到執行的動態整體,在區塊鏈上自主運行,排除合約當事人的干預。這樣一來,對當事人違約的行為造成了很大限制,使違約行為因沒有可行的操作方法而最多停留在想法階段。雖然,這樣的初衷和技術手段對各當事人的部分權利行使造成了限制,但需要承認的是,這的確從客觀上減少了違約情況。
第二,智能合約平臺的違約救濟缺位。
當前智能合約的應用還沒有達到廣泛的程度,而依賴于諸如“以太坊”這類的平臺。這些平臺通過技術手段搭建一個區塊鏈體系,建設基礎設施層,設立一定規則,推出相應的賬戶、加密貨幣,以供人在其中運行智能合約。但這類平臺與當前的交易平臺公司有較大區別。一是此類平臺更接近一個應用平臺而不是一個法人,它沒有員工、缺少管理,(凱文·沃巴赫(Kevin Werbach):《信任,但需要驗證:論區塊鏈為何需要法律》,《東方法學》2018年第4期。)通過搭建沒有實體的網絡系統來提供服務。二是這類平臺的構成全部以系統程序的方式運行在網絡中,存在監管技術缺失的問題,(韓璇、袁勇、王飛躍:《區塊鏈安全問題:研究現狀與展望》。)目前也沒有專門的機構對其進行監管。這樣的平臺只是提供技術,而沒有完備的救濟體系。并且,即使智能合約的使用涉及違約、違法等問題,平臺也幾乎不予干涉。就如同提供了一個工具,至于工具被用來做什么,很少做后續跟蹤和管理。所以,智能合約也可能出現惡意合約,也可能出現欺詐、重大誤解等情況,但平臺對這些情況的出現并沒有后續的救濟,這就是目前智能合約的救濟缺位。就當前看來,使用智能合約方式訂立的合同,如果出現違約等情況,還是只能通過傳統的司法途徑解決。
四、智能合約納入《民法典》調整的路徑及建議
1.智能合約納入《民法典》調整的路徑
第一,修改和完善《民法典》合同編。
《民法典》合同編并沒有考慮以智能合約的形式訂立合同的情況,因此會出現無法契合或無法適用的情形。合約的本質與合同非常接近,因此對以智能合約方式訂立的合同,仍然應納入《民法典》合同編來進行調整,同時應該考慮對該部分法律進行修改和完善。針對條款無法適用的情形,可用增加條款內容或排除情形的方式使條款繼續適用。如果鑒于法律修改過程漫長,程序嚴謹復雜,也可以通過司法解釋的方式對現行相關合同的法律法規有關條款進行解釋。此外,由于智能合約技術的發展迅速,運用過程的涉及面廣泛,且是一套較為獨立的技術基礎和運行模式,還可以考慮在《民法典》之外,對各類利用區塊鏈技術的民事法律關系進行單獨立法。或者使用行政法規或部門規章等較為便捷的形式對智能合約的使用予以規制。
第二,從技術層面予以支撐。
要將智能合約納入《民法典》調整,光靠法律方面的修改和完善顯然是不夠的,智能合約技術本身也要有相應的改善,使智能合約規范化。從技術層面來看,路徑主要有如下兩點 :一是發行法定數字貨幣。目前區塊鏈技術中智能合約所用到的數字貨幣并不被認為是貨幣,而被認為是一種商品,且存在監管難、發行混亂、融資可能存在龐氏騙局等問題。在現階段中國境內發展加密貨幣是受到嚴格限制的,中國禁止金融機構提供相關業務。(漆彤、卓峻帆:《加密貨幣的法律屬性與監管框架——以比較研究為視角》。)因此要將智能合約納入法律規制,就必須發行法律認可的數字貨幣。中國人民銀行從2014年已經開始研究法定數字貨幣,(詳見中國人民銀行:《關于冒用人民銀行名義發行或推廣法定數字貨幣情況的公告》,載中國人民銀行網:http://www.pbc.gov.cn/rmyh/105208/3919880/index.html,最后訪問時間:2020年6月15日。)目前中國人民銀行數字貨幣的各項測試及準備工作正有條不紊地推進。2020年6月22日,一位前人行高級官員透露,中國已經完成了計劃中的CBDC后端基礎設施。(新浪財經:《驅逐美元:中國央行數字貨幣將史無前例挑戰美元霸權》,載新浪網: http://finance.sina.com.cn/blockchain/roll/2020-06-24/doc-iircuyvk0198107.shtml,最后訪問日期:2020年7月1日。)8月12日,商務部印發《全面深化服務貿易創新發展試點總體方案》,正式公開宣布,在京、津、冀、長三角、粵港澳大灣區及中西部具備條件的試點地區開展數字人民幣試點。二是將法律條文納入運維層對合約進行驗證。智能合約在協商完成并且編寫為程序后,會在運維層受到驗證。該步驟的本意為從技術層面驗證程序的可行性,檢測程序漏洞、代碼錯誤等情況是否存在。運維層是對合約層靜態合約數據的動態操作驗證。(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《區塊鏈智能合約的發展現狀:架構、應用于發展趨勢》。)因此,可以把法律條文以代碼的形式編入系統,爾后對各合約以代碼檢測的方式進行合法性查驗。若發現違反法律規定的合約內容,將合約程序進行回滾、更新、自毀等操作以保障其符合法律規定。
2.智能合約納入《民法典》合同編調整的若干建議
第一,對意思表示一致做擴大認定。
針對智能合約技術規則與傳統合約法律條文存在巨大的語言鴻溝,且兩者轉換時不可避免存在翻譯誤差繼而影響智能合約法律效力的問題,(歐陽麗煒、王帥、袁勇、倪曉春、王飛躍:《區塊鏈智能合約的發展現狀:架構、應用于發展趨勢》。)應對《民法典》中的意思表示一致做擴大認定。即根據客觀事實對是否達到所表意思做出認定。傳統合約語言對同一事物可以有不同表示,因此在判斷智能合約意思表示是否一致時應根據程序代碼設定的具體情況來定。如果程序代碼所能達到的意思客觀上與當事人所表達的意思沒有實質區別,將認定為意思表示一致,此時應該忽略從日常語言到計算機程序語言的轉換誤差。
第二,“要約—承諾”規則前置化。
針對“要約—承諾”架構在智能合約中的處置問題,應該將其前置化。如前文所言,在以智能合約的方式訂立合同時,要約與承諾可以在兩個階段出現。首先是在程序擬定完成前,發出擬定程序要求是要約,協商后同意并開始擬定程序至完成為承諾。其次是在合約發布至區塊鏈后的調用情況中,發起調用是要約,接受調用為承諾。然而后者由于區塊鏈智能合約本身的技術原因,該階段的要約和承諾存在撤回、撤銷不能的問題,一定程度上限制了當事人權利的行使。因此,將前者情況中的要約與承諾行為認定為合同中的“要約—承諾”更為合理。
第三,認定智能合約的生效時間。
合同于何時生效是一個重要問題。根據《民法典》的規定,傳統合同一般情況下在成立時生效。而智能合約,由于其協商擬定到履行的過程相較于傳統合同有更多的程序,為了防止出現在成立時間的認定上出現爭議,應該在《民法典》合同編中對以智能合約形式訂立的合同的成立時間做出認定。如前文提過,根據智能合約擬定過程中的各程序的特點,認為在雙方或多方協商一致后擬定合約程序,程序擬定完成時認定成立最妥當。至于在生效時間的確認上,仍然根據《民法典》相關規定認定在合同成立時生效。有其他條件限制的也依《民法典》相關規則處理。
第四,對合約當事人進行一定的匿名限制。
針對智能合約匿名性的特點,在以智能合約形式訂立合同時,應對這一特點做出限制,即進行一些反匿名操作。雖然匿名性作為智能合約的一大特性有其優點,但是在作為合同時,匿名會對合同的效力、履行、救濟等造成較大影響,甚至可能滋生犯罪。因此,要想將智能合約納入《民法典》調整,要想以智能合約方式訂立的合同能較好地達到合同目的,應在《民法典》中對智能合約的使用增加一定的反匿名規定,對匿名行為做出限制,以更好地保障合同行為合法合規。如:為了防止合同因訂立主體的民事行為能力問題造成合同效力問題,對以智能合約形式訂立合同的當事人賬戶進行非共識實名(只用于驗證民事行為能力,對當事人身份依舊可選擇保密,且不對其他上鏈主體公開)年齡驗證,通過對虛報年齡或其他做假行為進行懲罰等方式最大限度地保障合同的效力。
第五,對智能程序的代理權進行認定。
根據區塊鏈智能合約的運行模式,在合約程序擬定好后,合約當事人無須再進行操作,合約的履行交由程序自主完成。此時形成了一個授權,合約履行將交由程序去判斷是否達到某些預定情況,并選擇不同的應對或履行方式。因此,需要對智能程序的代理權進行認定。由于目前階段的程序尚不具備強人工智能的智能程度,也就是程序尚不具備意識,所有的選擇和應對都按照擬定時所考慮的既定預設進行。并且,以智能合約形式訂立合同的當事人都清楚合約的運行模式,所以應該認定當事人接受由程序自主履行的模式設定。應在《民法典》有關代理的部分增加對合約程序的代理認定,在預先設定的所有情況范圍內,合約程序具有代理權。但在出現預料之外的情況時,合約程序對其做出的反應,應該視為超出代理權范圍的代理行為,為無權代理,需要當事人進一步操作以表示是否追認。
第六,增加對智能合約不可逆性的救濟途徑。
區塊鏈智能合約具有不可逆性,這與傳統合同有較大區別,要將其納入《民法典》合同編進行調整,需要對這一特性做出應對。由于這一特性是區塊鏈技術的本質特征,無法對其進行限制,因此只能對現行合同法進行改變。如,可以嘗試增加對智能合約不可逆導致的損害或損失提供補償;可以增加針對撤銷權、解除權損失的補償,規定在以智能合約形式訂立合同時,當事人應提供對擁有撤銷權或解除權一方的預備補償,當需要行使該權利但由于技術原因而又無法行使時,獲得該補償。
第七,對合同對價選擇進行規定。
以智能合約方式訂立合同,應選擇法律認可的對價方式。因為區塊鏈智能合約的一些技術特征可能會滋生違法甚至犯罪行為,且就目前來看,對加密數字貨幣存在監管難、控制難的問題,以智能合約方式訂立合同必須遵守法律法規。當前智能合約所普遍采用的對價方式為數字貨幣支付,然而國內學界認為這些數字貨幣是不符合法律規定的,只能將其認定為商品屬性的“代幣”或“虛擬貨幣”。(漆彤、卓峻帆:《加密貨幣的法律屬性與監管框架——以比較研究為視角》。)所以,應在《民法典》合同編中對智能合約的對價選擇進行規定。在未來,結合法定數字貨幣的發行,可以在這方面有更好的規制效果。
第八,增加智能合約違約的救濟途徑。
前文提到,目前區塊鏈智能合約的提供平臺對于違約情況的救濟處于缺位狀態。智能合約雖然在自動履行方面不可逆,但這不等于說智能合約不會違約。所以對智能合約的違約情況,應該在《民法典》中規定救濟途徑。如考慮使用線上線下相結合的方式,在可以確定當事人身份的情況下,增加外部人工救濟。還可參考DAO事件的處理方法,(凱文·沃巴赫:《信任,但需要驗證:論區塊鏈為何需要法律》。)利用一些技術手段在合同違約時,對當事人提供救濟。
Research on Block-Chain Smart Contract under Contract Part of Civil Code
LI Xudong,MA Songyuan
Abstract: The newly smart contract is born out of blockchain technology. With the continuous expansion of its scope and application, peoples trading methods will be greatly changed, in the meantime, lots of challenges will brought to the legal rules in the field of contracts in China. Although the essence of the contract is similar to that of the contract, it can be found that the smart contract has some differences or even contradictions with the current law in terms of expression of intention, validity of contract, right of defense, performance of contract, rescission of change and relief of breach of contract. A two-pronged approach is needed to incorporate smart contracts into the contract. Enhanced technology in smart contracts development, and supporting the legal digital currency to make it safer and more standardized. In the aspect of contract law, it is possible to enlarge the determination of meaning, to pre-process the “offer-acceptance” rule, to make a unified stipulation on the effective time of smart contract, to make certain anti-anonymity measures to the parties to the contract, and to distinguish the agency right of smart contract procedure. Finally, more corresponding relief channels are needed, and some restrictions should be made on the way of contract consideration.
Key words: block-chain, smart contract, civil code, contract law, adjustment path
(責任編輯:蘇建軍)
作者簡介:李旭東,西南大學法學院教授(重慶 400175)。馬淞元,西南大學法學院網絡與人工智能研究中心助理研究員(重慶 400175)。