吳信龍
(閩西職業(yè)技術(shù)學院,福建 龍巖 364000)
基于當下區(qū)塊鏈技術(shù)蓬勃發(fā)展與廣泛應用,各種阻礙以及各種問題對其具體運用產(chǎn)生影響,其中,區(qū)塊鏈技術(shù)的效率性以及安全性的問題成為束縛其發(fā)展的主要瓶頸。同時面對密碼貨幣的可審計性,其運用的前提是需要對審計方保持完全信任方能展開[1]。而且在復雜多變的網(wǎng)絡環(huán)境中,區(qū)塊鏈技術(shù)的存儲數(shù)據(jù)與傳播數(shù)據(jù)主要是需要依助共識機制實現(xiàn)的,且其共識機制既能夠保證用戶對系統(tǒng)完整性的驗證,同時又能滿足無需讓受信方提供系統(tǒng)狀態(tài)。鑒于傳統(tǒng)的具有輪換制的PBFT選舉主節(jié)點的規(guī)則,時常會出現(xiàn)錯誤節(jié)點充當主節(jié)點時的狀況,并由此引發(fā)視圖更換,并且錯誤節(jié)點與主節(jié)點錯亂的次數(shù)增多,直接導致吞吐量下降以及時延增加狀況[2]。鑒于此,提供能夠可擴展的共識機制并保證分布式網(wǎng)絡可以快速達到一致狀態(tài)至關(guān)重要。
區(qū)塊鏈作為數(shù)據(jù)區(qū)塊,其主要優(yōu)勢在于所有節(jié)點生成或接受數(shù)據(jù)具有相同的規(guī)則,這無疑對保證系統(tǒng)的所有節(jié)點儲存數(shù)據(jù)的一致性具有重要作用。此次研究首先展開區(qū)塊鏈的基礎(chǔ)架構(gòu)、區(qū)塊結(jié)構(gòu)以及共識機制的研究。其中區(qū)塊鏈基礎(chǔ)架構(gòu)之所以能夠?qū)崿F(xiàn)去中心化的信任機制,主要在于其且各層之間相互配合[3]。就是說,作為構(gòu)建區(qū)塊鏈的技術(shù)的共識層、網(wǎng)絡層和數(shù)據(jù)層在區(qū)塊鏈系統(tǒng)中缺一不可。其區(qū)塊結(jié)構(gòu)示意圖見圖1。
圖1 區(qū)塊結(jié)構(gòu)
如圖1所示,區(qū)塊鏈系統(tǒng)的區(qū)塊由區(qū)塊體和區(qū)塊頭構(gòu)成,且區(qū)塊儲存著比特幣的交易記錄。其中區(qū)塊頭由隨機數(shù)、hash值、merkle-root樹根、時間戳等共同構(gòu)成。需要特別指出的是時間戳的主要作用表現(xiàn)在,鑒于存在越久的記錄越難更改,即是說在區(qū)塊鏈系統(tǒng)中隨著時間的增長記錄的困難程度則越加難以更改,簡單說就是運行時間與篡改難度呈正相關(guān)。
完全可以說區(qū)塊鏈技術(shù)的主要優(yōu)勢在于能夠保證所有用戶都能驗證系統(tǒng)的完整性,且是在無需讓受信任的第三方提供系統(tǒng)狀態(tài)的前提下實現(xiàn)的[4]。另外,必須在所有節(jié)點意見相同時才能在區(qū)塊鏈中添加新區(qū)塊,而在整個分布式系統(tǒng)中共識算法便是解決節(jié)點對特定提議產(chǎn)生共同意見的過程。其中拜占庭協(xié)議作為狀態(tài)機副本復制算法,主要通過多輪傳遞節(jié)點信息達成或保證所有誠實節(jié)點的共識,其共識協(xié)議示意圖如下。
如圖2所示,節(jié)點數(shù)為4個且故障節(jié)點數(shù)為1個。經(jīng)過5個階段的每個客戶端需要通過服務節(jié)點的交互在服務器中達成共識,倘若在特定時間內(nèi)服務器無法完成請求,則會直接更換協(xié)議。此外為了對共識機制進一步優(yōu)化,此次研究還選取了CPC算法進行對比分析。由于PBFT算法中主節(jié)點為輪換制,因此很容易導致惡意節(jié)點擔當主節(jié)點,其可能在對新區(qū)塊達成共識過程中發(fā)生錯誤,使從節(jié)點開啟視圖變更、共識暫停,從而使共識效率降低。為了解決上述問題,此次研究提出基于信用值的共識協(xié)議(CPC),且信用值避免了一般方案的啟發(fā)式設(shè)計,采用了較為精確的計算方法。該協(xié)議可以使得選舉出的主節(jié)點更加可信,公平性高,減少視圖變更次數(shù),提高交易吞吐量。
基于區(qū)塊鏈技術(shù)的去中心化審計框架主要由審計方、用戶以及區(qū)塊Leader構(gòu)成。其中具有審計功能的審計方在區(qū)塊鏈技術(shù)中的主要作用在于,通過審計所有區(qū)塊交易總和,進而確定特定段時間內(nèi)區(qū)塊鏈系統(tǒng)中的的消費總額[6]。而審計方與用戶之間的媒介為區(qū)塊Leader,而用戶是指產(chǎn)生交易并發(fā)送至區(qū)塊鏈網(wǎng)絡的參與方。去中心化的審計框架安全模型定義如下:
≥1-v(λ)
(1)
公式中,v(λ)表示為可忽視函數(shù)。如果確保了用戶和Leader誠實按照操作產(chǎn)生交互,那么審計方則能夠在特定時間內(nèi)正確審計該網(wǎng)絡的消費總額。即是說該審計方案是否具有審計可靠性的前提必須滿足上述條件。而審計方的可靠性具體是指審計方通過檢測偽造數(shù)據(jù),并將假數(shù)據(jù)排除到審計驗證之外,進而實現(xiàn)審計可靠性。其審計可靠性定義如下。
≥1-v(λ)
(2)
圖2 PBFT一致性協(xié)議
公式中,真實數(shù)據(jù)用RD表示,偽造數(shù)據(jù)記為?RD,同樣的可忽視函數(shù)記為v(λ)。在審計區(qū)塊鏈中審計方確定所有區(qū)塊交易之和的首要步驟是將審計請求發(fā)送至Leader之中,然后區(qū)塊Leader針對此項請求是否是審計方發(fā)來的并對之進行驗證簽名,之后區(qū)塊Leader需要與用戶進行交互,如果不滿足上述流程或條件則被視為非法請求并進行丟棄處理。之后還需要各用戶驗證收到的審計請求,驗證通過后開始計算審計令牌Token。最后由審計方對將收到的結(jié)果進行解密,在得到最終的所有交易總額的同時驗證其正確性。此外,針對審計方可能濫用審計權(quán)的問題,此次研究提出基于用戶事后感知的可審計Zerocoin方案。Zerocoin審計方案有用戶、礦工以及審計方構(gòu)成,且得到三個用戶A、B、C和一個審計方Auditor的示例,其中Auditor審計區(qū)塊鏈上A向B發(fā)出交易。由于審計方可能濫用審計權(quán)的問題,需要對審計方權(quán)力進行約束,而讓用戶對自己的審計情況保持可感知性以維護自身利益是其中一種解決方案。且用戶的可感知性作為信息安全的重要組成部分,用戶需要對自己何時被審計、被何方審計、以及哪些交易被審計保證知情。該方案在保證審計方審計權(quán)的同時,讓用戶能夠知曉自己的審計狀況。
此次研究利用區(qū)塊鏈技術(shù)解除虛擬交易的無法信任的根本問題的同時,通過打通信息邊界的獨特方式實現(xiàn)了區(qū)塊鏈中記錄與可信性的資質(zhì)信息真實性[9-10]。就是說,在破除虛擬交易的信任問題的壁壘之后,此次提出的基于區(qū)塊鏈技術(shù)的礦業(yè)企業(yè)可信勘探融資平臺,得到最終的預算執(zhí)行審計模型。其預算執(zhí)行模型具體如圖3所示。
圖3 基于區(qū)塊鏈技術(shù)預算執(zhí)行結(jié)構(gòu)圖
如圖3所示,此次研究基于區(qū)塊鏈技術(shù)的項目預算編制和供應鏈編制功能,通過提前記錄預算項與供應商之間的合同關(guān)系,然后根據(jù)是否滿足合同執(zhí)行條件進行自動執(zhí)行流程。就是說,滿足合同執(zhí)行條件之后啟動自動執(zhí)行的方式,最終以程序的方式將權(quán)利與義務的關(guān)系進行表達。可以說,區(qū)塊鏈平臺由于能夠同時保證所有參與方共同執(zhí)行合約,并通過量化性質(zhì)的比較執(zhí)行結(jié)果,并根據(jù)此執(zhí)行結(jié)果保證預算執(zhí)行的可信性與真實性。
此次研究通過信用值的共識協(xié)議(CPC)與拜占庭一致性協(xié)議(PBFT)進行對比研究,并通過吞吐量和時延與節(jié)點數(shù)的關(guān)系驗證二者的性能。其中吞吐量是衡量一個系統(tǒng)每單位時間內(nèi)處理事務(交易)、請求的最大速率,是系統(tǒng)并發(fā)能力的重要衡量指標。此次研究用每秒交易確認數(shù)表示吞吐量,Δt表示記錄時間,transactions為Δt進入?yún)^(qū)塊的總交易數(shù),此次研究吞吐量為50/Δt。此外區(qū)塊鏈的交易時延為交易從出發(fā)到被確認之間所經(jīng)歷的時間間隔,表示交易的響應和處理時間,可以衡量整個系統(tǒng)的網(wǎng)絡通信性能和共識機制的運行時間。其中吞吐量和時延與節(jié)點數(shù)的關(guān)系具體如圖4所示。
根據(jù)圖4可知,基于節(jié)點數(shù)的增加,區(qū)塊鏈網(wǎng)絡中傳遞的信息不斷增加,傳輸延遲增加,因此兩種共識協(xié)議的吞吐量整體呈現(xiàn)減少的趨勢。由于節(jié)點數(shù)的增加,PBFT輪換主節(jié)點的規(guī)則導致了拜占庭節(jié)點成為主節(jié)點的情況增多,導致交易確認速率減慢。CPC通過選舉信用值高的節(jié)點作為Leader,錯誤次數(shù)減少,在節(jié)點數(shù)逐漸增多時優(yōu)勢加大,其吞吐量比PBFT高。此外由于節(jié)點數(shù)增加,網(wǎng)絡中信息在節(jié)點之間傳播的時間加長,共識中等待確認的時延增加,因此圖中呈現(xiàn)遞增的趨勢,CPC比PBFT時延稍短,在節(jié)點增至100時,由于拜占庭節(jié)點的個數(shù)增多,更易觸發(fā)視圖更換協(xié)議,因此時延顯著增加。
此次研究提出了基于用戶可感審計性和審計信息不可分區(qū)分性的Zerocoin方案,該方案既可以審計交易發(fā)送方的身份,又能讓用戶感知到自己被審計,同時可以保證交易對參與方與審計方以外的人是保密的。保證審計方可審計的的同時,能夠在一定程度上防止其濫用職權(quán),保障了用戶權(quán)益。同時,為了更好的驗證可審計Zerocoin方案,此次研究通過仿真實驗對方案進行性能評估,且所測時間為十次實驗中去掉最大值與最小值后的算術(shù)平均值。其性能分析結(jié)果如圖5所示。
圖4 吞吐量和時延與節(jié)點數(shù)的關(guān)系
圖5 模型優(yōu)勢分析
如5所示,在2048bits時生成pre-data需要10ms左右,因此pre-data的生成對審計方來說消耗時間比較短。結(jié)果顯示生成審計信息時,驗證審計信息時,密鑰長度大于2048bits時,零知識證明所消耗時間比解密時間多了2倍左右。此外該方案優(yōu)勢還體現(xiàn)在生成與驗證審計信息的時間與審計方根據(jù)審計信息獲取發(fā)送身份的時間上,具體如圖5所示。且當區(qū)塊鏈中發(fā)送方身份未知的交易個數(shù)逐步增加時,審計方通過掃描交易中的序列號與審計信息是否匹配而得到相應時間。結(jié)果顯示搜索一個發(fā)送方身份的時間與交易個數(shù)基本成正比,交易數(shù)越多,通過匹配序列號而獲取交易方身份的時間越長。概而言之通過對方案進行了安全性分析與性能分析,該方案滿足可審計性、用戶可感知審計性和審計信息不可區(qū)分性,且審計方生成predata的效率與用戶感知的效率較高。
隨著區(qū)塊鏈技術(shù)的發(fā)展,得益于區(qū)塊鏈技術(shù)的可追溯、不可任意篡改以及去中心化等優(yōu)勢,區(qū)塊鏈技術(shù)的應用范圍逐步擴展到社會生活的方方面面,但許多應用場景的實時性需求對區(qū)塊鏈的效率提出了更高的挑戰(zhàn)。研究結(jié)果表明,針對如何保證可審計性質(zhì)的同時又可以約束審計方權(quán)力的問題,提出了基于用戶可感審計性和審計信息不可分區(qū)分性的可審計Zerocoin方案。由于Zerocoin方案的用戶能夠感知自身是否被審計,從而約束監(jiān)督審計方,進而保障了用戶權(quán)益。同時針對區(qū)塊鏈中的吞吐量低以及分叉現(xiàn)象等問題,此次研究另外提出了基于信用值的共識協(xié)議CPC,安全性分析表明CPC協(xié)議具有公平性,活性以及抗分叉性質(zhì);通過模擬實驗與PBFT對比,最終得出本協(xié)議在節(jié)點數(shù)增加時吞吐量與時延性能均有提升。