趙天嬌
(中國人民銀行天津分行,天津 300040)
2021年3月,《中華人民共和國國民經(jīng)濟和社會發(fā)展第十四個五年規(guī)劃和2035年遠景目標綱要》將區(qū)塊鏈技術(shù)列為數(shù)字經(jīng)濟七大重點產(chǎn)業(yè)內(nèi)容之一,并明確提出,要推動智能合約、共識算法、加密算法和分布式系統(tǒng)等區(qū)塊鏈技術(shù)創(chuàng)新。經(jīng)濟發(fā)展需要以越來越快的方式交換貨幣,金融交易是區(qū)塊鏈技術(shù)的核心,是區(qū)塊鏈技術(shù)的重要應(yīng)用領(lǐng)域。
區(qū)塊鏈技術(shù)將交易信息保存在由計算機(節(jié)點)組成的P2P網(wǎng)絡(luò)中,這與傳統(tǒng)的數(shù)據(jù)庫存儲方法形成了鮮明的對比。與之不同,區(qū)塊鏈技術(shù)的理念是將散列的交易信息作為“區(qū)塊”,并“串聯(lián)”起來,這些區(qū)塊存儲了點對點網(wǎng)絡(luò)上發(fā)送和接收交易的用戶之間發(fā)生的所有最新信息,將這些新信息放在共享的賬本上。盡管這2個數(shù)據(jù)存儲系統(tǒng)完成的任務(wù)相同,但在機制上有很大不同。區(qū)別在于,關(guān)系型數(shù)據(jù)庫系統(tǒng)是由一個可信任的中間機構(gòu)委托的,擁有所有的管理權(quán),而區(qū)塊鏈系統(tǒng)是由任何愿意參與的人操作的。
本文旨在分析區(qū)塊鏈技術(shù)在金融交易領(lǐng)域的應(yīng)用,以及區(qū)塊鏈技術(shù)和物聯(lián)網(wǎng)在提供金融交易安全方面的作用。
區(qū)塊鏈的想法誕生于對安全性的思考。早在2008年,中本聰發(fā)布的論文詳細介紹了加密貨幣區(qū)塊鏈,即比特幣。設(shè)計區(qū)塊鏈的部分原因是希望解決信任、安全和可靠性問題。區(qū)塊鏈本質(zhì)上是一個“去中心化”的數(shù)據(jù)庫,按照時間順序?qū)?shù)據(jù)區(qū)塊順序相連的鏈式數(shù)據(jù)結(jié)構(gòu)和數(shù)字信息記錄系統(tǒng)。每一個數(shù)據(jù)塊中包含了一次網(wǎng)絡(luò)交易的信息,并以密碼學方式保證不可篡改和不可偽造的分布式賬本。區(qū)塊鏈技術(shù)利用共識算法來生成和更新數(shù)據(jù),利用智能合約來操作數(shù)據(jù),利用塊鏈式數(shù)據(jù)結(jié)構(gòu)來驗證與存儲數(shù)據(jù)。
P2P網(wǎng)絡(luò)技術(shù)是構(gòu)成區(qū)塊鏈技術(shù)架構(gòu)的核心技術(shù)之一。P2P網(wǎng)絡(luò)是建構(gòu)在互聯(lián)網(wǎng)上的一種對等網(wǎng)絡(luò),被稱為“點對點”或“端對端”網(wǎng)絡(luò)。不同于中心化網(wǎng)絡(luò)模式,P2P網(wǎng)絡(luò)是連接各對等節(jié)點的組網(wǎng)技術(shù),不存在中心化的服務(wù)器,各節(jié)點的計算機地位平等,每個節(jié)點有相同的網(wǎng)絡(luò)權(quán)力。所有節(jié)點間通過特定的軟件協(xié)議共享部分計算資源、軟件或者信息內(nèi)容。圖1為一種P2P網(wǎng)絡(luò)模式。
圖1 P2P網(wǎng)絡(luò)模式
區(qū)塊鏈使用了一個分布式的賬本,每個用戶都被平等對待,驗證的交易數(shù)據(jù)都可以被添加到稱為區(qū)塊的分組節(jié)點網(wǎng)絡(luò)中,稱為無權(quán)限的區(qū)塊鏈網(wǎng)絡(luò)。這種平等的屬性,沒有任何權(quán)力機構(gòu),網(wǎng)絡(luò)上的每個對等用戶都負責驗證交易,并影響區(qū)塊鏈的賬本。
區(qū)塊鏈是一個公共或私人網(wǎng)絡(luò)的不可篡改的賬本,保持對交易的跟蹤。記錄以哈希鏈接區(qū)塊的方式連續(xù)保存在賬本中。一條鏈將系統(tǒng)中的區(qū)塊從第一個到最近一個連接起來。這就是區(qū)塊鏈技術(shù)在加密貨幣市場的運作方式。
人們發(fā)現(xiàn),區(qū)塊鏈有各種類型,這取決于所維護的數(shù)據(jù)、該數(shù)據(jù)的可用性及數(shù)據(jù)的用途。主要的2種類型是公共區(qū)塊鏈和私有區(qū)塊鏈。公共區(qū)塊鏈意味著任何人都可以加入公共區(qū)塊鏈,無須第三方的授權(quán),其可以作為一個簡單的節(jié)點或礦工/驗證者進行操作。在像比特幣這樣的公共區(qū)塊鏈中,礦工和驗證者經(jīng)常得到經(jīng)濟上的獎勵。
在私有區(qū)塊鏈的情況下,所有者控制誰可以訪問網(wǎng)絡(luò)。許多私有區(qū)塊鏈也有權(quán)限控制哪些用戶可以處理交易,執(zhí)行智能合約,或作為礦工在網(wǎng)絡(luò)中操作。區(qū)塊鏈技術(shù)的主要組成部分是允許數(shù)據(jù)在網(wǎng)絡(luò)內(nèi)的各個參與者之間共享。
在區(qū)塊鏈中,節(jié)點必須首先與所有想要使用它的節(jié)點建立一個點對點網(wǎng)絡(luò)。然后,網(wǎng)絡(luò)中的每個節(jié)點都會得到2個密鑰,公鑰用于加密發(fā)送的信息,私鑰用于解密接收的信息。實際使用中,私鑰被用來簽署區(qū)塊鏈交易(批準交易),而公鑰則作為唯一的地址。用匹配的公鑰加密的信息只能由擁有相應(yīng)私鑰的人解密,這就是區(qū)塊鏈技術(shù)在比特幣交易中提供安全保障的基礎(chǔ)。
物聯(lián)網(wǎng)允許虛擬網(wǎng)絡(luò)和現(xiàn)實物體進行連接和通信,從而產(chǎn)生新的數(shù)字化服務(wù),提高現(xiàn)實世界的信息化水平。物聯(lián)網(wǎng)系統(tǒng)有很多優(yōu)點,但現(xiàn)有的集中式架構(gòu)在單點故障、安全、隱私、透明度和數(shù)據(jù)完整性方面有很多問題,這些問題阻礙了物聯(lián)網(wǎng)應(yīng)用的發(fā)展。例如,單點故障會損害物聯(lián)網(wǎng)系統(tǒng)提供的可用性和服務(wù)質(zhì)量,如果服務(wù)器癱瘓,會導(dǎo)致所有與之相關(guān)的物聯(lián)網(wǎng)應(yīng)用和服務(wù)暫停。此外,集中式服務(wù)器(中央服務(wù)器)將多個物聯(lián)網(wǎng)設(shè)備產(chǎn)生的所有數(shù)據(jù)保存在一個區(qū)域,使其成為許多攻擊者的目標。
大多數(shù)物聯(lián)網(wǎng)設(shè)備通過公共網(wǎng)絡(luò)通信,容易受到攻擊。通常情況下,大多數(shù)物聯(lián)網(wǎng)解決方案采用昂貴的客戶—服務(wù)器架構(gòu)。區(qū)塊鏈中永久索引項的使用解決了這個問題。此外,區(qū)塊鏈使用復(fù)雜的加密算法、哈希函數(shù)和時間戳來建立一個安全的計算環(huán)境,其對安全和隱私提供了更好的保護,可以解決物聯(lián)網(wǎng)的復(fù)雜困難。
區(qū)塊鏈提供了一個防篡改和不可變的賬本,通過要求大多數(shù)參與用戶驗證每個數(shù)據(jù)的修改來保護數(shù)據(jù)免受破壞性攻擊?;趨^(qū)塊鏈技術(shù)的物聯(lián)網(wǎng)系統(tǒng)中的設(shè)備,可以根據(jù)協(xié)議接受或拒絕交易。
物聯(lián)網(wǎng)設(shè)備會捕捉各種實時數(shù)據(jù),包括敏感信息,如使用習慣、密碼、個人和財務(wù)信息等。這些獲得的數(shù)據(jù)存儲在一個集中的第三方服務(wù)器中,這可能會導(dǎo)致隱私泄露。另外,由于所有的數(shù)據(jù)存儲和數(shù)據(jù)處理操作都通過一個服務(wù)器完成,這使得其容易受到許多威脅,特別是拒絕服務(wù)攻擊(Debuak of Service,DOS),因此,安全問題是物聯(lián)網(wǎng)集中式架構(gòu)的關(guān)鍵問題之一。
如圖2所示,區(qū)塊鏈包括一些基本組件,包括賬本、區(qū)塊、哈希函數(shù)(Hash Function,又稱散列函數(shù))、交易、礦工和共識機制。
圖2 區(qū)塊鏈的主要組件
應(yīng)用共識機制等組件,為增強區(qū)塊鏈的安全性提供了可靠的手段,可以防止對關(guān)鍵公共基礎(chǔ)設(shè)施的各種形式的攻擊,沒有單點故障影響整個網(wǎng)絡(luò),使得區(qū)塊鏈技術(shù)比中心化模式有更高的安全保障。因此將物聯(lián)網(wǎng)與區(qū)塊鏈技術(shù)相結(jié)合可以解決目前集中式物聯(lián)網(wǎng)方式的許多問題。表1總結(jié)了集中式物聯(lián)網(wǎng)系統(tǒng)的問題,以及區(qū)塊鏈與物聯(lián)網(wǎng)的結(jié)合可以如何應(yīng)對這些問題。
表1 物聯(lián)網(wǎng)的問題與區(qū)塊鏈的解決方式
與關(guān)系型數(shù)據(jù)庫中執(zhí)行金融交易的方式相反,區(qū)塊鏈數(shù)據(jù)庫只是增加了一行數(shù)據(jù),記錄了多少貨幣被轉(zhuǎn)移。這種交易新方式有助于為區(qū)塊鏈上的每一項交易歷史提供追蹤。如果使用挖礦軟件(允許用戶查看區(qū)塊鏈賬本的所有公共數(shù)據(jù)),追蹤一筆交易,能夠?qū)υ摷用茇泿胚M行快照。區(qū)塊鏈軟件也可以調(diào)查以前的區(qū)塊,并清理那些與當前區(qū)塊鏈賬本不相關(guān)的交易。區(qū)塊鏈系統(tǒng)清理舊的交易記錄的優(yōu)勢之一,是允許點對點平臺上的所有用戶將一個輕量級的最小賬本存儲在本地。比特幣區(qū)塊鏈上一個區(qū)塊的大小是1 MB,每10 min就有一個區(qū)塊被添加到公共區(qū)塊鏈上。截至2021年,整個世界的比特幣歷史大小為350 GB多一點,這對于過去10多年的全球交易歷史來說,占用空間極小。
一旦發(fā)起方創(chuàng)建了交易,該交易必須被添加到區(qū)塊鏈賬本中。該交易與網(wǎng)絡(luò)上同時發(fā)生的其他交易一起被歸入一個區(qū)塊,形成一個類似于鏈的數(shù)字結(jié)構(gòu)。當向區(qū)塊添加交易時,網(wǎng)絡(luò)上所有監(jiān)聽的對等用戶都會將交易接收到他們計算機的本地驅(qū)動器上,然后獨立處理交易。一旦用戶有足夠的交易放入一個區(qū)塊(對比特幣來說價值1 MB),計算機就會對交易進行數(shù)字簽名,證明交易是合法的,之后將其放入網(wǎng)絡(luò)。
應(yīng)用安全散列算法(Secure Hash Algorithm256,SHA-256)進行數(shù)字簽名,這是一個哈希函數(shù)(散列函數(shù)),可以將任何大小的輸入值映射為相同大小的輸出值。散列函數(shù)是隨機進行的,對于散列函數(shù)的輸入的微小變化,其輸出會有極大的差異。哈希的輸出是一個難以辨認的64個十六進制字符的字符串,如果一個用戶知道哈希輸出,生成其輸入幾乎是不可能的。這些哈希函數(shù)可用于區(qū)塊鏈中的數(shù)字簽名,以增加密鑰的安全性。使用哈希函數(shù)為區(qū)塊鏈上的交易生成的公鑰和私鑰。發(fā)起人使用接收方用戶的公鑰對交易進行加密。接收人的私鑰用來驗證交易發(fā)起人的合法性,然后再驗證交易本身的合法性。
在金融交易領(lǐng)域應(yīng)用區(qū)塊鏈技術(shù),可利用2個層級的安全機制來保證安全。總體框圖說明如圖3所示。
圖3 總體框圖
存儲在服務(wù)器中的數(shù)據(jù)是使用區(qū)塊鏈機制存儲的。第一層安全機制中,哈希值被分割,其中一部分存儲在云端,另一部分存儲在本地。即使區(qū)塊鏈或云端被黑客攻擊,也只能獲得一半的哈希密鑰信息。第二層安全機制是通過用M2M認證來驗證客戶端實現(xiàn)的。想要訪問區(qū)塊鏈中的數(shù)據(jù)的用戶需要首先得到認證,認證過程由RSA算法提供。實現(xiàn)認證的過程如圖4所示。
圖4 客戶端和服務(wù)器交換密鑰和OTP來獲得授權(quán)
密鑰使用RSA機制生成,實現(xiàn)用戶和物聯(lián)網(wǎng)系統(tǒng)之間的相互認證。加密解密過程中,使用隨機方法生成OTP,使用公鑰對OTP進行加密并發(fā)送給用戶。如果客戶是一個有效的用戶,能夠使用其私鑰解密,并將OTP發(fā)送給服務(wù)器。用戶認證之后,即可訪問區(qū)塊鏈數(shù)據(jù)。一般情況下,生成的哈希值被作為賬本的一部分保存在區(qū)塊鏈中,而不被分割。使用哈希密碼組合從用戶名、MAC地址、IP地址、機器名稱和請求日期來識別用戶。因此,當用戶提出交易請求時,應(yīng)用程序可以重新生成哈希值,并與已經(jīng)生成的哈希值進行比較,以確保密碼相同或不同。2個層級的安全機制有助于增強交易過程的安全性。非對稱加密解密過程如圖5所示。
圖5 非對稱加密解密過程
本文討論了區(qū)塊鏈技術(shù)的架構(gòu)、組成要素和安全機制,公共區(qū)塊鏈和私有區(qū)塊鏈的不同形式。集中式物聯(lián)網(wǎng)系統(tǒng)的問題,以及區(qū)塊鏈與物聯(lián)網(wǎng)的結(jié)合可以如何應(yīng)對這些問題。在金融交易領(lǐng)域的應(yīng)用2個層級的安全機制來保證安全,提高金融交易的數(shù)據(jù)安全性。
區(qū)塊鏈是計算機科學領(lǐng)域令人振奮的新發(fā)展,在過去10年中取得了許多進展,通過比特幣,區(qū)塊鏈實現(xiàn)了全球范圍內(nèi)的無信任、安全和實時結(jié)算的交易,而不需要任何中間機構(gòu)。這項技術(shù)仍在研究和改進之中。許多公司已經(jīng)應(yīng)用了這項新技術(shù),在其資產(chǎn)負債表上增加像比特幣這樣的證券,作為一種投機性的投資,使他們的投資組合多樣化。隨著區(qū)塊鏈技術(shù)的成功,傳統(tǒng)數(shù)字基礎(chǔ)設(shè)施需做出調(diào)整。雖然區(qū)塊鏈是作為一種金融工具推出的,但其可以用于更多的領(lǐng)域,如醫(yī)療行業(yè)、游戲行業(yè)、物聯(lián)網(wǎng)和供應(yīng)鏈物流等。