市場經濟活動中存在眾多各種各樣的信息中介和信用中介,原因在于交易雙方的信息不對稱導致交易雙方無法建立有效的信用機制。區塊鏈是一種去中心化的共識機制,為解決這一問題提供了全新的思路。互聯網與計算機系統是區塊鏈技術的基礎設施,加密算法是區塊鏈的技術基礎,算法信任是區塊鏈技術的核心機制。籍此,區塊鏈技術實現了人際信任、制度信任到機器信任。區塊鏈技術涉及哈希算法、非對稱加密以及智能合約等幾種算法,它們的技術特點與功能各不相同,一起構成區塊鏈技術的共識機制。
區塊鏈是去中心化的,其數據的真實性、不可篡改性以及參與者對其的認可,都是通過算法保障的。但是,當推向邏輯極限時,算法治理可能會最終導致系統具有高度規范性和確定性;人們可以自由決定他們要遵守的特定規則集的系統,但在做出選擇之后,就不能再偏離這些規則。2016年發生的The Dao事件,就是不法分子利用智能合約算法存在的漏洞盜取客戶巨額資金的典型案例。因此,算法是一把雙刃劍,既可以提高交易效率、保障交易安全,甚至重塑信用機制,也可能會侵害當事人利益,乃至社會利益。算法規制既是技術問題,又是法律問題。
一、區塊鏈的算法邏輯
區塊鏈技術是一種參與者“點對點”電子系統,這首先依賴信息的分布式存儲,而參與者在信息交換過程中數據的真實性、不可篡改性以及工作量證明則通過特殊的算法邏輯實現。
(一)區塊鏈算法即“上帝”
在一項交易中,雙方當事人之間由于信息不對稱,通常要經過長期交往形成的信用機制保障,或者依賴第三方來保障交易安全。如果沒有類似于銀行或者政府這樣的第三方機構確認信息,我們依然無法確認交易對方的身份,無法建立商事活動所需的信任關系。這些中間機構極有可能會因為商業目的或者國家安全,搜集我們的數據和侵犯我們的隱私。在比特幣發明者中本聰看來,這類系統內生性地受制于“基于信用的模式”的弱點,無法實現完全不可逆的交易,因為金融機構總是不可避免地會出面協調爭端。金融中介的存在,也會增加交易的成本,并且限制了實際可行的最小交易和支付規模。
只要交易中存在第三方,勢必會產生機會主義、代理成本以及交易成本,上述問題都是不可避免的。那種能夠克服人性弱點又沒有任何利益追求的第三方是不存在的,除非是上帝。著名的密碼學者Nick Szabo在1997年發表的一篇文章就做了這樣的設想:“可以想象一種理想的協議,它擁有最值得信賴的代表所有人利益的第三方——上帝。所有各方都將其信息發送給上帝,上帝可靠地確認并向各方反饋結果。上帝是交易過程的最終自由裁量者,一切涉及隱私的信息都由上帝保存,所有參與方都不能獲知與己無關的信息。”在現實生活中,上帝是不存在的,Nick Szabo的想法在當時只能是觀念上的、理想化的,在實際操作層面并不可能實現。直到十一年后,中本聰發明了比特幣,其底層技術——區塊鏈使得這一空想變成了現實。
在比特幣系統中,參與者之間的交易“點對點”進行,通過區塊鏈技術建立起一個去中心化與去第三方的參與者共同協作的機制。區塊鏈是共享的、受信任的分布式公共賬本,網絡中的每一個節點參與所有比特幣交易的認證和備份,當有用戶發起一個交易時,信息會被廣播到整個網絡,通過算力比拼而獲得記賬權的礦工將交易記錄成一個新的區塊連接到區塊鏈中。所有交易信息一旦被記錄,就不可能被篡改。在區塊鏈系統中,算法以客觀數據為基礎,依賴特定運算方法自動運行,不受任何人控制和支配,交易雙方完全信賴算法而非第三方。因此,算法扮演了上帝的角色。
(二)確認交易的真實性——區塊鏈中的密碼學算法
區塊鏈交易之所以不需要第三方信用,根本原因在于其采用密碼學原理保障交易安全。可以說,沒有現代密碼學的發展,就不可能產生比特幣與區塊鏈技術。區塊鏈通過對交易信息數據化,再對這些數據加密傳輸,所有人都可以見證,只有當事人才有權解密、知悉信息內容。上述交易過程,通過兩種密碼學算法共同完成:一是非對稱加密算法;二是哈希算法。
非對稱加密算法是指對數據進行加密和解密時,需要兩個不同的密碼完成。與之相對的,是對稱加密算法中加密和解密只需要一個密鑰即可。非對稱加密算法在區塊鏈中的運用,將交易中的密碼分為公鑰(public key)和私鑰(private key)。區塊鏈系統的參與者因其角色不同而持有不同的密鑰,當其為交易的見證者時,其僅僅持有公鑰,當其為一項交易的當事人時,其既持有公鑰也持有私鑰。在區塊鏈中,數字簽名可以用于驗證信息發送者的身份,用戶可以公布自己的公鑰,然后發送可以被公鑰所驗證的、已經通過私鑰加密過的信息。如果信息的接收者能夠使用公鑰解密加密過的信息,即可證明這條信息的身份屬實。區塊鏈系統采用非對稱加密算法,一方面賦予全網用戶通過公鑰對所有交易予以驗證的權利與義務,保證了交易的真實性;另一方面只有交易當事人才能通過私鑰獲取每一個交易的具體內容,保證了在分布式存儲網絡中點對點信息傳輸的安全性與當事人的隱私。
區塊鏈(blockchain)之所以使用這個名字,是形象地把對每一個交易信息數據的載體比喻成一個區塊(block),下一個區塊對上一個區塊驗證,所有區塊按照產生的先后順序相互連接起來,是為區塊鏈。上一個區塊的信息數據傳遞給下一個區塊,是通過哈希(Hash)算法完成的。哈希算法也叫“安全散列函數”,又稱信息摘要。文章摘要是對文章內容的概括總結,看了文章摘要,我們就能大致了解文章的主要內容。哈希算法也有這樣的功能,它可以把任意的信息集,用非常簡單的信息予以描述。它是一個特別的數學函數:給定輸入很容易得到輸出,但是從輸出計算回輸入不可行。
區塊鏈使用哈希算法把交易生成數據摘要,當前區塊里面包含上一個區塊的哈希值,后面一個區塊又包含當前區塊的哈希值,以此類推,一個個包含哈希值的區塊串連起來,形成一條區塊鏈。在一個區塊鏈系統中,除創世區塊以外,其他區塊都有一個標頭(Header)。區塊標頭包含的是本區塊以及前一個區塊的相關指示信息,包括:一個區塊的版本號、時間戳、難度目標、前一個區塊的哈希值、隨機字符串,等等。哈希算法是區塊鏈的底層技術,其上述特性賦予了區塊鏈技術的可靠性。
(三)共識算法即共識機制(Consensus)
非對稱加密算法與哈希算法的一并運用,構成了區塊鏈系統最為重要的因素——共識算法,也稱共識機制。區塊鏈如果想達到去中心化的目的,必須通過共識算法實現。因為區塊鏈上記錄的數據對所有人可見,而且很難否認和回溯性修改,所以彼此不認識并因此不信任的群體可以依賴這個新的數據結構來協調他們的活動。最初的區塊鏈都是公共區塊鏈,參與者在無中心化的情況下分布式存在。而在分布式存儲的計算機系統中,實現參與者之間的信任是非常困難的。
區塊鏈解決這一問題的方案,是為發送信息加入成本,降低信息傳遞的速率,并加入一個隨機數以保證這一段時間內只有一個參與者(礦工)可以進行傳播。它加入的成本就是“工作量”,區塊鏈的每一個參與者必須完成一個隨機哈希算法的計算工作量才能向各城邦傳播消息。如前所述,區塊鏈系統的各個節點進行分布式記賬,通過哈希算法保證了每個交易區塊信息傳遞的連續性與真實性,又通過非對稱加密技術保證了信息傳遞的正確性與所有節點一致性。于是,各個節點對區塊鏈系統內的所有信息與數據達成一致認識,而按照同一套協作策略行動,是為形成共識機制。
區塊鏈的類型不同,其共識算法亦不同。因為參與者越分散,越沒有權威的中心化機構存在,共識機制的形成越難。區塊鏈系統的中心化程度越高,共識算法越簡單,中心化程度越低,共識算法越復雜。因此,對于區塊鏈的主要三種類型來說,公有鏈的共識算法最為復雜,相對而言,效率最低,資源消耗最大;私有鏈的共識算法最為簡單,效率最高,資源消耗最小;聯盟鏈居中。
一般來說,公有鏈的共識算法為工作量證明(Proof of Work,POW)、權益證明(Proof of Stake,POS),比特幣和以太坊分別采用上述兩種共識算法。這種共識算法下的數字貨幣是工作量證明的表現形式。而對于不需要數字“代幣”的聯盟鏈或者私有鏈而言,共識算法大多采用較為傳統的一致性算法,如拜占庭容錯(PBFT)、Paxos與RAFT,等等。
(四)區塊鏈算法——信任機器
區塊鏈通過自己的算法邏輯,使得陌生參與者在沒有任何第三方介入的前提下,實現了相互信任、達成交易。在這一過程中,交易當事人之間的信息不對稱、代理成本與機會主義等影響交易安全的不確定性因素并未消除,只是通過不依賴人主觀意志的算法,使得參與者均認可系統內客觀交易數據的真實性。從某種意義上說,這保障了交易的絕對安全。這一切并非人與人之間或者機構與機構之間等任何傳統意義上的信任關系和信用機制,而是參與者對區塊鏈技術的信任。因此,《經濟學人》2015年十月號刊文稱:區塊鏈是信任機器,可以讓相互并不信任的人們進行協作,而不必經過任何中心化機構。
二、區塊鏈算法的決策自動化
作為一種計算機技術,區塊鏈之所以能夠去中心化,一方面是其獨有的算法機制使得所有參與者集體協作,保證了信息的共享性與真實性;另一方面系統的運行必須脫離任何人或者機構的控制,才能保障信息的客觀真實、全網一致與不可篡改。區塊鏈算法既是決策自動化的體現,也決策自動化的執行機制。參與者之間的權利義務必須在事前寫入特定的計算機程序,以充分保障所有參與者的權益。區塊鏈的這一特性,為智能合約(Smart Contract)在社會生活各個領域的廣泛運用提供了最佳技術支持。
(一)區塊鏈算法與智能合約
區塊鏈是分布式系統,各個節點是分布式分類賬本,其不只記錄其他節點傳遞來的信息。作為共識系統的一部分,其必須確保記錄的交易已經完成,與共識相匹配。就比特幣而言,這意味著系統會自動執行財務匯款。用戶不能在發起比特幣的交易后又反悔,匯款對賬和達成的同步也是交易程序的一部分。這一機制被稱為智能合約。權利和義務規定以及契約協議的執行都在該平臺有所體現。
智能合約的出現遠遠早于區塊鏈技術,是Nick Szabo在20世紀90年代提出的。Nick Szabo認為智能合約是一組以數字形式指定的承諾,包括各方當事人在其中執行這些承諾的協議,由計算機系統自動執行。智能合約是信息化時代電子化、理想化的契約形式,但囿于技術發展水平,在很長一段時間內,其僅僅停留在概念上,直到區塊鏈技術的出現。作為區塊鏈技術的最早應用形式,比特幣交易過程完全是自動執行的。比特幣系統建立在“可復制、共享的賬本”之上,每個參與者均擁有一個完整交易賬本的副本。智能合約是運行在區塊鏈系統可復制、共享賬本上的計算機程序,可以處理信息,接收、儲存和發送價值。基于區塊鏈技術的智能合約,不僅可以發揮智能合約在成本效率方面的優勢,而且可以避免惡意行為對合約正常執行的干擾。將智能合約以數字化的形式寫入區塊鏈中,由區塊鏈技術的特性保障存儲、讀取、執行整個過程透明可跟蹤、不可篡改。同時,由區塊鏈自帶的共識算法構建出一套狀態機系統,使智能合約能夠高效地運行。
如果把區塊鏈看作是一個數據庫,智能合約就是能夠使區塊鏈技術應用到現實中的應用層,是利用計算機代碼構建并存儲在區塊鏈中的去中心化協議,一旦滿足代碼所設定的條件便會自動觸發合約執行。可以說,智能合約與區塊鏈技術兩相成全,前者拓展了后者的應用領域,后者保證了前者的性能。最新發展趨勢是區塊鏈允許人們將小的代碼片段,即智能合約上傳至區塊鏈,這樣就可以實現智能合約在互聯網每個節點上分散執行的效果,即區塊鏈作為基礎技術可以自動執行智能合約條款,即使這些條款與法律或合同條款并不存在實質性關系。
(二)智能合約的運行機制
作為自動決策程序,智能合約既具有計算機程序代碼,也具有傳統合同元素,二者相對獨立又相互聯系。智能合約的運行機制一般包括三方內容:
一是每一個智能合約都必須有特定的條件框架(Conditional Framework),這一條件框架既符合合同法規則,也是計算機編碼必需的。在合同法中,當事人作出允諾以換取其他當事人承諾:如果x這樣做,y就會這樣做。同樣,在智能合約和構成它的計算機代碼中,條件框架是其核心。在智能合約的編寫中,條件語句是必不可少的。本質上,智能合約的自動運行是按照一定條件框架設計的計算機代碼執行其編寫的程序而已。條件框架由多方參與者共同制定,完成智能合約的構建。
二是架構在區塊鏈系統上的智能合約通過哈希算法進行數據存儲。用戶在某一區塊鏈系統上部署智能合約以后,系統會自動分配給其一個合約賬戶,該賬戶里保存著智能合約的可執行字節碼。一旦編碼完成,智能合約就會被上傳到區塊鏈系統,全網驗證節點都會收到相關信息,交易數據存儲在區塊鏈上,智能合約賬戶的狀態數據存儲在自己的賬戶內。所有數據均會在區塊鏈系統中永久留下歷史記錄。
三是智能合約的執行是通過驗證程序代碼完成的。各個節點收到交易信息后,自動會對其進行簽名驗證,以確保交易的有效性。各驗證節點對某一交易達成共識后,智能合約將自動執行,并通知交易當事人及全網。同時,智能合約自帶的狀態機會判斷所屬合約的狀態,當合約中所有事務都順序執行完后,狀態機會將合約的狀態標記為完成,并從最新的區塊中移除該合約;反之將標記為進行中,繼續保存在最新的區塊中等待下一輪處理,直至處理完畢。
2016年諾貝爾經濟學獎授予了奧利弗·哈特和本特·霍爾姆斯特倫。哈特的主要貢獻在于不完全契約理論方面。所謂不完全契約是指締約雙方不能完全預見契約履行期內可能出現的各種情況,從而無法達成內容完備、設計周詳的契約條款。一般而言,導致不完全契約的原因有二:一是有限理性;二是交易成本。這是所有傳統合同難以避免的問題。智能合約將當事人之間的權利義務轉化成計算機代碼,通過區塊鏈系統保證其運行的客觀理性與自動化。一方面,智能合約是基于軟件的比特算法,可以排除掉影響合同履行的人為因素,保障了交易安全;另一方面,區塊鏈算法的自動化決策大大提高了合同履行的效率,降低了交易成本。從這個意義上說,智能合約中的代碼不同于現有合同形式,與其說代碼代表了合同,還不如說代碼本身就是合同。
(三)以太坊:區塊鏈算法決策自動化的最佳例證
比特幣是區塊鏈技術的最初應用,其十幾年的成功運行充分驗證了區塊鏈技術的可行性與應用價值。但是,比特幣是封閉的區塊鏈平臺,用戶無法在其協議基礎上對外擴展。而且,比特幣僅僅是一種虛擬貨幣,除了在少數用戶之間具有替代法定貨幣的價值交換功能,并不能滿足社會生活其他方面的需求。基于此,作為比特幣的底層技術,區塊鏈被抽象出來并被嘗試超越數字貨幣而應用到更為廣闊的領域中去。
2013年,一位普通的比特幣社區程序員Vitalik Buterin提出以太坊(Ethereum)的構想——“下一代加密貨幣與去中心化應用平臺”,意圖建立一個開源的有智能合約功能的公共區塊鏈平臺,并于2015年7月將這一構想付諸實踐。與比特幣系統不同,以太坊采用了圖靈完備(Turing Completeness)圖靈完備就是指程序員編寫的各種代碼語言,再加上一種運算規則,能在圖靈機這種虛擬機中完美的運算。的編程語言。圖靈完備本來就是指由虛擬的圖靈機替代人類進行數學運算,將其與區塊鏈技術結合,完美地為區塊鏈算法決策自動化提供了代碼解決方案。基于以太坊平臺的應用是智能合約,采用多種編程語言實現協議,為區塊鏈技術的廣泛應用提供了無限可能性。
三、區塊鏈算法對現行法律制度的挑戰
區塊鏈的去中心化特點決定著其是顛覆性的技術手段,甚至被認為掀起了“第四次工業革命”的浪潮。與此同時,區塊鏈技術尤其是其特有的算法勢必對現行法律制度也帶來極大的挑戰和機遇。
(一)區塊鏈算法對擔保與信用機制的改變
商事交易活動絕大多數情況下是在陌生人之間發生的,陌生人之間發生交易的基礎是相互信任,彼此相信對方會如約履行承諾。一項交易達成、履行與完成的過程,充滿著許多不確定性因素,對當事人來說蘊含著交易目的不能實現的風險。為了保障交易安全,傳統法律制度設計了較為完備的擔保體系。不過,無論是人的擔保,還是物的擔保,都是在商事交易本身以外引入“第三方”,抵御交易可能產生的風險。在沒有任何擔保的前提下,交易安全很大程度上則取決于當事人的信用是否良好。商事交易因信用機制而達成交易,也未能完全脫離“第三方”的干預。
區塊鏈技術產生伊始,其目的就是“去中心化”或“去中介化”,在當事人之間直接進行“點對點”的交易,排除任何第三方的干預。這一功能的實現是由于區塊鏈技術采用了特殊算法機制。區塊鏈技術的算法機制充分消除了交易當事人之間的不信任,降低了交易不確定性,使得當事人之間的道德風險與機會主義難以發生。換句話說,區塊鏈算法使得交易不再考慮人與人之間的信任、不再考慮是否有物的擔保,甚至不再考慮交易相對人的信用如何,算法保證了交易安全。因此,傳統法律框架下的擔保機制與信用機制在區塊鏈世界中,已無太大的用武之地。
當然,這并不是說區塊鏈排除了法律規則的適用,只不過是改變了傳統法律制度的運行機制。區塊鏈技術基于法律框架,不僅通過預設自動執行的智能合約,在約束并引導人們的行為時引入技術,而且依靠技術使信息更加透明、數據更加可追蹤、交易更加安全,大大降低了法律的執行成本,呈現出法律規則和技術規則協同作用、相互補充,法律與經濟融為一體、逐漸趨同的態勢,法律的約束與執行逐漸走向智能化。
(二)合同法視角下的智能合約
智能合約是區塊鏈算法的核心,也是區塊鏈技術對傳統法律制度沖擊最大的部分。智能合約通過區塊鏈系統可以做到交易的自動化,極大提高了交易效率,一定程度上降低了交易成本,對交易安全的保障也有積極意義。但是,在合同法視角下,智能合約至少存在以下幾方面的問題:
其一,在法律框架下確定智能合約的內容是困難的。智能合約是以代碼形式呈現出來并運行于區塊鏈系統中的計算機語言,其在編輯時如何體現當事人的權利義務、是否應當由技術人員、法律專業人士以及區塊鏈系統的用戶共同參與制定,以及是否可以將法律框架下涉及當事人權利義務的“法言法語”編輯成代碼,放到智能合約中去,等等。這些問題是令法律人困惑的,目前看來,尚未有令人滿意的答案。
其二,當智能合約用于記錄全部或部分法律協議時,它們產生了新的挑戰和弊端。它們不像書面協議那樣私密,就其密碼沒有以人類可讀語言公開揭露和解釋而言,它們可能促使甚少有人理解的標準化合約安排的形成。更令人擔憂的事實是,區塊鏈智能合約的自主和去中介性可以支持和促進犯罪活動。區塊鏈技術有可能影響法律協議,無論是積極還是消極的,各方都可以依靠加密安全法來創建促進違法活動的智能合約。
其三,全流程自動化的智能合約不能適應千變萬化的現實生活,可能會造成當事人合法權益的損害。從理論上說,將智能合約用于商事活動,可以解決信任與擔保問題。合同的磋商、訂立與履行的各個階段被計算機程序取代,不必要的人為因素甚至司法干預都可以被排除掉,也不會出現違約問題。純粹從技術角度來看,確實如此。但是,現實生活中的商事活動是非常復雜的,不但當事人主觀上協商一致可以變更或解除合同,而且如有不可抗力、情勢變更等客觀情形發生,當事人可以主張合同變更、解除或免除違約責任。對于智能合約而言,上述情況發生時也無法阻止合同的自動執行,可能會侵害當事人合法權益,甚至可能違背了雙方當事人的意思自治。The Dao事件中,智能合約的自動代碼運行于去中心化的分布式平臺,取代法律、中介和人際關系成為信任的實現載體。黑客利用The Dao智能合約中的編程錯誤非法盜取平臺巨額資金時,其智能合約依然自動運行,無法辨識竊賊和合法客戶,更無法追回被盜資金。這對于傳統合同來說,是無法想象的。
其四,智能合約會增加新的成本。傳統合同是靈活的,當事人可以使用績效標準(通常定義的合同條款)來創建可執行的協議,而無需完全了解將來可能發生的情況。當事人還可以將商業慣例納入協議,從而避免了明確但多余的談判。同時,在合同履行過程中,當事人可以通過非正式修改或有選擇地執行動態調整合同。這兩種形式的靈活性和合同履行的自由裁量權,實際上是提高了交易的整體效率。智能合約消除上述靈活性,可能會產生比其尋求解決的成本更為嚴重和棘手的成本。
(三)區塊鏈算法下的權利保護
區塊鏈技術的主要特征是匿名性,非對稱加密算法的應用,使得用戶信息的全網共享與隱私保護相結合成為可能。雖然在比特幣這樣的區塊鏈系統中,交易內容和節點地址都是公開可見的,但是各個節點卻無法獲知其他節點背后用戶的真實身份。通俗地說,在區塊鏈的世界里,沒有人知道你是一條狗。理論上,節點信息的匿名性在完全去中心化的區塊鏈系統中很難被突破,用戶的個人信息很難被他人侵害。
區塊鏈系統都是特定用戶用來從事某種交易或者其他活動的載體,無論在何種應用場景下,有兩個要素不可或缺:一是主體,即區塊鏈系統的用戶;二是行為,即商事交易或其他社會活動。因此,在區塊鏈2.0和3.0階段的應用場景中,至少應該在兩個方面加強用戶的權利保護。以區塊鏈在金融領域的應用為例:一是用戶身份的匿名性。各種金融機構之間有效和安全地共享用戶數據的困難可能導致用戶重復身份驗證的高昂成本。這也間接帶來了某些中介機構披露用戶身份的風險。另外,在某些情況下,交易的一方或雙方可能不愿意讓另一方知道其真實身份。二是交易的保密性。在線交易系統應盡可能最少地披露用戶交易和帳戶信息,包括:(1)任何未經授權的用戶都無法訪問用戶的交易信息;(2)未經管理員允許,系統管理員或網絡參與者不得向他人透露任何用戶的信息;(3)即使在意外故障或惡意網絡攻擊下,也應始終安全地存儲和訪問所有用戶數據。
四、規制算法與算法規制
作為一種解決節點如何形成共識的技術方案,區塊鏈算法本來只存在于虛擬空間,與現實世界中的法律制度貌似互不相關。不過,一旦區塊鏈技術進入到具體的應用場景,勢必會涉及各方主體的權利義務,甚至會涉及公共利益,影響到社會秩序。區塊鏈規制的核心是采取適當的激勵措施,以誘導市場行為者的意向行為,從而解決追求私人利益最大化所引起的外部性問題。
(一)技術是中性的嗎?——區塊鏈算法規制的必要性與可行性
技術是一種客觀存在,對其不應該附加任何價值判斷,有利還是有害完全取決于應用技術的人。因此,有人主張“技術價值中立論”,指技術只是一種方法論意義上的工具和手段,在政治上、倫理上和文化上是中性的,沒有好壞、善惡以及對錯之分,即技術本身不包含任何價值判斷。就區塊鏈算法而言,其在加密貨幣方面的應用,可能被不法分子用來從事洗錢、賭博、販毒等犯罪活動,也可以被用于法定數字貨幣的發行,成為金融創新的有益嘗試。從這個意義上說,對技術沒必要規制。另外,作為一種客觀的、靜態的存在,技術不被使用時也無法進行規制。
存在主義哲學大師海德格爾認為:“盡人皆知對我們這個問題有兩種回答。其一曰:技術是合目的的手段。其二曰:技術是人的行為。這兩個關于技術的規定原是一體的,因為設定目的,創造和利用目的的手段,就是人的行為。”這就將技術這一客觀存在解讀為人的行為。海德格爾進一步論述道:“現代技術也是一個合目的的手段,因此,關于技術的工具性觀念規定著每一種把人帶入與技術的適當關聯之中的努力。一切都取決于以得當的方式使用作為手段的技術。正如人們所言,我們要‘在精神上操縱’技術。我們要控制技術。技術愈是有脫離人類統治的危險,對技術控制意愿就愈加迫切。”
可見,技術的工具性觀念有其目的導向,這并不是技術本身的問題,而是技術的創造者和使用者的行為。從規制的角度來看,所有的社會活動均是由特定主體的行為完成的。規制技術應該從兩方面入手:一是主體方面,規制技術的創造者和使用者;二是行為方面,規制技術的具體應用。區塊鏈作為一種計算機、大數據以及互聯網領域的科學技術,是靜態的客觀存在,其自身并不會給社會帶來任何危害,只有該技術被應用到具體的場景中,才可能會涉及社會利益或者公共利益。因此,單純地對區塊鏈技術進行監管既無必要,也不可行,需要根據區塊鏈的不同類型,結合具體應用場景討論。
具體說來,規制區塊鏈算法應該從以下四個方面著手:一是從規制對象來說,應該對區塊鏈算法的制定者和使用者加強監管;二是從規制的場域來說,應該根據區塊鏈算法的具體應用場景進行規制;三是從規制的階段來說,應該貫穿區塊鏈算法制定與實施全流程,即事前監督、事中監督與事后監督相結合;四是從規制的方法和路徑來說,要將區塊鏈算法納入現行法律制度框架內,即“依法治鏈”。同時,要根據具體情況,爭取實現利用區塊鏈算法機制來監管區塊鏈算法,即“以鏈治鏈”。
(二)依法治鏈:規制區塊鏈算法
區塊鏈算法在形式上看是由計算機程序代碼、密碼以及特定運算方法構成,與傳統法律制度邏輯嚴密的、規范化的行為規則相去甚遠,但從其規則自身、目的導向以及行為結果來看,是可以納入到現行法律制度框架來的。
1.從公法的角度看,區塊鏈算法要符合密碼法和網絡安全法的相關規定
密碼學原理是區塊鏈算法的核心,是區塊鏈分布式賬本數據真實有效、不可篡改的關鍵。非對稱加密算法、哈希算法與智能合約都離不開密碼。《中華人民共和國密碼法》(以下簡稱《密碼法》)第2條規定:“本法所稱密碼,是指采用特定變換的方法對信息等進行加密保護、安全認證的技術、產品和服務。”區塊鏈算法的主要功能就是對數據加密和認證,完全符合此處界定的密碼范疇。《密碼法》對區塊鏈算法的規制具有極其重要的意義,其關于商業密碼的大部分規定對區塊鏈算法均適用。區塊鏈算法的程序設計也應該嚴格遵守《密碼法》相關規定,加強個人隱私與信息安全保護。另外,《中華人民共和國網絡安全法》(以下簡稱《網絡安全法》)的相關規定也適用區塊鏈算法的規制。該法第22條規定:“網絡產品、服務應當符合相關國家標準的強制性要求。網絡產品、服務的提供者不得設置惡意程序;…… 網絡產品、服務具有收集用戶信息功能的,其提供者應當向用戶明示并取得同意;涉及用戶個人信息的,還應當遵守本法和有關法律、行政法規關于個人信息保護的規定。”可以看出,如果有組織或者個人利用區塊鏈算法從事非法侵害他人利益與社會公共利益的,應當屬于此處“惡意程序”的范疇,為該法明令禁止。同時,該法強調個人的信息安全和隱私保護,課以區塊鏈技術的產品設計方與提供方對用戶的說明告知義務,以保障用戶的知情權。
2.智能合約納入合同法框架予以規制
如前所述,智能合約給傳統合同法帶來極大的挑戰。有人甚至認為智能合約是合同法的2.0版本,是傳統合同法終結的開始。比較傳統合同和智能合約,可以看出法律制度和計算機代碼形成并行系統,在規范性和邏輯方面彼此平行發展。一個規范社會領域,另一個規范信息系統。二者的交集在于智能合同是否應用到社會領域中來,以及如何把傳統合同的規范性融入信息系統之中。具體而言,傳統合同法對智能合約的規制體現為兩方面:一方面,就智能合同而言,無論其形式表現為何與履行過程如何,如果其運行的最終結果對相關當事人的民事權利義務有實質性影響的,則應當受傳統合同法的約束。比如,智能合約的效力也要符合相關法律規定,如果當事人對智能合約存在重大誤解,可以向人民法院或者仲裁機構請求撤銷。另一方面,在智能合約的程序語言編寫時,應該考慮其運行結果對參與者權利義務的影響,充分征求事前參與者的意見,將其合理訴求轉化為程序語言,寫入智能合約。對于已經開始運行的區塊鏈系統而言,負責運行的平臺應該向后來加入者充分告知說明智能合約運行的結果。
3.智能合約形成的新型財產權
智能合約中的POW(工作量證明)、POS(權益證明)是其共識算法,同時也是對參與者權益的肯定與證明,在功能上形成某種新型的財產權。比特幣的“挖礦”機制,是通過智能合約共識算法的運行,給予付出一定“算力”節點的獎勵。通過“挖礦”行為取得比特幣,從法理上說,屬于物權原始取得根據中的勞動生產。在承認數據權利的前提下,應該承認其合法性。這種機制后來發展為Token(通證),作為智能合約共識算法的證明。區塊鏈的Token機制,通過加密算法和分布式賬本來確定真偽,以及資產的唯一性,并通過共識算法進行流通。
區塊鏈技術肇始于比特幣,自從Ross Ulbricht于2011年2月推出“絲綢之路”(Silk Road)網站以來,加密貨幣一直在挑戰著各國政府的監管能力,給各國法律制度帶來極大沖擊,甚至可以說是噩夢。加密貨幣不僅可能會被作為犯罪工具,更沖擊著各國法定貨幣體系。目前,絕大多數國家并未承認比特幣、以太幣等加密貨幣的法定貨幣地位,但是也很少有國家完全否定其財產屬性。對于智能合約形成的新型財產權應該區別對待,不宜全盤否定。對于打著區塊鏈幌子進行ICO發行的應該全面禁止,而區塊鏈共識算法中的Token機制,應該承認其為一種新型財產權。
(三)“以鏈治鏈”:利用算法規制區塊鏈
傳統法律制度是建立在社會的網格化、科層化與組織化基礎上的,對橫空出世的區塊鏈,缺乏解決去中心化分布式記賬技術問題的監管手段,所導致的結果即以中心化為監管對象的法律與新興技術帶來的問題是不匹配的。這就要求我們一方面加強區塊鏈技術的相關立法工作,構建一套完整的規制框架,另一方面根據區塊鏈技術的特點,利用區塊鏈規制區塊鏈,“以鏈治鏈”。
1.確立區塊鏈技術標準,建立區塊鏈系統測試機制
一項宣稱為區塊鏈技術的項目或產品,是否是真的區塊鏈,只能用區塊鏈技術標準去衡量。《密碼法》第22、23條規定,商用密碼必須符合國家標準以及國際標準。目前,區塊鏈技術的國家標準和國際標準都在制定過程中,一旦標準確定,所有區塊鏈算法都要嚴格依其行事。區塊鏈算法的設計與實施機構應當主動接受商用密碼的檢測、認證,以便凈化區塊鏈市場,有效打擊和防止市場上魚目混珠的“假區塊鏈”與“偽區塊鏈”。
2.建立區塊鏈產業信用機制
通過向社會公開的平臺,區塊鏈企業籍此進行服務備案、發布相關信息,起到公示公信的作用。2019年1月10日,國家互聯網信息辦公室發布《區塊鏈信息服務管理規定》,自2019年2月15日起施行。該規定是我國第一部專門規制區塊鏈技術的規范性文件,旨在明確區塊鏈信息服務提供者的信息安全管理責任,規范和促進區塊鏈技術及相關服務健康發展,規避區塊鏈信息服務安全風險,為區塊鏈信息服務的提供、使用、管理等提供有效的法律依據。
3.加強區塊鏈行業自律
真正掌握和理解區塊鏈技術的是區塊鏈產業的從業者,他們也是區塊鏈技術合規合法發展最大的受益者。如果區塊鏈產業野蠻生長,違法違規現象屢禁不止,政府一定會強化監管。如果區塊鏈技術被用來從事違法犯罪活動,社會公眾利益受到侵害,哪怕是少數從業者所為,其帶來的外部效應同樣會波及其他合法合規企業。因此,建立區塊鏈行業自律組織,由從業者相互監督、共同制定從業規范與技術標準,既有利于區塊鏈行業規范發展,也有利于推動技術進步和產業合作。
結語
區塊鏈技術的出現并不是來自空中樓閣,其今后發展也不可能脫離互聯網和技術原來的脈絡,作為一種數據存儲機制,其必然也會承接數據結構發展的既定規律。算法是區塊鏈技術的核心,其運行機制客觀而理性,發展規律也更易捕捉。深入理解與正確認識算法是應用區塊鏈技術的前提基礎,如何利用其特殊算法解決現實問題是區塊鏈產業發展的關鍵。
近年來,隨著大數據、云計算以及移動互聯網等技術的發展,在共享經濟與平臺經濟的助推下,算法在經濟發展與社會生活中的應用越來越廣泛,已經脫離了單純的技術領域,成為一個涉及經濟、倫理與法律等多方面的社會問題。因此,這也引發了學術界關于算法研究的熱潮。學者們在算法研究領域,提出了許多包括“算法歧視”“算法共謀”以及“算法透明”等有價值的命題,并且給出了一些極具理論與實踐價值的解決方案。不過,區塊鏈算法有其特殊性,上述問題很多在區塊鏈技術中或者沒有體現,或者并不重要,抑或呈現的面貌不同。本文關于區塊鏈算法的研究只是一個粗淺的嘗試,也是一個開始,希望區塊鏈實務界人士與學界同仁將這一話題延續下去、深入挖掘,合理利用區塊鏈算法,使這一偉大技術革命真正能夠增進社會福祉。