趙天嬌
(中國人民銀行天津分行,天津 300040)
2021年3月,《中華人民共和國國民經(jīng)濟(jì)和社會發(fā)展第十四個五年規(guī)劃和2035年遠(yuǎn)景目標(biāo)綱要》將區(qū)塊鏈技術(shù)列為數(shù)字經(jīng)濟(jì)七大重點(diǎn)產(chǎn)業(yè)內(nèi)容之一,并明確提出,要推動智能合約、共識算法、加密算法和分布式系統(tǒng)等區(qū)塊鏈技術(shù)創(chuàng)新。經(jīng)濟(jì)發(fā)展需要以越來越快的方式交換貨幣,金融交易是區(qū)塊鏈技術(shù)的核心,是區(qū)塊鏈技術(shù)的重要應(yīng)用領(lǐng)域。
區(qū)塊鏈技術(shù)將交易信息保存在由計(jì)算機(jī)(節(jié)點(diǎn))組成的P2P網(wǎng)絡(luò)中,這與傳統(tǒng)的數(shù)據(jù)庫存儲方法形成了鮮明的對比。與之不同,區(qū)塊鏈技術(shù)的理念是將散列的交易信息作為“區(qū)塊”,并“串聯(lián)”起來,這些區(qū)塊存儲了點(diǎn)對點(diǎn)網(wǎng)絡(luò)上發(fā)送和接收交易的用戶之間發(fā)生的所有最新信息,將這些新信息放在共享的賬本上。盡管這2個數(shù)據(jù)存儲系統(tǒng)完成的任務(wù)相同,但在機(jī)制上有很大不同。區(qū)別在于,關(guān)系型數(shù)據(jù)庫系統(tǒng)是由一個可信任的中間機(jī)構(gòu)委托的,擁有所有的管理權(quán),而區(qū)塊鏈系統(tǒng)是由任何愿意參與的人操作的。
本文旨在分析區(qū)塊鏈技術(shù)在金融交易領(lǐng)域的應(yīng)用,以及區(qū)塊鏈技術(shù)和物聯(lián)網(wǎng)在提供金融交易安全方面的作用。
區(qū)塊鏈的想法誕生于對安全性的思考。早在2008年,中本聰發(fā)布的論文詳細(xì)介紹了加密貨幣區(qū)塊鏈,即比特幣。設(shè)計(jì)區(qū)塊鏈的部分原因是希望解決信任、安全和可靠性問題。區(qū)塊鏈本質(zhì)上是一個“去中心化”的數(shù)據(jù)庫,按照時間順序?qū)?shù)據(jù)區(qū)塊順序相連的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)和數(shù)字信息記錄系統(tǒng)。每一個數(shù)據(jù)塊中包含了一次網(wǎng)絡(luò)交易的信息,并以密碼學(xué)方式保證不可篡改和不可偽造的分布式賬本。區(qū)塊鏈技術(shù)利用共識算法來生成和更新數(shù)據(jù),利用智能合約來操作數(shù)據(jù),利用塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來驗(yàn)證與存儲數(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ò),被稱為“點(diǎn)對點(diǎn)”或“端對端”網(wǎng)絡(luò)。不同于中心化網(wǎng)絡(luò)模式,P2P網(wǎng)絡(luò)是連接各對等節(jié)點(diǎn)的組網(wǎng)技術(shù),不存在中心化的服務(wù)器,各節(jié)點(diǎn)的計(jì)算機(jī)地位平等,每個節(jié)點(diǎn)有相同的網(wǎng)絡(luò)權(quán)力。所有節(jié)點(diǎn)間通過特定的軟件協(xié)議共享部分計(jì)算資源、軟件或者信息內(nèi)容。圖1為一種P2P網(wǎng)絡(luò)模式。

