張可 胡悅
摘? ? ? 要:智能合約是運(yùn)行在區(qū)塊鏈上能夠自動(dòng)履行合同義務(wù)的新型合同,因其具備“自動(dòng)履行”和“去中心化”等優(yōu)勢(shì),故可降低合同履行成本、提高合同運(yùn)行效率,但也導(dǎo)致了智能合約難以直接適用現(xiàn)行合同制度的訂立規(guī)則、生效要件和救濟(jì)方式等問(wèn)題。本文從理論角度分析了智能合約的運(yùn)行過(guò)程,通過(guò)對(duì)合同法理論的解釋使智能合約與合同制度相契合;從技術(shù)角度分析了智能合約的原理與架構(gòu),利用技術(shù)手段對(duì)其進(jìn)行修正,使智能合約符合《合同法》的規(guī)定。
關(guān)? 鍵? 詞:智能合約;《合同法》;區(qū)塊鏈
中圖分類(lèi)號(hào):D923.6? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? 文章編號(hào):1007-8207(2020)03-0108-09
收稿日期:2019-11-05
作者簡(jiǎn)介:張可(1995—),女,吉林白山人,東北師范大學(xué)民商法學(xué)碩士研究生,研究方向?yàn)楹贤?胡悅(1960—),男,吉林長(zhǎng)春人,東北師范大學(xué)教授,研究方向?yàn)榻?jīng)濟(jì)法學(xué)、民商法學(xué)、經(jīng)濟(jì)行政法學(xué)。
基于智能合約的優(yōu)勢(shì),一些領(lǐng)域已經(jīng)開(kāi)始廣泛應(yīng)用,其中最典型的是The DAO(Decentralized autonomous organization)——眾籌組織,它利用智能合約運(yùn)營(yíng)組織以及管理共同資產(chǎn)。除此之外,智能合約還在理財(cái)、數(shù)字化資產(chǎn)等方面得以應(yīng)用。但與傳統(tǒng)合同不同,智能合約是在區(qū)塊鏈上運(yùn)行的一系列代碼,它改變了合同的訂立、運(yùn)行以及救濟(jì)方式,給合同法的適用帶來(lái)了挑戰(zhàn)。
一、智能合約訂立階段和傳統(tǒng)制度的差異與融合
(一)智能合約在訂立階段與“要約——承諾”規(guī)則的沖突
⒈難以識(shí)別智能合約的要約和承諾。在訂立智能合約之前,當(dāng)事人首先需下載區(qū)塊鏈軟件進(jìn)而成為區(qū)塊鏈的用戶(hù),隨后區(qū)塊鏈系統(tǒng)為用戶(hù)分配公鑰和私鑰,公鑰是用戶(hù)在區(qū)塊鏈上的唯一地址,私鑰是用來(lái)操作該賬戶(hù)的唯一鑰匙,[1]二者互相匹配,用公鑰加密的文件只能通過(guò)私鑰解密。智能合約的發(fā)起人在編寫(xiě)合約代碼之后,利用接收用戶(hù)的公鑰對(duì)代碼進(jìn)行加密,并通過(guò)發(fā)起人的用戶(hù)地址將代碼發(fā)送給接收用戶(hù)。當(dāng)另一方當(dāng)事人通過(guò)區(qū)塊鏈節(jié)點(diǎn)接收到加密文件后,可用自己的私鑰解密代碼,從而獲悉合約內(nèi)容。如果接收方同意合約的內(nèi)容,就可用私鑰簽署合約,以達(dá)成智能合約。但從智能合約的訂立過(guò)程來(lái)看,當(dāng)事人并未明確地發(fā)出要約或作出承諾,因此難以直接適用合同法所規(guī)定的“要約——承諾”規(guī)則。
⒉智能合約限制了要約自由和承諾自由。合同法規(guī)定了要約的撤回、撤銷(xiāo)制度以及承諾的撤回制度,從而賦予當(dāng)事人在合同成立生效前修改意思表示的空間。但智能合約的電子屬性導(dǎo)致其難以適用這一制度,限制了締約人的要約自由和承諾自由。一方面,締結(jié)智能合約難以撤回要約或承諾。智能合約采用數(shù)字形式將合同內(nèi)容記錄在計(jì)算機(jī)代碼之中,但由于計(jì)算機(jī)程序具有不可逆性、迅捷性,因此合約代碼的傳輸具有即時(shí)性,這就導(dǎo)致撤回要約或承諾的通知無(wú)法提前或者同時(shí)到達(dá)受要約人或要約人;另一方面,締結(jié)智能合約難以撤銷(xiāo)要約。[2]由于受要約人很可能對(duì)要約設(shè)定了“自動(dòng)承諾”,當(dāng)要約到達(dá)時(shí)受要約人的系統(tǒng)便會(huì)自動(dòng)發(fā)出承諾,合同即告成立,因此,要約的撤銷(xiāo)并不具有可行性??梢?jiàn),雖然智能合約可以縮短締約人意思表示的傳播時(shí)間,但同時(shí)締約人也喪失了重新協(xié)商和選擇的機(jī)會(huì),給要約的撤回、撤銷(xiāo)制度以及承諾的撤回制度帶來(lái)一定的沖擊。[3]
(二)智能合約與“要約——承諾”規(guī)則的融合
筆者認(rèn)為,智能合約的訂立過(guò)程仍符合“要約——承諾”規(guī)則,但在認(rèn)定智能合約的要約與承諾之前,應(yīng)首先明確智能合約的模式。因?yàn)樵诓煌J较轮悄芎霞s的訂立方式也不相同,從而對(duì)智能合約要約與承諾的認(rèn)定產(chǎn)生影響。根據(jù)合約內(nèi)容代碼化的程度不同,可以將智能合約的模式分為兩類(lèi):一類(lèi)是外部模式,另一類(lèi)是內(nèi)部模式。[4]外部模式是指智能合約與傳統(tǒng)合同并存,并以傳統(tǒng)合同為主導(dǎo)的模式。在這種模式下,雙方當(dāng)事人先訂立傳統(tǒng)合同,再將部分合同條款編寫(xiě)成智能合約代碼,使其能夠?qū)崿F(xiàn)自動(dòng)履行。當(dāng)智能合約與傳統(tǒng)合同的內(nèi)容不一致時(shí),應(yīng)以傳統(tǒng)合同的約定為準(zhǔn)。內(nèi)部模式的智能合約分為兩種——全部代碼化模式和部分代碼化模式。在全部代碼化模式下,智能合約完全替代了傳統(tǒng)合同,包含了當(dāng)事人間協(xié)議的全部?jī)?nèi)容,具有法律效力。在該模式下,一方當(dāng)事人事先編寫(xiě)智能合約代碼,再將合約代碼部署到區(qū)塊鏈上,等待另一方當(dāng)事人簽署該合約。而部分代碼化模式的智能合約只包含當(dāng)事人間的權(quán)利義務(wù)條款,在該模式下,當(dāng)事人需先擬定傳統(tǒng)合同,再將權(quán)利義務(wù)條款編寫(xiě)成智能合約代碼。雖然部分代碼化智能合約的內(nèi)容并不完整,但由于權(quán)利義務(wù)條款足已構(gòu)成一份協(xié)議,因此代碼不僅是對(duì)傳統(tǒng)合同的翻譯,而且是具有法律效力的合同。因此,在外部模式下,可以直接依照傳統(tǒng)方式認(rèn)定智能合約的要約與承諾。因?yàn)楫?dāng)事人須依照“要約——承諾”規(guī)則訂立傳統(tǒng)合同。此時(shí)雙方已經(jīng)就協(xié)議內(nèi)容達(dá)成合意,而智能合約只是將傳統(tǒng)合同的部分條款翻譯成代碼,并未改變當(dāng)事人合意的內(nèi)容,且在當(dāng)事人采用外部模式時(shí)已經(jīng)明確了傳統(tǒng)合同的主導(dǎo)地位,所以,即使智能合約與傳統(tǒng)合同發(fā)生沖突,也應(yīng)以傳統(tǒng)合同的合意為準(zhǔn)。但如果當(dāng)事人采用了內(nèi)部模式,應(yīng)從智能合約的訂立過(guò)程重新認(rèn)定當(dāng)事人間的合意。因?yàn)樽匀徽Z(yǔ)言文本或是不構(gòu)成完整的合同,或是作為智能合約的補(bǔ)充、解釋?zhuān)噪y以體現(xiàn)當(dāng)事人真正的意思表示。
⒈對(duì)智能合約要約的認(rèn)定。如前所述,在訂立內(nèi)部模式的智能合約時(shí),一方當(dāng)事人須先將智能合約的代碼部署到區(qū)塊鏈,發(fā)送給另一方當(dāng)事人,而這一行為類(lèi)似于要約人發(fā)出要約,但是否構(gòu)成要約取決于部署代碼的行為是否符合合同法規(guī)定的要約構(gòu)成要件:⑴要約是特定人所為的意思表示;⑵要約須向相對(duì)人發(fā)出;⑶要約必須具有締結(jié)合同的目的;⑷要約的內(nèi)容必須明確具體。[5]首先,在區(qū)塊鏈上部署智能合約代碼即為特定人所為的意思表示。只有獲取公鑰和私鑰的區(qū)塊鏈用戶(hù)才可以在區(qū)塊鏈上部署代碼,而公鑰和私鑰都是唯一的,因此部署代碼的行為人是特定的。其次,在區(qū)塊鏈上部署智能合約代碼符合向相對(duì)人發(fā)出特定意思表示的要件。只要智能合約的發(fā)布人將合約代碼部署到區(qū)塊鏈上,另一方當(dāng)事人即可通過(guò)區(qū)塊鏈節(jié)點(diǎn)接收代碼,從而獲取合約內(nèi)容。第三,將智能合約代碼部署到區(qū)塊鏈上的行為具有締結(jié)合同的目的。智能合約的發(fā)布人明知如果將其編寫(xiě)的智能合約代碼發(fā)布到區(qū)塊鏈上,代碼的接收人便可通過(guò)簽名(或其他行為)啟動(dòng)智能合約,合約開(kāi)始自動(dòng)履行,發(fā)布人將嚴(yán)格受到智能合約內(nèi)容的拘束。因此,自動(dòng)化的執(zhí)行機(jī)制表明,智能合約的發(fā)布人具有締結(jié)合同的目的。[6]第四,部署到區(qū)塊鏈上的智能合約代碼是具體確定的。智能合約的編寫(xiě)需運(yùn)用計(jì)算機(jī)語(yǔ)言,而計(jì)算機(jī)語(yǔ)言具有準(zhǔn)確性,因?yàn)橐粋€(gè)代碼只能表達(dá)一種含義,否則程序無(wú)法運(yùn)行。
⒉對(duì)智能合約承諾的認(rèn)定。如前所述,當(dāng)雙方當(dāng)事人采取外部模式訂立智能合約時(shí)則應(yīng)以傳統(tǒng)規(guī)則認(rèn)定智能合約的承諾,如果采用內(nèi)部模式應(yīng)重新識(shí)別其承諾。承諾是受要約人同意要約的意思表示。而智能合約的受要約人如果同意要約內(nèi)容即可用私鑰簽署智能合約,之后合約通過(guò)P2P網(wǎng)絡(luò)擴(kuò)散并存儲(chǔ)至區(qū)塊鏈中。從這一過(guò)程來(lái)看,受要約人用私鑰簽署合約的行為即為同意要約的意思表示,但是否可以將其認(rèn)定為承諾還應(yīng)判斷該行為是否符合承諾的構(gòu)成要件:⑴必須由受要約人作出;⑵必須向要約人作出;⑶承諾的內(nèi)容應(yīng)當(dāng)與要約的內(nèi)容一致;⑷承諾必須在要約的存續(xù)期間作出。[7]首先,用私鑰簽署智能合約的行為是由受要約人作出的。因?yàn)楹炇鹬悄芎霞s的只能是已經(jīng)接收到智能合約代碼的區(qū)塊鏈用戶(hù),并且簽署智能合約必須使用用戶(hù)唯一的私鑰,因此只能由代碼的接收方簽署智能合約。其次,簽署智能合約的行為是向要約人作出的。為保證交易安全,區(qū)塊鏈采用了非對(duì)稱(chēng)加密技術(shù),接收到代碼的當(dāng)事人在簽署合約之前可以用發(fā)起人的公鑰驗(yàn)證信息來(lái)源,因此當(dāng)事人所簽署的智能合約只能是要約人發(fā)出的智能合約代碼。第三,接收到代碼的當(dāng)事人未對(duì)要約的內(nèi)容進(jìn)行變更。由于在區(qū)塊鏈上代碼只可讀而不可寫(xiě),因此,當(dāng)事人只能作出是否同意要約的意思表示而無(wú)法變更其內(nèi)容。第四,智能合約的簽署必須在要約的存續(xù)期間進(jìn)行。如果要約人在代碼中事先設(shè)定了承諾的期限,則受要約人應(yīng)在期限內(nèi)簽署合約,否則要約失效;如果要約中并未規(guī)定承諾的期限,由于該要約是以非對(duì)話方式作出的,因此當(dāng)事人在合理期限內(nèi)簽署智能合約都是有效的。
⒊對(duì)智能合約限制要約自由和承諾自由問(wèn)題的反思。要約與承諾不可撤回的問(wèn)題具有普遍性,并非僅存在于智能合約的應(yīng)用中。要約與承諾的撤回制度是建立于“紙質(zhì)郵遞”時(shí)代,郵寄所需的時(shí)間為要約與承諾的撤回創(chuàng)造了條件。然而隨著數(shù)據(jù)電文的廣泛應(yīng)用,削弱了要約與承諾撤回制度的實(shí)用性。由于數(shù)據(jù)電文的傳播速度快,要約與承諾發(fā)出即到達(dá)、生效,難以撤回。因此,并非只有智能合約當(dāng)事人的要約自由和承諾自由受到了限制,其他使用數(shù)據(jù)電文的締約人都會(huì)面臨這一問(wèn)題。但智能合約并非不可適用要約撤銷(xiāo)制度,只要撤銷(xiāo)要約的通知能夠在受要約人作出承諾之前到達(dá),要約就可以被撤銷(xiāo)①。因此在受要約人簽署智能合約之前,要約人都可以撤銷(xiāo)要約。雖然受要約人可能設(shè)置了“自動(dòng)承諾”功能,但在現(xiàn)實(shí)交易中這種設(shè)置并不具有普遍性,不宜因此否定智能合約適用要約撤銷(xiāo)制度的可能性。在智能合約模式下,適用自動(dòng)回復(fù)的可能性很?。阂皇悄壳爸悄芎霞s的架構(gòu)并不兼容設(shè)置自動(dòng)回復(fù)的功能,受要約人只能通過(guò)用私鑰簽署合約作出承諾;二是即使智能合約可以兼容自動(dòng)回復(fù)的功能,當(dāng)事人也會(huì)慎用這一功能,以避免在未獲悉合約內(nèi)容的情況下合約已經(jīng)生效并開(kāi)始自動(dòng)履行。
二、智能合約生效與履行階段的適用難題
(一) 難以考察當(dāng)事人的行為能力
傳統(tǒng)合同當(dāng)事人在簽訂合同前可以通過(guò)自然人和法人的身份證明文件考察對(duì)方,以判斷對(duì)方是否具有相應(yīng)的民事行為能力,但智能合約具有匿名性,難以考察當(dāng)事人是否具備相應(yīng)的行為能力。智能合約的匿名性源于區(qū)塊鏈的技術(shù)構(gòu)造。與傳統(tǒng)交易不同,進(jìn)行交易的雙方當(dāng)事人須通過(guò)了解對(duì)方身份或其他方式建立信任,但通過(guò)區(qū)塊鏈交易的用戶(hù)間無(wú)須建立信任,因?yàn)閰^(qū)塊鏈技術(shù)解決了節(jié)點(diǎn)間信任的問(wèn)題,因此數(shù)據(jù)交換甚至交易均可在匿名的情況下進(jìn)行。由于節(jié)點(diǎn)之間的數(shù)據(jù)交換遵循固定且預(yù)知的算法,因而其數(shù)據(jù)交互是無(wú)須信任的,可以基于地址而非個(gè)人身份進(jìn)行,因此交易雙方無(wú)須通過(guò)公開(kāi)身份的方式讓對(duì)方產(chǎn)生信任。[8]所以區(qū)塊鏈的用戶(hù)無(wú)須提供身份證明可直接參與交易。
(二)難以體現(xiàn)當(dāng)事人真實(shí)的意思表示
與傳統(tǒng)合同所使用的自然語(yǔ)言不同,智能合約須使用程序語(yǔ)言(計(jì)算機(jī)語(yǔ)言),而程序語(yǔ)言與自然語(yǔ)言的差異易導(dǎo)致智能合約難以體現(xiàn)當(dāng)事人真實(shí)的意思表示。一方面,相較于自然語(yǔ)言,計(jì)算機(jī)語(yǔ)言的靈活性低,只能以條件語(yǔ)句的形式編寫(xiě),而自然語(yǔ)言的語(yǔ)句形式不僅多樣還可以借助語(yǔ)境的變化表達(dá)不同的意義。如在計(jì)算機(jī)語(yǔ)言中,一個(gè)代碼只能表達(dá)一個(gè)特定的意思,難以靈活體現(xiàn)當(dāng)事人的意思表示,而自然語(yǔ)言可以表達(dá)“非確定性”的概念(“合理”“適當(dāng)”),能夠適應(yīng)于合同義務(wù)復(fù)雜的情形。但這類(lèi)概念難以準(zhǔn)確地轉(zhuǎn)換成計(jì)算機(jī)語(yǔ)言,因?yàn)橛?jì)算機(jī)語(yǔ)言是確定性的,難以表達(dá)“非確定性”概念,因此,用電腦代碼表達(dá)合同義務(wù)可能無(wú)法準(zhǔn)確反映當(dāng)事人的意思。[9]另一方面,即使能夠?qū)⒆匀徽Z(yǔ)言的合約內(nèi)容轉(zhuǎn)換成計(jì)算機(jī)語(yǔ)言形式的代碼,當(dāng)事人也難以確認(rèn)合約內(nèi)容是否已經(jīng)準(zhǔn)確地表達(dá)出本人的意思。傳統(tǒng)合同通過(guò)自然語(yǔ)言呈現(xiàn),因此當(dāng)事人可以直接閱讀合同內(nèi)容從而判斷合同的內(nèi)容是否與本人的意思一致。但智能合約當(dāng)事人面對(duì)的合約內(nèi)容是通過(guò)計(jì)算機(jī)所呈現(xiàn)的代碼,而當(dāng)事人一般都不具備閱讀計(jì)算機(jī)語(yǔ)言的能力,難以讀懂合約代碼,所以智能合約當(dāng)事人通常都無(wú)法直接獲悉合約的內(nèi)容。加之當(dāng)事人往往不具備編程的專(zhuān)業(yè)能力,也無(wú)法編寫(xiě)智能合約。因此智能合約的締約人必須委托專(zhuān)門(mén)的程序員將合同內(nèi)容轉(zhuǎn)化為代碼,這樣一來(lái)不僅在轉(zhuǎn)化的過(guò)程可能產(chǎn)生翻譯的誤差,導(dǎo)致合約代碼偏離當(dāng)事人真實(shí)的意思表示,而且當(dāng)事人也難以直接確認(rèn)轉(zhuǎn)化后的智能合約代碼所表達(dá)的意思。
(三)難以適用合同變更制度①
智能合約的自動(dòng)履行特點(diǎn)導(dǎo)致其難以適用合同的變更或撤銷(xiāo)制度。智能合約的自動(dòng)履行是依托區(qū)塊鏈技術(shù)而得以實(shí)現(xiàn)的,當(dāng)智能合約被傳入?yún)^(qū)塊鏈網(wǎng)絡(luò)后,會(huì)定期檢查自動(dòng)機(jī)狀態(tài),逐條遍歷每個(gè)合約內(nèi)包含的狀態(tài)機(jī)、事務(wù)以及觸發(fā)條件;將條件滿足的事務(wù)推送到待驗(yàn)證的隊(duì)列中,等待共識(shí);進(jìn)入最新輪驗(yàn)證的事務(wù)會(huì)擴(kuò)散到每一個(gè)驗(yàn)證節(jié)點(diǎn),驗(yàn)證節(jié)點(diǎn)會(huì)進(jìn)行簽名驗(yàn)證,通過(guò)驗(yàn)證的事務(wù)會(huì)進(jìn)入待共識(shí)集合,等大多數(shù)驗(yàn)證節(jié)點(diǎn)達(dá)成共識(shí)后,事務(wù)會(huì)被成功執(zhí)行并通知用戶(hù);事務(wù)執(zhí)行成功后,智能合約自帶的狀態(tài)機(jī)會(huì)判斷所屬合約的狀態(tài),當(dāng)合約包括的所有事務(wù)都順序執(zhí)行完后,狀態(tài)機(jī)會(huì)將合約的狀態(tài)標(biāo)記為完成,并從最新的區(qū)塊中移除該合約,整個(gè)事務(wù)和狀態(tài)的處理都由區(qū)塊鏈底層內(nèi)置的智能合約系統(tǒng)自動(dòng)完成。[10]但智能合約在區(qū)塊鏈上運(yùn)行的整個(gè)過(guò)程都是不可變更的,該程序本身并沒(méi)有提供修改代碼接口,代碼段也只可讀而不可寫(xiě),[11]所以智能合約一旦開(kāi)始運(yùn)行,便不可更改。
對(duì)此雖然有些學(xué)者提出了不同的解決方案,但都存在一定的問(wèn)題:有學(xué)者提出可以預(yù)先在智能合約中編寫(xiě)需變更的情況,這樣在發(fā)生合同變更情況時(shí)智能合約可以自動(dòng)變更。[12]但在實(shí)際交易過(guò)程中可能發(fā)生的情況多種多樣,難以預(yù)知所有情況并事先將其全部編入到合約中。而且如此一來(lái)也會(huì)增加編寫(xiě)智能合約的成本,因?yàn)榍闆r越復(fù)雜,編寫(xiě)代碼的難度越高,同時(shí)也越容易發(fā)生程序漏洞。有學(xué)者提出可在智能合約中編入自動(dòng)毀滅指令,通過(guò)運(yùn)行該指令從區(qū)塊鏈上清除所有的合約代碼,從而終止智能合約。[13]但自動(dòng)毀滅指令是一種非常嚴(yán)密、精細(xì)的程序代碼,所以編寫(xiě)這一指令不僅會(huì)增加編寫(xiě)智能合約的成本還會(huì)增加智能合約運(yùn)行的風(fēng)險(xiǎn),一旦編寫(xiě)存在漏洞,可能會(huì)引發(fā)更多的損失。并且,如果啟動(dòng)自動(dòng)毀滅指令,就會(huì)破壞整個(gè)智能合約,這并不能達(dá)到當(dāng)事人變更合同的目的??梢?jiàn),依照目前的技術(shù)條件,變更智能合約仍舊難以實(shí)現(xiàn)。
三、智能合約生效與履行階段適用難題的應(yīng)對(duì)策略
(一)智能合約可以考察當(dāng)事人的行為能力
訂立智能合約仍可考察當(dāng)事人的行為能力,只是在不同的模式下考察的方式不相同。如果當(dāng)事人訂立外部模式或部分代碼化模式的智能合約,由于締約人須在現(xiàn)實(shí)世界中進(jìn)行交涉,因此可直接依據(jù)傳統(tǒng)交易模式考察當(dāng)事人的行為能力,如查看對(duì)方的身份證件等。但如果當(dāng)事人訂立了全部代碼化模式的智能合約,由于雙方當(dāng)事人的交涉可能只在區(qū)塊鏈上進(jìn)行,因此無(wú)法借助傳統(tǒng)方式考察相對(duì)人的行為能力。對(duì)此,可以通過(guò)“去匿名化”的方式改變智能合約的匿名屬性:在用戶(hù)注冊(cè)區(qū)塊鏈時(shí)或在用戶(hù)部署智能合約時(shí),通過(guò)平臺(tái)要求用戶(hù)提供相關(guān)的身份信息,并與公鑰地址對(duì)接。如此當(dāng)事人就可在交易過(guò)程中獲悉相對(duì)人的身份信息,從而考察其相應(yīng)的行為能力。
(二)智能合約可以反映當(dāng)事人真實(shí)的意思表示
雖然自然語(yǔ)言與計(jì)算機(jī)語(yǔ)言難以實(shí)現(xiàn)“零誤差”的轉(zhuǎn)換,但利用計(jì)算機(jī)語(yǔ)言仍可反映當(dāng)事人真實(shí)的意思表示。在外部模式下,可以通過(guò)傳統(tǒng)合同確認(rèn)當(dāng)事人的意思表示,因?yàn)楫?dāng)事人已經(jīng)事先確定自然語(yǔ)言版本的優(yōu)先性,當(dāng)事人的意思表示應(yīng)以傳統(tǒng)合同為準(zhǔn)。在內(nèi)部模式中,由于合同的主要內(nèi)容甚至全部?jī)?nèi)容都用代碼表達(dá),因此關(guān)鍵在于代碼是否可以反映當(dāng)事人真實(shí)的意思表示。
第一,對(duì)于“確定性合同條款”的轉(zhuǎn)換,自然語(yǔ)言與計(jì)算機(jī)語(yǔ)言的差異較小,因?yàn)槎叨紝儆跅l件語(yǔ)句“if-x,then-y”的結(jié)構(gòu)。事實(shí)上,法律語(yǔ)言的思維方式即為條件結(jié)構(gòu):如果當(dāng)事人為或不為某一行為,則會(huì)產(chǎn)生什么后果。因此,法律語(yǔ)言與計(jì)算機(jī)語(yǔ)言的轉(zhuǎn)換并不存在本質(zhì)上的障礙。同時(shí)計(jì)算機(jī)語(yǔ)言還可以提高合同的確定性。雖然自然語(yǔ)言具有靈活性,卻存在語(yǔ)義模糊的問(wèn)題,從而導(dǎo)致理解的歧義。在計(jì)算機(jī)語(yǔ)言中,每一個(gè)代碼只能代表一個(gè)含義,因此減少了自然語(yǔ)言的模糊性,避免了對(duì)合同理解歧義的問(wèn)題。
第二,對(duì)于“非確定性的合同條款”,當(dāng)事人可以通過(guò)細(xì)化“非確定性條款”的內(nèi)容來(lái)彌補(bǔ)計(jì)算機(jī)語(yǔ)言的缺陷?!胺谴_定性條款”的作用主要是避免當(dāng)事人未能適當(dāng)履行合同義務(wù)。對(duì)此當(dāng)事人可以將合同義務(wù)的履行細(xì)化為具體的標(biāo)準(zhǔn),如明確約定履行合同義務(wù)的時(shí)間、地點(diǎn)以及其他方式,同樣可以起到“非確定性條款”的作用;但對(duì)合同具有重要作用的“非確定性的合同條款”,當(dāng)其難以細(xì)化標(biāo)準(zhǔn)時(shí),當(dāng)事人不宜選擇全部代碼化模式的智能合約,在部分代碼化模式或外部模式下,締約人都可保留自然語(yǔ)言文本,并在自然語(yǔ)言文本(或合同)中約定“非確定性的合同條款”,如果對(duì)其存在爭(zhēng)議,可以將自然語(yǔ)言文本(或合同)作為解決糾紛的依據(jù)。
第三,當(dāng)事人可以通過(guò)聘請(qǐng)程序員編寫(xiě)、閱讀智能合約代碼。傳統(tǒng)合同的當(dāng)事人雖然可以閱讀合同的文字,但由于欠缺法律專(zhuān)業(yè)能力,難以真正理解合同的內(nèi)容,因此當(dāng)事人需通過(guò)律師起草、翻譯合同內(nèi)容。同樣智能合約當(dāng)事人可以將編寫(xiě)、翻譯合約內(nèi)容的工作交由律師和計(jì)算機(jī)程序員完成,相比于傳統(tǒng)合同,智能合約只是增加了程序員的角色,并不影響合同體現(xiàn)當(dāng)事人真實(shí)的意思表示。
(三)對(duì)智能合約變更問(wèn)題的利益平衡
智能合約并不是完美的,其難以既實(shí)現(xiàn)效率而又保證自由,自動(dòng)履行可以提高合同履行的效率,但同時(shí)也犧牲了當(dāng)事人變更合同的自由。能否變更智能合約是一個(gè)技術(shù)上的問(wèn)題,但同時(shí)也是一種利益平衡,是應(yīng)該保證合同自由而拒絕提高效率,還是實(shí)現(xiàn)效率而犧牲一定的自由。筆者認(rèn)為,不宜因智能合約存在難以變更的問(wèn)題而排除其適用。
智能合約不可變更的特性雖是智能合約的缺陷,但也是智能合約的優(yōu)勢(shì)。不可變更性的設(shè)計(jì)目的在于防止當(dāng)事人或第三方對(duì)合約運(yùn)行的干預(yù),從而保障合約最終能夠按照當(dāng)事人的事先約定履行完成,達(dá)到當(dāng)事人所期待的結(jié)果。但如果智能合約可以任意變更,當(dāng)事人或第三方就可以干預(yù)合約的運(yùn)行過(guò)程而使智能合約最終難以實(shí)現(xiàn)自動(dòng)履行,如此也就削弱了當(dāng)事人選擇智能合約的優(yōu)勢(shì)。締約人有選擇合約模式的自由,如果對(duì)于締約人來(lái)說(shuō),變更合同的自由優(yōu)于合同履行的效率,那么締約人不宜選擇智能合約的模式,仍應(yīng)使用傳統(tǒng)合同,如合伙、雇傭、委托等隨著合同存續(xù)、相機(jī)變化的長(zhǎng)期關(guān)系型合同。[14]但對(duì)于某些交易類(lèi)型,智能合約不可變更的優(yōu)勢(shì)大于劣勢(shì)。一方面,變更合同并非合同運(yùn)行的常態(tài),正常履行才是常態(tài)。[15]相比較于正常履行的合同,變更合同的情況只是少數(shù)。因此不宜因少數(shù)情況而犧牲智能合約的履行效率;另一方面,對(duì)于締約人來(lái)說(shuō),相較于變更合同的自由交易,效率更加重要,如買(mǎi)賣(mài)、贈(zèng)與、承攬等一次給付的合同,以及短期的租賃、消費(fèi)借貸合同,[16]更需要迅捷、及時(shí)地履行合同,因此對(duì)于智能合約的締約人來(lái)說(shuō),合同效率優(yōu)于合同自由,智能合約的不可變更特性雖然限制了當(dāng)事人的合同自由,但提升了合同效率,也符合市場(chǎng)交易的規(guī)律。
四、智能合約救濟(jì)階段的適用障礙與對(duì)策
(一)智能合約救濟(jì)階段的適用障礙
⒈難以確定解決糾紛的方式。確定智能合約救濟(jì)方式的困難在于是否要遵循智能合約“完全去中心化”的理念。這一理念在于營(yíng)造一個(gè)沒(méi)有中間機(jī)構(gòu)(包括法院)參與的交易環(huán)境。如果智能合約遵循“完全去中心化”的理念,那么智能合約糾紛僅可通過(guò)自動(dòng)履行的方式解決而不能訴諸法院或提請(qǐng)仲裁。當(dāng)事人可以預(yù)先將解決糾紛的程序編入智能合約中,在發(fā)生糾紛時(shí)通過(guò)智能合約自動(dòng)履行。但通過(guò)自動(dòng)履行解決糾紛會(huì)產(chǎn)生兩個(gè)問(wèn)題:第一,難以認(rèn)定這種救濟(jì)方式的性質(zhì)。雖然智能合約自動(dòng)救濟(jì)類(lèi)似于自助行為,但又不符合法律所規(guī)定的請(qǐng)求權(quán)受到威脅、威脅具有現(xiàn)實(shí)性與急迫性、請(qǐng)求權(quán)實(shí)現(xiàn)出現(xiàn)重大障礙等條件;[17]第二,通過(guò)智能合約自動(dòng)履行的功能并不能解決所有類(lèi)型的糾紛。當(dāng)事人難以預(yù)先設(shè)想所有可能發(fā)生的糾紛情形以期通過(guò)智能合約自動(dòng)解決,并且過(guò)于復(fù)雜的代碼會(huì)增加代碼漏洞的風(fēng)險(xiǎn),可能破壞整個(gè)合約的運(yùn)行。如果不必遵照“完全去中心化”的構(gòu)想,當(dāng)事人可以通過(guò)訴訟或仲裁等方式解決合約糾紛。但這又違背了智能合約去中心化的理念,因此,如何確定解決智能合約糾紛的方式成為應(yīng)用智能合約的一個(gè)障礙。
⒉難以確定司法管轄權(quán)。如果可以通過(guò)訴訟手段解決智能合約的爭(zhēng)議,則應(yīng)首先確定法院的管轄權(quán)。級(jí)別管轄可以依據(jù)《中華人民共和國(guó)民事訴訟法》(以下簡(jiǎn)稱(chēng)《民事訴訟法》)第十七條至第二十條的規(guī)定①加以確定,地域管轄的確定應(yīng)根據(jù)《民事訴訟法》第二十三條、第三十四條的規(guī)定,合同糾紛可以由被告住所地、合同履行地人民法院管轄或當(dāng)事人約定的管轄法院。②然而在智能合約糾紛中難以直接確定這三種地域管轄:一是難以確定智能合約中的被告住所地或者合同履行地。有的學(xué)者認(rèn)為,由于智能合約具有匿名性,難以確定當(dāng)事人的身份,因而難以確定被告的住所地,并且智能合約是在區(qū)塊鏈中運(yùn)行的,因此也難以明確其合同履行地。[18]二是難以確定全部代碼化模式的智能合約中協(xié)議管轄條款的效力。根據(jù)《民事訴訟法》第三十四條的規(guī)定管轄協(xié)議必須是書(shū)面形式。但是在全部代碼化模式下的智能合約,當(dāng)事人只能以代碼形式約定管轄法院,而對(duì)于代碼形式是否符合《合同法》對(duì)書(shū)面形式的要求仍存在一定的疑問(wèn)。
(二)智能合約救濟(jì)階段的適用對(duì)策
⒈依照傳統(tǒng)方式解決智能合約糾紛。對(duì)于外部模式智能合約的糾紛,由于當(dāng)事人已經(jīng)事先確定傳統(tǒng)合同的優(yōu)先效力,因此應(yīng)直接依照傳統(tǒng)方式解決合約糾紛。而確定內(nèi)部模式智能合約糾紛解決方式的關(guān)鍵在于是否遵循“完全去中心化”的設(shè)計(jì)。筆者認(rèn)為不必嚴(yán)格遵循這一理念,因?yàn)樵谀壳暗募夹g(shù)條件下智能合約本身難以實(shí)現(xiàn)“完全去中心化”,不必因這一理念而排斥法院和仲裁機(jī)構(gòu)的裁決。第一,智能合約并未達(dá)到“完全去中心化”的前提條件——智能合約完備(智能合約在運(yùn)行過(guò)程不會(huì)產(chǎn)生問(wèn)題或糾紛)。但事實(shí)上,無(wú)論是在技術(shù)方面還是法律方面,智能合約都不完美。在技術(shù)上,智能合約可能存在程序漏洞。因?yàn)楹霞s是由一系列代碼組成的,而代碼的編寫(xiě)通常存在漏洞,越復(fù)雜的合約,發(fā)生代碼漏洞的可能性越大。從法律的角度來(lái)看,智能合約的本質(zhì)仍是合同,當(dāng)事人在智能合約運(yùn)行的各個(gè)階段都有可能產(chǎn)生合同效力認(rèn)定、變更或撤銷(xiāo)合同、違約糾紛等等。因此智能合約并不完備,難以實(shí)現(xiàn)“完全去中心化”。第二,智能合約在實(shí)際運(yùn)行過(guò)程中并未實(shí)現(xiàn)“完全去中心化”。因?yàn)橹悄芎霞s的運(yùn)行需要預(yù)言機(jī)提供數(shù)據(jù),而預(yù)言機(jī)并非是去中心化的,其部分?jǐn)?shù)據(jù)來(lái)源于第三方機(jī)構(gòu),因此智能合約并不能完全排除第三方機(jī)構(gòu)的介入。所以在確定解決智能合約糾紛的方式時(shí)不必因 “完全去中心化”的理念而放棄傳統(tǒng)的救濟(jì)手段,況且在救濟(jì)階段訴諸于第三方機(jī)構(gòu)并未從根本上改變“去中心化”的設(shè)計(jì),因?yàn)槎鄶?shù)合同都可以按照約定履行完畢,不必進(jìn)入合同的救濟(jì)階段,尤其是智能合約的應(yīng)用也會(huì)減少合同的糾紛。
⒉智能合約糾紛司法管轄權(quán)的確定。根據(jù)《民事訴訟法》第二十三條的規(guī)定,因合同糾紛提起的訴訟,由被告住所地或者合同履行地人民法院管轄。①因此,只要能夠確定智能合約當(dāng)事人的協(xié)議管轄法院、被告住所地以及合同履行地,就可以確定智能合約糾紛的司法管轄權(quán)。關(guān)于被告住所地的確定,由于外部模式和部分代碼化的內(nèi)部模式的智能合約當(dāng)事人都須在現(xiàn)實(shí)世界中進(jìn)行磋商,因此可以確定其當(dāng)事人的身份,從而可以確定案件的司法管轄權(quán)。如果當(dāng)事人訂立了全部代碼化模式的智能合約,可以通過(guò)“去匿名化”識(shí)別對(duì)方的身份。如前所述,為了保證智能合約在應(yīng)用初期的安全性和穩(wěn)定性,可以改變智能合約的匿名化結(jié)構(gòu),以便考察當(dāng)事人的行為能力。因此,在全部代碼化的模式下,當(dāng)事人可通過(guò)“去匿名化”的技術(shù)手段確定被告住所地。至于合同履行地,應(yīng)通過(guò)當(dāng)事人的事先約定來(lái)確定。根據(jù)《合同法》第十二條的規(guī)定,合同履行的地點(diǎn)屬于合同的基本內(nèi)容,締約人應(yīng)將其編入合約內(nèi)容中。因此,可以直接依據(jù)當(dāng)事人的約定來(lái)確定合同履行地。并且代碼形式并不影響管轄協(xié)議的效力。對(duì)于管轄協(xié)議的書(shū)面形式應(yīng)當(dāng)適用《合同法》第十一條的規(guī)定:“書(shū)面形式是指合同書(shū)、信件和數(shù)據(jù)電文等可以有形地表現(xiàn)所載內(nèi)容的形式”。②因此,如果程序代碼能夠有形地表現(xiàn)所載內(nèi)容即符合合同法所規(guī)定的書(shū)面形式。代碼可以通過(guò)計(jì)算機(jī)閱讀,應(yīng)當(dāng)屬于有形形式,因此智能合約中的管轄條款應(yīng)當(dāng)滿足書(shū)面形式的要求,具有法律效力。而且《民事訴訟法》規(guī)定書(shū)面形式的目的在于排除口頭形式的協(xié)議管轄約定,由于單純的口頭管轄協(xié)議不利于證明雙方當(dāng)事人的合意,因此從實(shí)用技術(shù)上考慮,立法對(duì)管轄協(xié)議進(jìn)行了書(shū)面形式的限定,[19]而并非將書(shū)面形式限定于紙質(zhì)合同或紙質(zhì)的訴訟管轄協(xié)議書(shū)。所以代碼應(yīng)屬于書(shū)面形式的一種,全部代碼化智能合約中的協(xié)議管轄條款應(yīng)當(dāng)有效。
總之,智能合約作為區(qū)塊鏈技術(shù)最典型的應(yīng)用形式,具有“去中心化”、自動(dòng)履行、不可篡改等特點(diǎn),可以為當(dāng)事人節(jié)約交易成本、提高交易效率,這些特點(diǎn)也導(dǎo)致智能合約難以直接與合同法相契合,如難以確定合同糾紛解決方式、合同不可變更等問(wèn)題。對(duì)此,需要技術(shù)的進(jìn)步,也需要法律的支持。智能合約的本質(zhì)仍是合同,但與傳統(tǒng)合同相比有很大不同,因此,為使智能合約與傳統(tǒng)法律相融合,應(yīng)充分運(yùn)用傳統(tǒng)合同法理論解釋新的技術(shù),并使之相融合。相信隨著智能合約的不斷完善,智能合約的應(yīng)用會(huì)更加廣泛。
【參考文獻(xiàn)】
[1][10]長(zhǎng)鋏.區(qū)塊鏈:從數(shù)字貨幣到信用社會(huì)[M].北京:中信出版集團(tuán)股份有限公司,2016.
[2][3]周潤(rùn),盧迎.智能合約對(duì)我國(guó)合同制度的影響與對(duì)策[J].南方金融,2018,(5).
[4]Smart contracts:is the law ready,https://digitalchamber.org/smart-contracts-whitepaper.
[5][7]崔建遠(yuǎn).合同法[M].北京:法律出版社,2016.
[6]陳吉棟.智能合約的法律構(gòu)造[J].東方法學(xué),2019,(3).
[8][13][15]郭少飛.區(qū)塊鏈智能合約的合同法分析[J].東方法學(xué),2019,(3).
[9]Sklaroff J. Smart Contracts and the Cost of Inflexibility(2017)[J].University of Pennsylvania Law Review,166:263.
[11]陳逸寧.區(qū)塊鏈技術(shù)下智能合約意思表示的認(rèn)定[J].海南金融,2018,(5).
[12]Catchlove P.Smart Contracts:A New Era of Contract Use[J].Available at SSRN 3090226,2017.
[14][16]許可.決策十字陣中的智能合約[J].東方法學(xué),2019,(3).
[17]朱慶育.民法總論[M].北京:北京大學(xué)出版社,2013.
[18]O'Shields R. Smart contracts: Legal agreements for the Blockchain[J].NC Banking Inst.,2017,21:177.
[19]廖中洪.協(xié)議管轄:?jiǎn)栴}、原因及其改革設(shè)想[J].西南政法大學(xué)學(xué)報(bào),2008,(1).
(責(zé)任編輯:王秀艷)
Abstract:Smart contract is a new type of contract that can automatically perform its contractual obligations on the blockchain.Because of its advantages of “automatic performance” and “decentralization”,it can reduce the cost of contract performance and improve the efficiency of contract operation,but it also leads to the problems that smart contract is difficult to directly apply the existing contract system,such as the rules,effective elements and relief methods.This paper analyzes the operation process of smart contract from the theoretical point of view,and makes the smart contract and the contract system fit through the interpretation of the contract law theory;analyzes the principle and structure of smart contract from the technical point of view,and makes the smart contract conform to the provisions of the contract law by using the technical means to modify it.
Key words:smart contract;contract law;blockchain