蓋靜
距離中本聰在2008年11月發(fā)布白皮書《比特幣:一個點(diǎn)對點(diǎn)的電子支付系統(tǒng)》至今,已經(jīng)有十余年,而區(qū)塊鏈概念也隨著比特幣價值的火爆而逐漸進(jìn)入大眾視野,引起全球各界的廣泛關(guān)注。區(qū)塊鏈的去中心化、公開透明、不可篡改等特性,為金融領(lǐng)域的信任問題提供了新型解決方案,也在供應(yīng)鏈、政務(wù)服務(wù)、商品溯源等方面取得廣泛進(jìn)展。區(qū)塊鏈技術(shù)從公有鏈向聯(lián)盟鏈和私有鏈的發(fā)展,超級賬本等專注于提供基于區(qū)塊鏈的分布式賬本平臺的出現(xiàn),區(qū)塊鏈技術(shù)層面與應(yīng)用層面的松耦合狀態(tài),在拓寬區(qū)塊鏈技術(shù)的應(yīng)用領(lǐng)域的同時,也大大降低了區(qū)塊鏈技術(shù)的應(yīng)用難度。
2019年10月24日,習(xí)近平總書記在中央政治局第十八次集中學(xué)習(xí)時強(qiáng)調(diào),區(qū)塊鏈技術(shù)的集成應(yīng)用在新的技術(shù)革新和產(chǎn)業(yè)變革中起著重要作用,要把區(qū)塊鏈作為核心技術(shù)自主創(chuàng)新的重要突破口,加快推動區(qū)塊鏈技術(shù)和產(chǎn)業(yè)創(chuàng)新發(fā)展。這也為區(qū)塊鏈技術(shù)在我國的創(chuàng)新發(fā)展提供了新的增長動能。
區(qū)塊鏈的技術(shù)特征
區(qū)塊鏈技術(shù)的去中心化依賴于共識機(jī)制。區(qū)塊鏈通過共識機(jī)制決定記賬權(quán)的歸屬,在去中心化程度最高的公有鏈中,每一個節(jié)點(diǎn)的地位均等,沒有中心節(jié)點(diǎn)的存在,因而中心節(jié)點(diǎn)被攻擊帶來系統(tǒng)崩潰、中心節(jié)點(diǎn)篡改賬本等問題的可能性大大降低。節(jié)點(diǎn)之間不需要相互信任,每一個節(jié)點(diǎn)通過工作量證明來競爭記賬權(quán),記賬完成后,各節(jié)點(diǎn)同步區(qū)塊鏈賬本的內(nèi)容。這種去中心化的特性,也意味著為了達(dá)成共識,需要節(jié)點(diǎn)之間的多次交互,而每一次交互都可能存在延遲,因而對系統(tǒng)的可擴(kuò)展性形成了約束。區(qū)塊鏈技術(shù)的運(yùn)用就需要在系統(tǒng)可擴(kuò)展性與去中心化之間做出平衡。
區(qū)塊鏈的防篡改特性主要依賴于工作量累積。區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)是一個有序的、反向鏈接的交易塊列表,每一個區(qū)塊均指向自己的父區(qū)塊,區(qū)塊鏈中的每一個區(qū)塊都由一個散列值來標(biāo)識,這個散列值是對區(qū)塊頭使用SHA256函數(shù)加密散列算法得到。區(qū)塊頭的信息包括三類:一是父區(qū)塊的哈希值;二是默克爾樹根,也就是本區(qū)塊所有交易產(chǎn)生的默克爾樹根節(jié)點(diǎn)的哈希值;三是與挖礦競爭相關(guān)的信息,如時間戳、目標(biāo)難度值以及隨機(jī)數(shù)。如果一個區(qū)塊得到了6次確認(rèn),也就是在一個區(qū)塊的上面累積了6次工作量,那么這個區(qū)塊被更改的可能性幾乎為零。因為如果本區(qū)塊中某一個交易更改,那么工作量證明中的隨機(jī)數(shù)就要重新計算,同時本區(qū)塊的哈希值也發(fā)生改變,為此需要對下一個區(qū)塊進(jìn)行更改,因為下一個區(qū)塊中包含了本區(qū)塊的哈希值,因而隨機(jī)數(shù)也需要重新計算,因而就意味著需要同時進(jìn)行6次工作量的重新計算,考慮到現(xiàn)有全網(wǎng)的算力,這幾乎不可能實(shí)現(xiàn)。
區(qū)塊鏈技術(shù)不等同于分布式賬本技術(shù)。人們常將區(qū)塊鏈技術(shù)與分布式賬本技術(shù)混為一談,但是實(shí)際上二者并非同一概念范疇。區(qū)塊鏈技術(shù)只是分布式賬本的一種實(shí)現(xiàn)形式,并非所有的分布式賬本都需要使用一連串的區(qū)塊來提供安全有效的分布式共識。分布式賬本是分布在多個節(jié)點(diǎn)或者計算設(shè)備上的數(shù)據(jù)庫,每一個節(jié)點(diǎn)都可以復(fù)制并保存一個分類賬,每一個節(jié)點(diǎn)都可以進(jìn)行獨(dú)立更新。分布式賬本的突破特征是分類賬不由任何中央節(jié)點(diǎn)維護(hù),而是由每一個節(jié)點(diǎn)獨(dú)立構(gòu)建和記錄。所有的區(qū)塊都分布在點(diǎn)對點(diǎn)的網(wǎng)絡(luò)中,由于它是一個分布式賬本,所以它可以在沒有服務(wù)器管理的情況下存在,數(shù)據(jù)質(zhì)量可以通過數(shù)據(jù)庫賦值和計算確認(rèn)來維護(hù),區(qū)塊鏈本質(zhì)上是一個不斷增長的記錄列表,它的結(jié)構(gòu)只允許將數(shù)據(jù)添加到數(shù)據(jù)庫中,所以不支持更改或者刪除之前輸入的數(shù)據(jù)。
當(dāng)前區(qū)塊鏈技術(shù)應(yīng)用中的兩難
區(qū)塊鏈技術(shù)有三大優(yōu)良特性:去中心化、公開透明、防篡改,但是這些技術(shù)上的優(yōu)良特性,與系統(tǒng)的可擴(kuò)展性、高并發(fā)性、隱私保護(hù)、信息容錯機(jī)制等相互制約。
一是去中心化與高并發(fā)性之間存在兩難。去中心化是區(qū)塊鏈的一個核心優(yōu)勢,但去中心化機(jī)制的核心是節(jié)點(diǎn)的共識,為了在區(qū)塊鏈中實(shí)現(xiàn)區(qū)塊的確認(rèn),就需要在不同的節(jié)點(diǎn)之間反復(fù)交互,而每一次交互都會帶來系統(tǒng)延遲,從而限制了系統(tǒng)的每秒處理交易總量(Transactions Per Second,簡稱TPS)。例如,在比特幣交易中,一個區(qū)塊的確認(rèn)時間是10分鐘,而要保證交易不會回滾,那么至少需要等到6個區(qū)塊得到確認(rèn)。比特幣每秒只能進(jìn)行7筆交易,這與金融領(lǐng)域特別是零售支付領(lǐng)域?qū)Ω卟l(fā)性的需求相差甚遠(yuǎn)。例如,中國2018年“雙十一”期間,網(wǎng)聯(lián)處理交易的并發(fā)量的峰值達(dá)到超過9.2萬筆每秒。人們嘗試通過增加區(qū)塊的大小或者增加區(qū)塊的出塊頻率等方式來提升系統(tǒng)的吞吐量,但是這樣的擴(kuò)展方案存在交易上限,且上限受到網(wǎng)絡(luò)延遲等因素的影響。聯(lián)盟鏈的典型代表Hyperledger Fabric,通過優(yōu)化共識機(jī)制、實(shí)現(xiàn)背書節(jié)點(diǎn)與排序節(jié)點(diǎn)的解耦、實(shí)施交易并發(fā)處理等方式提高了系統(tǒng)的交易量,然而最終也只能達(dá)到每秒幾百筆到幾千筆的交易量級。
二是區(qū)塊鏈的公開透明與隱私保護(hù)之間存在兩難。為了在公有鏈上達(dá)成共識,鏈上所有的節(jié)點(diǎn)均需要對加入?yún)^(qū)塊的交易數(shù)據(jù)的真實(shí)性、有效性進(jìn)行驗證,確認(rèn)后的交易被記錄在區(qū)塊鏈中,任何接入系統(tǒng)的節(jié)點(diǎn)只要愿意都可以下載自區(qū)塊創(chuàng)世開始發(fā)生的所有交易,從而給交易主體隱私保護(hù)帶來挑戰(zhàn)。比如,在比特幣系統(tǒng)中,從中本聰?shù)膭?chuàng)世區(qū)塊開始的所有交易均完整地記錄在區(qū)塊鏈之中,雖然通過比特幣地址很難與現(xiàn)實(shí)中個人的真實(shí)身份相互關(guān)聯(lián),但是依然可能通過數(shù)據(jù)分析挖掘出交易主體在現(xiàn)實(shí)中的真實(shí)身份,一旦身份被識別,那么交易方在系統(tǒng)中發(fā)生的所有交易都將暴露。
三是區(qū)塊鏈的防篡改特性與信息容錯機(jī)制間存在兩難。區(qū)塊鏈的防篡改特性是指交易一旦寫入到區(qū)塊鏈之中將不能夠修改,防篡改性為交易溯源提供了應(yīng)用空間。但是該特性與歐盟2018年5月公布的史上最嚴(yán)格的隱私保護(hù)法案《通用數(shù)據(jù)保護(hù)條例》(General Data Protection Regulation,簡稱GDPR)存在沖突。如,按照GDPR的要求,公民享有對個人信息的若干隱私保護(hù)權(quán)利,包括知情權(quán)、訪問權(quán)、更正權(quán)、被遺忘權(quán)、限制處理權(quán)、拒絕權(quán)、數(shù)據(jù)可攜帶權(quán)、免受自動決策權(quán)等。但是,對于區(qū)塊鏈技術(shù)而言,一條信息一旦被寫入?yún)^(qū)塊中,就難以被修改或者刪除,從而將對個人信息的更正、被遺忘等權(quán)利實(shí)施形成制約。
四是區(qū)塊鏈高出塊速度與系統(tǒng)高分叉存在兩難。為了提升系統(tǒng)的處理效能,減少交易排隊現(xiàn)象,人們試圖通過提高出塊速度來提高系統(tǒng)的吞吐量,但是出塊速度的加快,會相應(yīng)帶來不同節(jié)點(diǎn)對于最長交易鏈條認(rèn)識上的不一致,進(jìn)而導(dǎo)致各節(jié)點(diǎn)對于最長鏈認(rèn)識上的分歧,從而交易回滾和系統(tǒng)分叉的可能性顯著提升。
五是智能合約使用高級語言與執(zhí)行結(jié)果的不確定性存在兩難。比特幣所使用的腳本語言較為簡單,其無法執(zhí)行類似循環(huán)語句或者流控制,因而不是圖靈完備(如果一個語言能夠做到用圖靈機(jī)做到的所有事情,這種語言是圖靈完備的)的,也就是說一些復(fù)雜的功能在比特幣系統(tǒng)中無法實(shí)現(xiàn)。為此,以太坊擴(kuò)展了比特幣系統(tǒng)的語言,通過智能合約的方式拓展了區(qū)塊鏈技術(shù)的應(yīng)用。但是,使用高級語言編寫的智能合約,可能會帶來執(zhí)行結(jié)果的不確定性。同時,智能合約的編寫難度高,開發(fā)人員編寫的智能合約可能在完備性上有所欠缺,更容易產(chǎn)生邏輯上的漏洞。同時,由于區(qū)塊鏈技術(shù)編程語言的復(fù)雜性,很少有人能夠精通語言,大多是整段地復(fù)制智能合約的執(zhí)行代碼,這就造成了對黑客的防范極為困難。歷史上出現(xiàn)的The DAO事件,即是因為合約漏洞造成了價值數(shù)千萬美元的加密貨幣損失。
六是區(qū)塊鏈的可追蹤特性的價值依賴于源頭信息準(zhǔn)確性。區(qū)塊鏈可追溯的特性,可以用于打假、質(zhì)量保證、品牌保護(hù)等,但前提是源頭信息真實(shí)準(zhǔn)確。源頭數(shù)據(jù)上鏈過程的真實(shí)性和準(zhǔn)確性與區(qū)塊鏈技術(shù)本身無關(guān)?,F(xiàn)實(shí)中,很多商品源頭及跟蹤信息均需要人工參與,上鏈后信息不可修改,但是如果上鏈的信息本身真實(shí)性、準(zhǔn)確性存在不足,就喪失了追溯的意義。因而如何保證數(shù)據(jù)源頭的真實(shí)性、如何保證鏈下數(shù)據(jù)與鏈上數(shù)據(jù)的一致性都是重要問題。
區(qū)塊鏈的技術(shù)改進(jìn)方案
區(qū)塊鏈技術(shù)的應(yīng)用從比特幣應(yīng)用的1.0階段,進(jìn)入到了商業(yè)應(yīng)用的2.0階段,并隨著物聯(lián)網(wǎng)、第五代移動通信技術(shù)(5G)、大數(shù)據(jù)、云計算等核心技術(shù)的發(fā)展,通過構(gòu)建人與人之間、人與物之間、物與物之間的萬物互聯(lián)的社會進(jìn)入到了價值應(yīng)用的3.0階段。區(qū)塊鏈技術(shù)發(fā)展至今,主要面臨兩大制約:一是區(qū)塊鏈的性能方面,主要體現(xiàn)在可擴(kuò)展性不足,交易吞吐量不高;二是隱私信息保護(hù)方面,難以滿足交易主體匿名以及個人隱私保護(hù)的需求,技術(shù)上仍需要在兼顧去中心化的同時,保證用戶的隱私信息不因為交易公開而暴露。
區(qū)塊鏈性能方面
區(qū)塊鏈性能的改善受到可擴(kuò)展性的制約,而可擴(kuò)展性無法得到解決的主要癥結(jié)就在共識形成機(jī)制。未來要拓展區(qū)塊鏈技術(shù)的應(yīng)用就需要在兼顧中心化、安全性的同時,對系統(tǒng)的可擴(kuò)展性做出改進(jìn)。當(dāng)前的關(guān)鍵技術(shù)包括異步共識、隨機(jī)共識、分區(qū)方案、子鏈和側(cè)鏈技術(shù)、可信執(zhí)行環(huán)境、隱形中心化等。
一是共識算法的優(yōu)化。在公有鏈中,工作量證明的共識機(jī)制對資源造成了極大的浪費(fèi),而這種資源浪費(fèi)除了決定記賬權(quán)之外別無用處,類似金本位制度下,消耗大量資源將黃金從地下挖掘出來,再運(yùn)到美聯(lián)儲的金庫,造成對資源的極大浪費(fèi)。為此,人們嘗試在共識算法上做出改進(jìn),一方面是采用異步共識、隨機(jī)共識、分區(qū)方案等核心技術(shù);另一方面是讓渡一部分去中心化特性,將區(qū)塊鏈從公有鏈向聯(lián)盟鏈和私有鏈延伸,采用諸如拜占庭共識(BFT)/拜占庭容錯共識(PBFT)、分布式一致性算法(Raft、Paxos)等共識機(jī)制提高運(yùn)行效率。
二是將傳統(tǒng)順序交易轉(zhuǎn)換為并行交易。如Hyperledger Fabric是一個帶有節(jié)點(diǎn)許可的聯(lián)盟鏈系統(tǒng),通過將過去交易在排序完成之后或者是在排序的過程當(dāng)中執(zhí)行,改進(jìn)為執(zhí)行-排序-驗證-提交,提升系統(tǒng)的擴(kuò)展性和靈活性,同時將系統(tǒng)的順序交易,改進(jìn)為并發(fā)性交易,特別是不同的鏈碼(智能合約)指定不同的背書節(jié)點(diǎn)(負(fù)責(zé)驗證交易有效性)。交易預(yù)先執(zhí)行的方式還避免了交易結(jié)果的不確定性,能夠使系統(tǒng)抵抗一些非確定性的攻擊。
三是子鏈和側(cè)鏈技術(shù)的運(yùn)用。典型的如比特幣的閃電網(wǎng)絡(luò)(Lighting Network)和以太坊的雷電網(wǎng)絡(luò)(Raiden Network)的應(yīng)用。以太坊將雷電網(wǎng)絡(luò)用于交易雙方的轉(zhuǎn)賬過程,交易雙方通過智能合約方式部署一條交易通道,并在通道中鎖定一定數(shù)量的以太幣,交易通過多重簽名的方式在通道中進(jìn)行,交易雙方可以隨時關(guān)閉交易通道,只有在通道關(guān)閉時才會發(fā)生寫入?yún)^(qū)塊鏈的動作。通道中的任意一方持有的余額證明都是由對方簽名,任何一方都無法偽造出一份對自己更有利的余額證明。通過建立通道的方式,將部分鏈上動作移出到鏈外,可以極大地節(jié)約區(qū)塊的共識過程,從而提升系統(tǒng)并發(fā)量。
用戶隱私信息保護(hù)方面
用戶隱私信息的保護(hù)是區(qū)塊鏈應(yīng)用過程中需要解決的重要問題,特別是在公有鏈中,由于用戶的信息在區(qū)塊鏈上是公開的,因而隱私保護(hù)面臨的挑戰(zhàn)更大。例如比特幣,盡管地址是匿名的,但是在與其他實(shí)體的交互過程中,容易被反匿名,從而導(dǎo)致用戶交易記錄的隱私泄露。為了實(shí)現(xiàn)區(qū)塊鏈的用戶隱私信息保護(hù),當(dāng)前的關(guān)鍵技術(shù)包括同態(tài)加密技術(shù)、可執(zhí)行環(huán)境、零知識證明、群簽名、環(huán)簽名等。一是同態(tài)加密技術(shù)的運(yùn)用。對于交易設(shè)定私鑰,保證只有交易的相關(guān)方可以看到交易的信息,進(jìn)而避免了交易在全網(wǎng)進(jìn)行傳播對于隱私性能的損害。二是可信執(zhí)行環(huán)境的運(yùn)用??尚艌?zhí)行環(huán)境系統(tǒng)(Trusted ExecutionEnvironment,簡稱TEE)是一個獨(dú)立環(huán)境,受到硬件機(jī)制的保護(hù),與現(xiàn)有系統(tǒng)隔離,提供從文件到內(nèi)存的全方位的安全能力。在可信執(zhí)行環(huán)境的內(nèi)部,將密文解密成明文進(jìn)行計算,不需要擔(dān)心明文數(shù)據(jù)被竊取。同時,在數(shù)據(jù)離開可執(zhí)行環(huán)境時,先轉(zhuǎn)換成密文,再返回到通用操作系統(tǒng)。三是零知識證明的運(yùn)用。零知識證明是指證明者能夠在不向驗證者提供有用信息的情況下,使驗證者相信某個論斷是正確的,從而可以實(shí)現(xiàn)驗證者不知道具體交易內(nèi)容的情況下驗證交易有效性。此外,密碼學(xué)中的群簽名和環(huán)簽名等技術(shù)可以用來提升系統(tǒng)的隱私保護(hù)能力。群簽名技術(shù)因為存在管理員的角色,最終可以揭示簽名者,但是環(huán)簽名技術(shù)由于去掉了管理員的角色,可以進(jìn)一步提升交易的匿名性。
區(qū)塊鏈技術(shù)的發(fā)展方興未艾,在降低社會交易成本、提高社會效率、實(shí)現(xiàn)交易透明及可監(jiān)管方面發(fā)揮了積極的作用,有人將區(qū)塊鏈的更新和發(fā)展與互聯(lián)網(wǎng)的周期性變化做類比,認(rèn)為如果說將20世紀(jì)末半導(dǎo)體、互聯(lián)網(wǎng)和核能技術(shù)看作第三次工業(yè)革命,那么很有可能區(qū)塊鏈技術(shù)將與人工智能、物聯(lián)網(wǎng)和量子計算等一起,成為第四代工業(yè)革命的中堅力量。未來,隨著區(qū)塊鏈在性能、隱私保護(hù)、相關(guān)法律缺失等方面的改進(jìn),區(qū)塊鏈技術(shù)還將迎來新的發(fā)展機(jī)遇。