圖1 P2P網(wǎng)絡(luò)模式
區(qū)塊鏈?zhǔn)褂昧艘粋€分布式的賬本,每個用戶都被平等對待,驗(yàn)證的交易數(shù)據(jù)都可以被添加到稱為區(qū)塊的分組節(jié)點(diǎn)網(wǎng)絡(luò)中,稱為無權(quán)限的區(qū)塊鏈網(wǎng)絡(luò)。這種平等的屬性,沒有任何權(quán)力機(jī)構(gòu),網(wǎng)絡(luò)上的每個對等用戶都負(fù)責(zé)驗(yàn)證交易,并影響區(qū)塊鏈的賬本。
區(qū)塊鏈?zhǔn)且粋€公共或私人網(wǎng)絡(luò)的不可篡改的賬本,保持對交易的跟蹤。記錄以哈希鏈接區(qū)塊的方式連續(xù)保存在賬本中。一條鏈將系統(tǒng)中的區(qū)塊從第一個到最近一個連接起來。這就是區(qū)塊鏈技術(shù)在加密貨幣市場的運(yùn)作方式。
人們發(fā)現(xiàn),區(qū)塊鏈有各種類型,這取決于所維護(hù)的數(shù)據(jù)、該數(shù)據(jù)的可用性及數(shù)據(jù)的用途。主要的2種類型是公共區(qū)塊鏈和私有區(qū)塊鏈。公共區(qū)塊鏈意味著任何人都可以加入公共區(qū)塊鏈,無須第三方的授權(quán),其可以作為一個簡單的節(jié)點(diǎn)或礦工/驗(yàn)證者進(jìn)行操作。在像比特幣這樣的公共區(qū)塊鏈中,礦工和驗(yàn)證者經(jīng)常得到經(jīng)濟(jì)上的獎勵。
在私有區(qū)塊鏈的情況下,所有者控制誰可以訪問網(wǎng)絡(luò)。許多私有區(qū)塊鏈也有權(quán)限控制哪些用戶可以處理交易,執(zhí)行智能合約,或作為礦工在網(wǎng)絡(luò)中操作。區(qū)塊鏈技術(shù)的主要組成部分是允許數(shù)據(jù)在網(wǎng)絡(luò)內(nèi)的各個參與者之間共享。
在區(qū)塊鏈中,節(jié)點(diǎn)必須首先與所有想要使用它的節(jié)點(diǎn)建立一個點(diǎn)對點(diǎn)網(wǎng)絡(luò)。然后,網(wǎng)絡(luò)中的每個節(jié)點(diǎn)都會得到2個密鑰,公鑰用于加密發(fā)送的信息,私鑰用于解密接收的信息。實(shí)際使用中,私鑰被用來簽署區(qū)塊鏈交易(批準(zhǔn)交易),而公鑰則作為唯一的地址。用匹配的公鑰加密的信息只能由擁有相應(yīng)私鑰的人解密,這就是區(qū)塊鏈技術(shù)在比特幣交易中提供安全保障的基礎(chǔ)。
物聯(lián)網(wǎng)允許虛擬網(wǎng)絡(luò)和現(xiàn)實(shí)物體進(jìn)行連接和通信,從而產(chǎn)生新的數(shù)字化服務(wù),提高現(xiàn)實(shí)世界的信息化水平。物聯(lián)網(wǎng)系統(tǒng)有很多優(yōu)點(diǎn),但現(xiàn)有的集中式架構(gòu)在單點(diǎn)故障、安全、隱私、透明度和數(shù)據(jù)完整性方面有很多問題,這些問題阻礙了物聯(lián)網(wǎng)應(yīng)用的發(fā)展。例如,單點(diǎn)故障會損害物聯(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ū)域,使其成為許多攻擊者的目標(biāo)。
大多數(shù)物聯(lián)網(wǎng)設(shè)備通過公共網(wǎng)絡(luò)通信,容易受到攻擊。通常情況下,大多數(shù)物聯(lián)網(wǎng)解決方案采用昂貴的客戶—服務(wù)器架構(gòu)。區(qū)塊鏈中永久索引項(xiàng)的使用解決了這個問題。此外,區(qū)塊鏈?zhǔn)褂脧?fù)雜的加密算法、哈希函數(shù)和時間戳來建立一個安全的計(jì)算環(huán)境,其對安全和隱私提供了更好的保護(hù),可以解決物聯(lián)網(wǎng)的復(fù)雜困難。
區(qū)塊鏈提供了一個防篡改和不可變的賬本,通過要求大多數(shù)參與用戶驗(yàn)證每個數(shù)據(jù)的修改來保護(hù)數(shù)據(jù)免受破壞性攻擊。基于區(qū)塊鏈技術(shù)的物聯(lián)網(wǎng)系統(tǒng)中的設(shè)備,可以根據(jù)協(xié)議接受或拒絕交易。
物聯(lián)網(wǎng)設(shè)備會捕捉各種實(shí)時數(shù)據(jù),包括敏感信息,如使用習(xí)慣、密碼、個人和財(cái)務(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ù))、交易、礦工和共識機(jī)制。

