樊曉娟:智慧合約不僅是智慧 | 火星號精選
引言
提到區塊鏈,就不能不提智慧合約(Smart Contract)。智慧合約在STO、金融科技及其他各類區塊鏈應用中都不可或缺。智慧合約到底是什麼?究竟有多麼智慧?智慧合約會代替傳統合約嗎?作者(微訊號:BcRegulations)將從區塊鏈法律專家的角度來解讀智慧合約。
一、 什麼是智慧合約
(一) 智慧合約的提出
人們普遍認為,區塊鏈提出源於2008年,作者署名為中本聰的論文《比特幣:一種點對點的電子現金系統》。接下來的十多年,區塊鏈這一概念如星火燎原一般廣泛傳播。此後,智慧合約藉著區塊鏈應用的東風被人們所熟知。
然而,智慧合約並非區塊鏈應用的附屬產物。早在區塊鏈問世前的1994年,科學家和祕密學家、同時還是前華盛頓大學法學教授Nick Szabo就提出了智慧合約的概念。由於當年的技術條件所限,和人工智慧一樣,智慧合約並未在提出的初期就被廣泛應用。直到比特幣和區塊鏈的普及,智慧合約才重新踏入人們的視野。
(二) 基本原理
Nick Szabo對於智慧合約的定義是“一套以數字形式定義的承諾(promises) ,包括合約參與方可以在上面執行這些承諾的協議。”
從以上定義可以看出,智慧合約的基本原理是把傳統合同的條款編製成一套計算機程式碼,在交易各方簽署後自動執行。區塊鏈上的智慧合約是把前述計算機程式碼部署到公鏈上,使其在公鏈上自動執行。智慧合約的簽署和執行過程中的每一步都形成一個區塊,並根據分散式記賬原理被記錄於鏈上每個節點。
(三) 智慧合約的特點
1. 以現實交易為基礎
正如美國國會在2018年年度報告的第9章中指出的那樣,智慧合約聽起來很新穎,實際上是植根於基礎合同法律的概念。智慧合約不是無本之木,需要由基礎交易和相關的條款和條件。
2. 自動執行
智慧合約與傳統合同的一個重大區別在於,智慧合約的自動執行。傳統的司法實踐中,如果合同的當事方拒不履行,其他方需要依賴於法院或仲裁機關的裁判及後續的強制執行來獲得救濟。智慧合約為合同履行提供了一個新思路,使得相當一部分合同的履行不再依賴於成本高昂和耗時長久的司法審判和執行。
當然,侷限於智慧合約的本質,自動執行尚只能適用於以給付證券或金錢為義務或者變更某些登記事項為義務的較為程式化的交易。例如傳統合同中提供勞務的義務,就無法通過智慧合約自動執行。
3. 效率高
以證券發行為例,藉助智慧合約,發行人可以在很短的時間內一次性向眾多投資人發行證券,而無需通過繁瑣、重複、耗時的人工登記手續。在參與方多,尤其是跨境的複雜交易中,智慧合約可以大幅提高效率。
4. 安全和節省
部署於區塊鏈的智慧合約,同樣兼具區塊鏈不易篡改的安全性和降低交易成本的優點。
5. 靈活度低
智慧合約的本質是計算機程式碼的自動執行。計算機程式碼一旦編寫完成和上鍊,智慧合約將不可逆地自動執行而不考慮現實情況的變化。在發生計算機程式碼編寫時未能預見的情況時,智慧合約將無法處理。固然,交易各方可以協商一致後要求程式設計師修改程式碼,但在突發情況下或交易各方無法協商達成一致的情況下,程式碼無法及時修改,智慧合約的不靈活也可能會造成一定的損失。
(四) 智慧合約與區塊鏈的關係
區塊鏈並不是智慧合約實現的必備條件。但是,區塊鏈的去中心化、共識機制、資料不易被篡改等特徵,與合同的安全性要求相匹配,決定了區塊鏈是實現智慧合約最適合的土壤。
目前,最常用於執行智慧合約的公鏈是以太坊。當然,三大公鏈在智慧合約的執行方面各有優劣,公鏈和私鏈也有各自不同特點。就某一具體專案,需要程式設計師根據專案實際需要來選擇用什麼鏈。
二、 智慧合約的應用
(一) 智慧合約的實施
智慧合約需要由律師和程式設計師互相配合。通俗來講,智慧合約的實施主要有以下幾步:
1. 合同條款的確定
首先,交易各方需要協商確定交易方案,並形成合同的條款和條件。從法律角度而言,合同就是各方的要約和承諾。小額或簡單的交易,例如購買一個蘋果,買賣雙方通過三言兩語的口頭交談即可達成,不需要書面合同,也不需要律師參與。大額或複雜的交易,例如投資一家企業,需在律師的協助下協商和起草條款,一套合同(不是一份)成百上千頁。基於現實世界交易的複雜性,這部分工作,智慧合約可能暫時無法代替律師的功能。
2. 程式碼編寫和部署
從技術角度來說,程式設計師把交易的合同條款轉換成可以在區塊鏈上自動執行的計算機語言,併為交易各方以電子方式簽署合同提供技術條件。
3. 電子簽名
在技術日新月異的今天,利用區塊鏈技術的智慧合約,一般通過電子簽名的方式完成承諾這一合同成立的法律要件。
在中國內地,《電子簽名法》把電子簽名定義為“指資料電文中以電子形式所含、所附用於識別簽名人身份並表明簽名人認可其中內容的資料。” 電子簽名可以被用於除人身關係、不動產和公用事業服務以外的大部分民事合同,《電子簽名法》認可可靠的電子簽名與手寫簽名或蓋章具有同等法律效力。最高法院也在其司法解釋中,當事人提交的電子資料,通過電子簽名、可信時間戳、雜湊值校驗、區塊鏈等證據收集、固定和防篡改的技術手段或者通過電子取證存證平臺認證,能證明其真實性的,法院應當確認。
實踐中,近年來,電子簽名平臺興起並快速發展,以電子簽名方式簽署合同也迅速普及。據報道,2018年一年, 在電子簽名平臺法大大上籤署的電子合同達8.5億份。電子合同將逐漸代替紙質合同,這是合同簽署方式的進步。
4. 自動執行
在預先設定的條件達成時,智慧合約將自動執行約定事項,例如,在STO中,當發行人收到投資款且其他發行條件滿足時,智慧合約將自動把Token轉賬到每個投資人的電子錢包地址。
(二) 應用場景
1. 基礎應用——發行代幣與幣幣交易
智慧合約最直接的應用就是根據區塊鏈技術發行Token以及發放基於Token的各種紅利,和數字貨幣間的交易。當專案方運用區塊鏈技術進行STO等融資活動時,為發行Token融資的過程中必然需要部署智慧合約,將所有的發行條件與後續條款編入智慧合約中,這其中還包括成功發行後,在一定條件滿足的情況下自動觸發紅利的分配條款。另外,不同虛擬貨幣之間的交易,也是通過智慧合約的執行,將不同的虛擬貨幣轉移到交易雙方各自的電子錢包地址中。
2. 自動執行性場景——金融領域
智慧合約的自動執行性使其可以在金融領域大展拳腳。在P2P、銀行貸款、個人信用卡等金融借貸事宜上,智慧合約可以提前設定擔保措施,在違約情況發生時將自動觸發執行(例如自動解鎖留置權,轉移抵押物所有權等)可以有效的防止借款方跑路、惡意不還款等行為的發生。
3. 去中心化場景
智慧合約加上區塊鏈技術的去中心化的特點,可以大幅度優化許多需中心主體參與的傳統場景中的使用者體驗。例如,傳統的就醫後申請醫保報銷,或者車輛發生交通事故後申請保險理賠的過程中,需要申請人辦理繁瑣的申請手續,且多家中心化主體,如醫院、社保部門、車輛管理處、商業保險機構都需要參加進來,花費大量的人力物力和時間成本來稽核材料。智慧合約可以將這種程式化的事宜化繁為簡,各機構之間打通壁壘實現必要資訊共享後,設定好報銷或理賠條款的計算機程式碼並部署上鍊,進而自動執行,大大節省申請人和其他主體的成本。
4. 公信力場景
智慧合約加上區塊鏈技術的無法撼動的可信任特點,也可以為一些需要倚賴主體公信力的傳統場景上一份保險。例如,第三方託管的監管金賬戶需要根據一定的指示進行放款或退回款項;信託的受託人需要根據委託人的指示來管理財產,這些場景下,受託機構的公信力是委託人可以倚靠的重要基礎。應用了智慧合約之後,委託人的信任將多了一層保障,智慧合約或是將受託人的處分權限制在一定範圍內,或是在受託人的行為超過一定的邊界時,觸發某些提前預設的警戒條款等等。放之當下中國的社會實踐中,社保資金監管和農民工薪資發放等社會高度關注的問題,都可以嘗試通過智慧合約來解決。
5. 醫學領域
在醫學領域,智慧合約可以改善臨床試驗。區塊鏈技術和智慧合約可以促進機構間的資料共享,自動化患者的資料,同時簡化試驗過程,改善對跨機構之間資料的訪問,增加患者隱私的可信度。
6. 其他
在物聯網時代,供應鏈上的身份識別及產品的跟蹤管理、物流溯源等場景也可以大規模的應用智慧合約。此外,音樂等數字內容領域也可以應用智慧合約,使得數字內容特有的複雜的權利歸屬、授權、使用報酬結算等問題變得可分割,更易操作。
三、 智慧合約的法律思考
(一) 與傳統合同的區別
《中華人民共和國合同法》對合同的定義為“平等主體的自然人、法人、其他組織之間設立、變更、終止民事權利義務關係的協議。” 合同的內容由當事人約定,一般包括以下條款:當事人的身份資訊,標的,數量,質量,金額,履行期限、地點和方式,違約責任,解決爭議的方法以及參與各方的權利、義務,中止、終止、解除條件等。合同的訂立步驟可以分解為:一方發出要約,另一方同意要約內容,做出承諾,一般承諾生效時合同成立。
智慧合約的訂立步驟可以分解為:參與各方經過協商,確定好合約及履行中所涉及的全部內容和細節;程式設計員用程式設計指令碼語言編寫指令碼,將約定好的內容通過程式的形式表現出來;智慧合約開始自動執行,當預設的條件滿足時,合約處分的權益將在區塊鏈上進行了轉移。
智慧合約和傳統合同一樣,在基礎層面還是人與人之間的溝通。但是,區別於傳統合同,在人之間的溝通完成後,計算機程式碼就要上場了。合約執行過程中所有的細節和可能發生的結果都會被提前考慮,如何處理也被提前預設好。一旦智慧合約開始執行,將不再具有靈活性,不隨著參與人意志的改變而改變,這一點區別於傳統合同中各方依然可以隨時協商溝通,隨時對原合同進行修改和補充。
(二) 預見外情況的處理
如前所述,智慧合約需要在前期溝通時提起預設好合約執行中所涉及的全部細節,這就需要各方對未來可能出現的所有情況進行預測和預判。因為一旦智慧合約開始執行,一切都會按照預設的程式自動推進,無法再進行變通。但人的預見性是有限的,不可能完美預見到未來所發生的一切變化。當預見外的情況發生時,智慧合約該如何處理呢?這是值得思考的一個問題。
(三) 程式碼漏洞
既然智慧合約的本質是計算機程式碼,那就有出Bug的可能。當智慧合約出現Bug時,產生的不利後果應如何追責?程式設計人員是否應被追責?我們認為,出於技術中立的角度,且程式設計人員無法對Bug可能造成的損失和不利後果作出可預見性的判斷,因此只要其工作不存在主觀上的故意或重大過失,就不宜對程式設計人員苛以過重的義務和責任。我們的關注的重點應該放在如何及時的進行事後補救。
(四) 爭議解決和管轄
傳統合同會對合同的爭議解決方式以及管轄提前做好約定,在合同履行過程中,若發生了雙方無法協商解決的爭議時,會按照約定將爭議提交給中立的爭議裁決機構,如法院或仲裁機構。這也是因為傳統合同中,各方的所在地或合同履行地或標的物所在地等合同因素中,至少有某一項是清晰可界定的,加之以具有公信力的中心化機構對爭議進行裁決,可以有效的解決爭議。但在智慧合約領域,由於智慧合約和區塊鏈是全球化的,其技術的核心特點又是去中心化。若發生爭議,是否需要引入中心化的第三方來裁決爭議,以及如何確定管轄權,也是值得思考的問題。
(五) 從法律角度審查法律智慧合約
在程式設計還不像英語這樣普及的今天,智慧合約的一串串程式碼尚屬專業領域,需要專業的程式設計員才能讀懂。那麼,在審閱智慧合約的時候,律師如何能讀懂呢?在裁決爭議的時候,法官與仲裁員又如何判斷智慧合約內容的合法性呢?未來的司法輔助人員裡面,是否可能需要包括程式設計員這樣的角色來協助司法?未來的法學院是否需要將程式設計列為必修課?這些有趣的暢想也許會在不遠的未來變成現實。
結語
智慧合約雖不是區塊鏈技術的衍生物,卻可能是區塊鏈技術最大的受益者。二者相輔相成,彼此成就。智慧合約不僅是智慧,還能為我們解決傳統合同中的部分痛點提供一種新的思路。
宣告:
本文旨在法規之一般性分析研究或資訊分享,不構成對具體法律的分析研究和判斷的任何成果,亦不作為對讀者提供的任何建議或提供建議的任何基礎。作者在此明確宣告不對任何依據本文采取的任何作為或不作為承擔責任。如需轉載或引用本文的任何內容,請聯絡作者 ( [email protected] ); 未經作者同意,不得轉載或引用本文的任何內容。