圖2 區(qū)塊鏈的主要組件
應(yīng)用共識機(jī)制等組件,為增強(qiáng)區(qū)塊鏈的安全性提供了可靠的手段,可以防止對關(guān)鍵公共基礎(chǔ)設(shè)施的各種形式的攻擊,沒有單點(diǎn)故障影響整個網(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ū)塊鏈上的每一項(xiàng)交易歷史提供追蹤。如果使用挖礦軟件(允許用戶查看區(qū)塊鏈賬本的所有公共數(shù)據(jù)),追蹤一筆交易,能夠?qū)υ摷用茇泿胚M(jìn)行快照。區(qū)塊鏈軟件也可以調(diào)查以前的區(qū)塊,并清理那些與當(dāng)前區(qū)塊鏈賬本不相關(guān)的交易。區(qū)塊鏈系統(tǒng)清理舊的交易記錄的優(yōu)勢之一,是允許點(diǎn)對點(diǎn)平臺上的所有用戶將一個輕量級的最小賬本存儲在本地。比特幣區(qū)塊鏈上一個區(qū)塊的大小是1 MB,每10 min就有一個區(qū)塊被添加到公共區(qū)塊鏈上。截至2021年,整個世界的比特幣歷史大小為350 GB多一點(diǎn),這對于過去10多年的全球交易歷史來說,占用空間極小。
一旦發(fā)起方創(chuàng)建了交易,該交易必須被添加到區(qū)塊鏈賬本中。該交易與網(wǎng)絡(luò)上同時發(fā)生的其他交易一起被歸入一個區(qū)塊,形成一個類似于鏈的數(shù)字結(jié)構(gòu)。當(dāng)向區(qū)塊添加交易時,網(wǎng)絡(luò)上所有監(jiān)聽的對等用戶都會將交易接收到他們計(jì)算機(jī)的本地驅(qū)動器上,然后獨(dú)立處理交易。一旦用戶有足夠的交易放入一個區(qū)塊(對比特幣來說價值1 MB),計(jì)算機(jī)就會對交易進(jìn)行數(shù)字簽名,證明交易是合法的,之后將其放入網(wǎng)絡(luò)。
應(yīng)用安全散列算法(Secure Hash Algorithm256,SHA-256)進(jìn)行數(shù)字簽名,這是一個哈希函數(shù)(散列函數(shù)),可以將任何大小的輸入值映射為相同大小的輸出值。散列函數(shù)是隨機(jī)進(jìn)行的,對于散列函數(shù)的輸入的微小變化,其輸出會有極大的差異。哈希的輸出是一個難以辨認(rèn)的64個十六進(jìn)制字符的字符串,如果一個用戶知道哈希輸出,生成其輸入幾乎是不可能的。這些哈希函數(shù)可用于區(qū)塊鏈中的數(shù)字簽名,以增加密鑰的安全性。使用哈希函數(shù)為區(qū)塊鏈上的交易生成的公鑰和私鑰。發(fā)起人使用接收方用戶的公鑰對交易進(jìn)行加密。接收人的私鑰用來驗(yàn)證交易發(fā)起人的合法性,然后再驗(yàn)證交易本身的合法性。
在金融交易領(lǐng)域應(yīng)用區(qū)塊鏈技術(shù),可利用2個層級的安全機(jī)制來保證安全。總體框圖說明如圖3所示。

圖3 總體框圖
存儲在服務(wù)器中的數(shù)據(jù)是使用區(qū)塊鏈機(jī)制存儲的。第一層安全機(jī)制中,哈希值被分割,其中一部分存儲在云端,另一部分存儲在本地。即使區(qū)塊鏈或云端被黑客攻擊,也只能獲得一半的哈希密鑰信息。第二層安全機(jī)制是通過用M2M認(rèn)證來驗(yàn)證客戶端實(shí)現(xiàn)的。想要訪問區(qū)塊鏈中的數(shù)據(jù)的用戶需要首先得到認(rèn)證,認(rèn)證過程由RSA算法提供。實(shí)現(xiàn)認(rèn)證的過程如圖4所示。

圖4 客戶端和服務(wù)器交換密鑰和OTP來獲得授權(quán)
密鑰使用RSA機(jī)制生成,實(shí)現(xiàn)用戶和物聯(lián)網(wǎng)系統(tǒng)之間的相互認(rèn)證。加密解密過程中,使用隨機(jī)方法生成OTP,使用公鑰對OTP進(jìn)行加密并發(fā)送給用戶。如果客戶是一個有效的用戶,能夠使用其私鑰解密,并將OTP發(fā)送給服務(wù)器。用戶認(rèn)證之后,即可訪問區(qū)塊鏈數(shù)據(jù)。一般情況下,生成的哈希值被作為賬本的一部分保存在區(qū)塊鏈中,而不被分割。使用哈希密碼組合從用戶名、MAC地址、IP地址、機(jī)器名稱和請求日期來識別用戶。因此,當(dāng)用戶提出交易請求時,應(yīng)用程序可以重新生成哈希值,并與已經(jīng)生成的哈希值進(jìn)行比較,以確保密碼相同或不同。2個層級的安全機(jī)制有助于增強(qiáng)交易過程的安全性。非對稱加密解密過程如圖5所示。

圖5 非對稱加密解密過程
本文討論了區(qū)塊鏈技術(shù)的架構(gòu)、組成要素和安全機(jī)制,公共區(qū)塊鏈和私有區(qū)塊鏈的不同形式。集中式物聯(lián)網(wǎng)系統(tǒng)的問題,以及區(qū)塊鏈與物聯(lián)網(wǎng)的結(jié)合可以如何應(yīng)對這些問題。在金融交易領(lǐng)域的應(yīng)用2個層級的安全機(jī)制來保證安全,提高金融交易的數(shù)據(jù)安全性。
區(qū)塊鏈?zhǔn)怯?jì)算機(jī)科學(xué)領(lǐng)域令人振奮的新發(fā)展,在過去10年中取得了許多進(jìn)展,通過比特幣,區(qū)塊鏈實(shí)現(xiàn)了全球范圍內(nèi)的無信任、安全和實(shí)時結(jié)算的交易,而不需要任何中間機(jī)構(gòu)。這項(xiàng)技術(shù)仍在研究和改進(jìn)之中。許多公司已經(jīng)應(yīng)用了這項(xiàng)新技術(shù),在其資產(chǎn)負(fù)債表上增加像比特幣這樣的證券,作為一種投機(jī)性的投資,使他們的投資組合多樣化。隨著區(qū)塊鏈技術(shù)的成功,傳統(tǒng)數(shù)字基礎(chǔ)設(shè)施需做出調(diào)整。雖然區(qū)塊鏈?zhǔn)亲鳛橐环N金融工具推出的,但其可以用于更多的領(lǐng)域,如醫(yī)療行業(yè)、游戲行業(yè)、物聯(lián)網(wǎng)和供應(yīng)鏈物流等。