• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于星火區(qū)塊鏈的跨鏈機(jī)制

      2022-03-01 12:34:26謝家貴李志平
      計(jì)算機(jī)應(yīng)用 2022年2期
      關(guān)鍵詞:公證人主鏈星火

      謝家貴,李志平,金 鍵

      (中國信息通信研究院工業(yè)互聯(lián)網(wǎng)與物聯(lián)網(wǎng)研究所,北京 100191)

      0 引言

      區(qū)塊鏈技術(shù)是由對(duì)等(Peer-to-Peer,P2P)網(wǎng)絡(luò)、密碼學(xué)、數(shù)據(jù)庫等多種技術(shù)融合的創(chuàng)新技術(shù),本質(zhì)上是一個(gè)去中心化的分布式賬本,賬本可以在整個(gè)區(qū)塊鏈網(wǎng)絡(luò)中復(fù)制和傳播,區(qū)塊鏈中每個(gè)區(qū)塊都包含許多交易,當(dāng)區(qū)塊鏈上發(fā)生新交易時(shí),該交易記錄就會(huì)添加到每個(gè)參與者的賬本中,由多個(gè)參與者共同管理。區(qū)塊鏈公開透明、集體維護(hù)、難以篡改等特點(diǎn),使其具有較高的可信性和安全性[1-2]。

      自中本聰2008 年發(fā)表《比特幣:一種點(diǎn)對(duì)點(diǎn)的電子現(xiàn)金系統(tǒng)》[3]以來,區(qū)塊鏈技術(shù)已發(fā)展十余年,從比特幣到以太坊,從最初僅用于貨幣支付到后來支持智能合約[4],從去中心化應(yīng)用程序(decentralized Application,dApp)發(fā)展到未來的Web 3.0,區(qū)塊鏈技術(shù)不斷實(shí)現(xiàn)突破,應(yīng)用場(chǎng)景不斷擴(kuò)大。尤其是從去年開始,區(qū)塊鏈被正式納入國家發(fā)改委新基建范疇,迎來多行業(yè)場(chǎng)景布局和應(yīng)用加速落地新階段,各種公有鏈、聯(lián)盟鏈如雨后春筍般涌現(xiàn),呈現(xiàn)出百家爭(zhēng)鳴的局面[5]。中國信息通信研究院研究設(shè)計(jì)了自主可控的星火區(qū)塊鏈(以下簡(jiǎn)稱星火鏈)。星火鏈采用許可公有區(qū)塊鏈技術(shù),可以為人、企業(yè)、設(shè)備和數(shù)字對(duì)象等提供數(shù)字身份、數(shù)字資產(chǎn)管理、公共數(shù)據(jù)服務(wù)、監(jiān)測(cè)監(jiān)管等基礎(chǔ)服務(wù)[6]。

      區(qū)塊鏈的蓬勃發(fā)展有利于科技發(fā)展和人類文明的進(jìn)步,但是目前發(fā)展存在一個(gè)突出問題:各個(gè)鏈都在獨(dú)立發(fā)展,形成一個(gè)個(gè)“孤島”,比如比特幣、以太坊,以及國內(nèi)的Fisco 等區(qū)塊鏈,都是在自己的生態(tài)內(nèi)獨(dú)自發(fā)展,彼此之間不能互通,無法互聯(lián)[7]。當(dāng)然從安全的角度考慮,這無可厚非,但是未來社會(huì)發(fā)展趨勢(shì)是一個(gè)萬物互聯(lián)的社會(huì),尤其大數(shù)據(jù)、5G 技術(shù)興起后,更讓萬物互聯(lián)的觀念深入人心。如果不同區(qū)塊鏈之間始終是孤立和封閉的狀態(tài),不能實(shí)現(xiàn)數(shù)據(jù)互通,資源共享,就會(huì)阻礙它們之間的協(xié)同操作,限制區(qū)塊鏈的發(fā)揮空間,難免會(huì)給用戶造成一些不便,甚至影響區(qū)塊鏈行業(yè)的發(fā)展[8]。因此跨鏈研究勢(shì)在必行,實(shí)現(xiàn)多種公有鏈、聯(lián)盟鏈之間互聯(lián)互通,既可以打破“信息壁壘”與“價(jià)值孤島”,又有利于區(qū)塊鏈間的數(shù)據(jù)資源共享和價(jià)值轉(zhuǎn)移,實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)下的治理與協(xié)同,從而推動(dòng)整個(gè)區(qū)塊鏈行業(yè)的發(fā)展[9]。

      鑒于此,本文深入探討了跨鏈技術(shù)實(shí)現(xiàn),系統(tǒng)分析了現(xiàn)有跨鏈項(xiàng)目特點(diǎn),并借鑒現(xiàn)有跨鏈技術(shù),設(shè)計(jì)星火鏈基于主子鏈架構(gòu)的新型跨鏈方案,實(shí)現(xiàn)用戶的跨鏈需求,進(jìn)一步豐富區(qū)塊鏈跨鏈生態(tài)系統(tǒng)。

      1 跨鏈技術(shù)研究現(xiàn)狀

      1.1 常見跨鏈技術(shù)

      不同區(qū)塊鏈間無法相互通信,使人們無法享受區(qū)塊鏈技術(shù)的全部好處??珂溂夹g(shù)的出現(xiàn),致力于通過實(shí)現(xiàn)區(qū)塊鏈之間互操作來解決這些問題,從而使不同區(qū)塊鏈之間易于相互通信并共享信息[10]。目前主流的區(qū)塊鏈跨鏈技術(shù)主要包括公證人機(jī)制、中繼機(jī)制和哈希鎖定。

      1.1.1 公證人機(jī)制

      公證人機(jī)制是一種最簡(jiǎn)單實(shí)現(xiàn)跨鏈的方法[11]。如圖1所示,通過引入一個(gè)或多個(gè)可信實(shí)體作為“公證人”,在兩條區(qū)塊鏈之間完成數(shù)據(jù)收集和交易驗(yàn)證[12]。在跨鏈過程中,可信實(shí)體向一條鏈聲明另一條鏈上發(fā)生了某事件,為跨鏈行為做背書。這些可信實(shí)體既可以不斷監(jiān)聽鏈上事件,達(dá)到條件后自動(dòng)地作出響應(yīng);又可以在收到請(qǐng)求時(shí)才對(duì)某些消息進(jìn)行簽名。根據(jù)公證人類型又可以分為三類:?jiǎn)魏灻C人機(jī)制、多簽名公證人機(jī)制、分布式簽名公證人機(jī)制。

      圖1 公證人機(jī)制Fig.1 Notary mechanism

      單簽名公證人機(jī)制,即中心化公證人機(jī)制,是最簡(jiǎn)單也是最容易理解的一種模式,一般是由一個(gè)單獨(dú)的中心化節(jié)點(diǎn)充當(dāng)公證人,這個(gè)單獨(dú)的公證人負(fù)責(zé)所有跨鏈數(shù)據(jù)的收集驗(yàn)證工作。常見的中心化交易所本質(zhì)上就是這種模式,交易所作為公證人,為不同用戶之間交易做背書。這種模式雖然簡(jiǎn)捷高效,但是存在中心化風(fēng)險(xiǎn),于是就產(chǎn)生了多簽名公證人機(jī)制。

      多簽名公證人機(jī)制,顧名思義,是由多個(gè)公證人組成的公證人小組,組內(nèi)每個(gè)人都有一個(gè)屬于自己的私鑰,跨鏈時(shí)需要一定數(shù)量的簽名達(dá)成共識(shí),交易才能完成。這種方式與單簽名公證人機(jī)制比起來更加安全和穩(wěn)定,但同時(shí)存在一定局限性,需要跨鏈雙方鏈上都要支持多重簽名功能,有一定的實(shí)現(xiàn)難度。

      分布式簽名公證人機(jī)制實(shí)現(xiàn)起來相對(duì)比較復(fù)雜,該機(jī)制借鑒安全多方計(jì)算的思想,基本思路是整個(gè)系統(tǒng)只產(chǎn)生一個(gè)私鑰,然后將私鑰拆散成多個(gè)碎片,并進(jìn)行加密處理后隨機(jī)分配給各個(gè)公證人,公證人之間互相不知道對(duì)方的密鑰??珂湑r(shí)只有達(dá)到一定比例的公證人簽名才能復(fù)原出完整私鑰,驗(yàn)證完成跨鏈交易。這種方式更加安全,當(dāng)少數(shù)公證人遭受攻擊時(shí),不會(huì)對(duì)系統(tǒng)穩(wěn)定性造成影響。

      1.1.2 側(cè)鏈/中繼機(jī)制

      側(cè)鏈?zhǔn)且粭l區(qū)塊鏈(主鏈)將另一條區(qū)塊鏈作為自身的延伸(側(cè)鏈),主鏈維護(hù)一個(gè)資產(chǎn)分類賬本,并連接到側(cè)鏈,側(cè)鏈?zhǔn)峭ㄟ^跨鏈通信協(xié)議連接到主鏈的獨(dú)立系統(tǒng)。這里側(cè)鏈不一定是次要的,兩條鏈可以成為彼此的側(cè)鏈[13]。最常見的是主鏈與側(cè)鏈之間資產(chǎn)轉(zhuǎn)移:當(dāng)用戶想從主鏈向側(cè)鏈轉(zhuǎn)移資產(chǎn)時(shí),首先在主鏈上向一個(gè)特殊地址發(fā)送X個(gè)令牌,這些資金即被鎖定在主鏈上,同時(shí)相應(yīng)數(shù)量代幣被創(chuàng)建在側(cè)鏈上,于是完成跨鏈資產(chǎn)轉(zhuǎn)移,用戶就可以使用側(cè)鏈上的令牌。如果用戶想換回主鏈令牌,側(cè)鏈上的資產(chǎn)被鎖定或銷毀,同時(shí)將主鏈上的令牌解鎖。主側(cè)鏈的連接驗(yàn)證方式一般通過簡(jiǎn)單支付證明(Simplified Payment Verification,SPV)完成,由輕客戶端完成,只需區(qū)塊頭數(shù)據(jù)即可驗(yàn)證區(qū)塊鏈上的交易,而無需完整的區(qū)塊數(shù)據(jù)。如BTC-Relayer 中的Relayer,由美國區(qū)塊鏈ConsenSys 團(tuán)隊(duì)設(shè)計(jì)開發(fā)[14],被認(rèn)為是區(qū)塊鏈上的第一個(gè)側(cè)鏈,通過以太坊上的智能合約讀取比特幣鏈的區(qū)塊頭并對(duì)其執(zhí)行計(jì)算。Relayer 使用SPV,僅使用區(qū)塊頭來驗(yàn)證支付,事務(wù)驗(yàn)證是通過對(duì)存儲(chǔ)的Merkle 樹進(jìn)行計(jì)算來實(shí)現(xiàn)的[15]。

      中繼機(jī)制是側(cè)鏈與公證人機(jī)制的一種融合。如圖2 所示,與公證人機(jī)制相比,中繼機(jī)制用中繼鏈代替原先的公證人,接管公證人的任務(wù),是一種去中心化的公證機(jī)制。中繼鏈?zhǔn)且粭l功能完備的區(qū)塊鏈,可以讀取并驗(yàn)證連接到其上的區(qū)塊鏈數(shù)據(jù)信息,中繼機(jī)制可以說是一種更加直接地實(shí)現(xiàn)跨鏈的方法。中繼機(jī)制可以在不依賴可信第三方的情況下完成交易驗(yàn)證,是一種更加靈活、更易于擴(kuò)展的跨鏈技術(shù),實(shí)現(xiàn)形式多種多樣,如Cosmos 中的Hub、Polkadot 中的中繼鏈等都充當(dāng)中繼的角色,一些側(cè)鏈的實(shí)現(xiàn)也采用了中繼模式[16]。

      圖2 中繼機(jī)制Fig.2 Relay mechanism

      1.1.3 哈希鎖定

      哈希鎖定最初是作為集中式交換的替代品出現(xiàn)的,支持跨鏈原子操作,即允許一個(gè)用戶向另一個(gè)用戶發(fā)送一定數(shù)量的加密貨幣,交換另一個(gè)區(qū)塊鏈上持有的加密貨幣[17]。哈希鎖定主要利用哈希鎖和時(shí)間鎖技術(shù),不需要兩條鏈之間過多交互,不需要第三方公證人存在,通過交易者承諾在超時(shí)前向另一方提供加密證明來進(jìn)行交易。

      如圖3 所示,假設(shè)Alice 和Bob 想要交換不同鏈上的資產(chǎn),哈希鎖定流程機(jī)制如下:

      圖3 哈希鎖定Fig.3 Hash lock

      1)Alice 生成一個(gè)隨機(jī)數(shù)s,計(jì)算其哈希值h=hash(s),然后將h發(fā)送給Bob。

      2)Alice 將她的資產(chǎn)鎖定在一個(gè)智能合約中,并設(shè)定好解鎖條件:Bob 在規(guī)定時(shí)間T內(nèi)用猜出密鑰s,用s取走智能合約中鎖定的資金;否則資金將被退回Alice。

      3)Bob 將其資產(chǎn)鎖定在另一個(gè)智能合約中,解鎖條件為:如果t≤T,Alice 可以輸入密鑰s,取走鎖定的資金;如果t>T,資金將被退回給Bob。

      4)Alice 及時(shí)調(diào)用合約,提供正確的s,向Bob 兌換資產(chǎn)。

      5)Bob 從Alice 處獲取s后,在剩余的時(shí)間內(nèi),從Alice 處兌換資產(chǎn)。

      這個(gè)過程中,Alice 和Bob 取走資產(chǎn)的時(shí)間不確定,并且在不同鏈條上有所不同。這個(gè)過程可以說是原子級(jí)的,在Alice 采取操作后,Bob 有足夠的時(shí)間獲取資金;否則Alice 可能會(huì)拒絕輸入密鑰s,所有資金都將被退回。然而在某些情況下,比如匯率波動(dòng)時(shí),Alice 會(huì)占據(jù)有利地位,Alice 可以在時(shí)間t內(nèi)等待有利的匯率。為了緩解這種不平衡,經(jīng)常利用狀態(tài)通道來加速交換,從而削弱發(fā)起方的優(yōu)勢(shì)。在跨鏈操作的情況下,哈希鎖定只能支持原子交換,在資產(chǎn)可移植性和數(shù)據(jù)跨鏈方面還存在困難。

      跨鏈的實(shí)現(xiàn)是一個(gè)相對(duì)比較復(fù)雜的過程,其本質(zhì)是將一條鏈上的消息安全可信地轉(zhuǎn)移到另一條鏈上并在該鏈上達(dá)到預(yù)期效果[18]。公證人機(jī)制、側(cè)鏈/中繼機(jī)制、哈希鎖定機(jī)制三種技術(shù)各有側(cè)重,公證人機(jī)制跨鏈方式比較簡(jiǎn)單和單一,只支持資產(chǎn)交換;側(cè)鏈/中繼機(jī)制更加穩(wěn)定和易于擴(kuò)展,可以實(shí)現(xiàn)資產(chǎn)轉(zhuǎn)移,數(shù)據(jù)交換,或者其他更加復(fù)雜的需求;哈希鎖定機(jī)制只適合偏資產(chǎn)或者關(guān)鍵數(shù)據(jù)的交換,在支付領(lǐng)域應(yīng)用較多。

      在這些跨鏈技術(shù)的基礎(chǔ)上,目前已涌現(xiàn)出非常多的跨鏈項(xiàng)目,致力于推動(dòng)區(qū)塊鏈網(wǎng)絡(luò)的發(fā)展和完善,實(shí)現(xiàn)區(qū)塊鏈互聯(lián)互通。

      1.2 主流跨鏈項(xiàng)目

      跨鏈的實(shí)現(xiàn),旨在打破數(shù)據(jù)孤島,解決價(jià)值交換,完成區(qū)塊互聯(lián),達(dá)成數(shù)據(jù)共享。近兩年來,跨鏈項(xiàng)目的數(shù)量呈逐年增長(zhǎng)態(tài)勢(shì),總體還處于探索階段,實(shí)質(zhì)性落地和成熟度較低,仍然有非常大的發(fā)展空間。本節(jié)主要介紹主流跨鏈項(xiàng)目Cosmos 和Polkadot。

      1.2.1 Cosmos

      Cosmos 是由伯克利的Tendermint 團(tuán)隊(duì)為核心團(tuán)隊(duì)開發(fā)的跨鏈項(xiàng)目,于2019 年3 月主網(wǎng)上線。Cosmos 是一個(gè)分散的獨(dú)立平行區(qū)塊鏈網(wǎng)絡(luò)[19]。該項(xiàng)目的目標(biāo)是創(chuàng)建一個(gè)允許所有其他區(qū)塊鏈相互通信的網(wǎng)絡(luò),改善區(qū)塊鏈之間的互操作性,并以最高效,最快的方式進(jìn)行通信。

      Cosmos 網(wǎng)絡(luò)由應(yīng)用層、共識(shí)層、網(wǎng)絡(luò)層三層組成,其中:應(yīng)用層主要用于具體業(yè)務(wù)邏輯設(shè)計(jì),處理交易并更新網(wǎng)絡(luò)狀態(tài);共識(shí)層,主要負(fù)責(zé)共識(shí)機(jī)制的設(shè)計(jì),幫助節(jié)點(diǎn)就系統(tǒng)當(dāng)前狀態(tài)達(dá)成一致共識(shí);網(wǎng)絡(luò)層,用于交易和區(qū)塊鏈之間的通信,負(fù)責(zé)通信協(xié)議和底層數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。

      Cosmos Hub 是第一個(gè)在Cosmos 網(wǎng)絡(luò)上啟動(dòng)的區(qū)塊鏈,如圖4 所示,通過跨鏈協(xié)議與Hub 連接的區(qū)塊鏈被稱作Zone,Hub 在Cosmos 網(wǎng)絡(luò)中充當(dāng)所有獨(dú)立區(qū)塊鏈Zone 之間的中介。在Cosmos 中,每個(gè)區(qū)域都可以自行執(zhí)行其基本功能,包括驗(yàn)證賬戶和交易、創(chuàng)建和分配新令牌等。Cosmos Hub 的任務(wù)是通過跟蹤其狀態(tài)來促進(jìn)網(wǎng)絡(luò)中所有區(qū)域之間的互操作性。

      圖4 Cosmos區(qū)塊鏈體系架構(gòu)Fig.4 Cosmos blockchain architecture

      不同Zone 區(qū)域通過跨鏈通信協(xié)議(Inter-Blockchain Communication,IBC)連接到Cosmos Hub,該機(jī)制使信息能夠在每個(gè)連接的區(qū)域之間自由安全地傳播。將Zone 連接到Cosmos Hub 后,它即可與連接到該Hub 的其他Zone 區(qū)域互操作,從而使不同共識(shí)機(jī)制和驗(yàn)證機(jī)制的區(qū)塊鏈之間可以交換數(shù)據(jù)。例如,鏈A 上的智能合約希望確定鏈B 上是否發(fā)生了事件。為此,鏈B 上的智能合約需要獲取鏈A 的區(qū)塊頭,并驗(yàn)證它是否滿足共識(shí)并達(dá)成最終結(jié)果[20]。

      IBC 定義了鏈與鏈之間的通信標(biāo)準(zhǔn),負(fù)責(zé)將數(shù)據(jù)包路由到目標(biāo)區(qū)塊鏈,目標(biāo)區(qū)塊鏈可以處理任意來自另一個(gè)區(qū)塊鏈的特定有序數(shù)據(jù)包。連接到Hub 的每個(gè)區(qū)塊鏈跟蹤其他區(qū)塊鏈的區(qū)塊頭。當(dāng)鏈A 向鏈B 轉(zhuǎn)移一筆資金時(shí),通過IBC 協(xié)議會(huì)首先鎖定A 鏈上的資產(chǎn),然后向目標(biāo)區(qū)塊鏈B 鏈發(fā)送證明,于是目標(biāo)區(qū)塊鏈上相應(yīng)創(chuàng)建與鎖定資產(chǎn)等值的資產(chǎn)?;謴?fù)原始鏈A 上的資產(chǎn)時(shí)也采用類似機(jī)制。對(duì)于未采用IBC協(xié)議的其他類型區(qū)塊鏈接入,會(huì)為原先的鏈開發(fā)一條既遵守原鏈通信標(biāo)準(zhǔn)又遵循IBC 標(biāo)準(zhǔn)的代理鏈,通過代理鏈來實(shí)現(xiàn)跨鏈。

      1.2.2 Polkadot

      Polkadot[21]是一個(gè)可伸縮的支持多種同構(gòu)、異構(gòu)鏈接入的多鏈跨鏈平臺(tái)。Polkadot 體系結(jié)構(gòu)圍繞三個(gè)要素構(gòu)建:中繼鏈、平行鏈和轉(zhuǎn)接橋。Polkadot 區(qū)塊鏈?zhǔn)侵欣^鏈,它位于生態(tài)系統(tǒng)的中心,并傳遞跨鏈信息;平行鏈?zhǔn)沁B接到中繼鏈的現(xiàn)有區(qū)塊鏈,它們可以是比特幣區(qū)塊鏈、以太坊區(qū)塊鏈或者是基于Polkadot 開發(fā)工具構(gòu)建的區(qū)塊鏈;轉(zhuǎn)接橋是將異構(gòu)平行鏈連接到中繼鏈的網(wǎng)關(guān),同構(gòu)鏈不需要轉(zhuǎn)接橋,因?yàn)樗鼈兣c中繼鏈的共識(shí)機(jī)制相同。

      Polkadot 區(qū)塊鏈中設(shè)計(jì)了四個(gè)角色,分別是驗(yàn)證者、提名者、收集者和釣魚者,如圖5 所示,從而使中繼鏈和平行鏈在不信任的環(huán)境中協(xié)同工作。

      圖5 Polkadot區(qū)塊鏈中四個(gè)角色的交互Fig.5 Interaction of four roles in Polkadot blockchain

      驗(yàn)證者主要負(fù)責(zé)創(chuàng)建和提議區(qū)塊,執(zhí)行交易的驗(yàn)證工作,具有非常高的權(quán)限。驗(yàn)證人需要抵押足夠多Polkadot 區(qū)塊鏈中的代幣作為押金,同時(shí)需要運(yùn)行一個(gè)完整的中繼鏈節(jié)點(diǎn)。

      收集者負(fù)責(zé)運(yùn)行全節(jié)點(diǎn)平行鏈,并收集平行鏈數(shù)據(jù),打包新的區(qū)塊并執(zhí)行交易,然后會(huì)將一個(gè)零知識(shí)證明附在執(zhí)行結(jié)果上,一起提交給該平行鏈區(qū)塊的驗(yàn)證者。

      提名者是擁有投票權(quán)益的人,他們選舉出他們信任的驗(yàn)證者,并把押金抵押給驗(yàn)證者,代表他們維護(hù)整個(gè)網(wǎng)絡(luò)。根據(jù)抵押的資金比例,提名者也會(huì)受到和驗(yàn)證人同樣比例的獎(jiǎng)勵(lì)和懲罰,從而保證整個(gè)Polkadot 網(wǎng)絡(luò)的安全。

      釣魚者在Polkadot 網(wǎng)絡(luò)中是一個(gè)監(jiān)管的角色,他們不直接和區(qū)塊打包過程相關(guān)。通過舉報(bào)并證明有抵押的參與方存在作惡行為,就能獲得可觀獎(jiǎng)勵(lì)。

      Polkadot 網(wǎng)絡(luò)可以看作是一個(gè)網(wǎng)絡(luò)結(jié)構(gòu),如圖6 所示,中繼鏈?zhǔn)蔷W(wǎng)絡(luò)的中心,中繼鏈上有一定數(shù)量的插槽,可以外接平行鏈。收集者會(huì)監(jiān)聽平行鏈上的交易,收集相關(guān)交易并進(jìn)行廣播,把未確認(rèn)的區(qū)塊提交給驗(yàn)證者,中繼鏈上驗(yàn)證者通過簽名共識(shí)階段后確認(rèn)區(qū)塊。每個(gè)平行鏈都會(huì)設(shè)置一個(gè)隊(duì)列,區(qū)塊鏈中的所有跨鏈交易都會(huì)被收集人放入這個(gè)隊(duì)列中,然后這些交易被收集者或驗(yàn)證者路由到目標(biāo)平行鏈[22]。

      圖6 Polkadot區(qū)塊鏈體系架構(gòu)Fig.6 Polkadot blockchain architecture

      作為目前熱門的跨鏈項(xiàng)目,Polkadot 和Cosmos 很好地解決了不同區(qū)塊鏈間數(shù)據(jù)無法交互,價(jià)值不能流通的痛點(diǎn),通過定義兼容性強(qiáng)的跨鏈協(xié)議,為用戶提供一個(gè)跨鏈中繼樞紐平臺(tái),支持多鏈互聯(lián)互通,在完全去中心化的網(wǎng)絡(luò)中交互操作,從而輕松實(shí)現(xiàn)跨鏈交互,盡可能滿足大多跨鏈應(yīng)用場(chǎng)景需求,未來有望大規(guī)模應(yīng)用起來[23]。

      Polkadot 和Cosmos 項(xiàng)目采用的都是中繼鏈機(jī)制,中繼鏈本質(zhì)上是側(cè)鏈與公證人機(jī)制的一種擴(kuò)展,Polkadot 和Cosmos的可擴(kuò)展性和交互性更強(qiáng),連接到中繼鏈上的各條區(qū)塊鏈都可以通過中繼鏈互相交互,不需要依賴可信第三方就可以完成交易驗(yàn)證、數(shù)據(jù)同步、價(jià)值轉(zhuǎn)移等,更加靈活、高效。不同的是Polkadot 和Cosmos 擁有不同的共識(shí)機(jī)制[24],Polkadot 平行鏈和中繼鏈都需要維護(hù)自己的區(qū)塊狀態(tài),中繼鏈需要對(duì)最終的安全性負(fù)責(zé)。而Cosmos 則不同,Cosmos 的Zone 區(qū)域需要找到自己去中心化的驗(yàn)證者,Cosmos 的Hub 驗(yàn)證者無需對(duì)鏈安全性負(fù)責(zé);但同時(shí)Polkadot 和Cosmos 項(xiàng)目也存在一些缺點(diǎn),跨鏈實(shí)現(xiàn)方式邏輯復(fù)雜,對(duì)異構(gòu)鏈接入不夠友好,如果是一個(gè)異構(gòu)區(qū)塊鏈,都需要橋接來進(jìn)行跨鏈。盡管如此,Polkadot 和Cosmos 仍有很多值得借鑒的地方,融合公證人機(jī)制和中繼鏈核心思想,解決復(fù)雜跨鏈難題,實(shí)現(xiàn)鏈與鏈之間互通互聯(lián),具有非常大的優(yōu)勢(shì)。本文借鑒相關(guān)跨鏈設(shè)計(jì)經(jīng)驗(yàn)和思路,提出星火區(qū)塊鏈的跨鏈方案。

      2 星火區(qū)塊鏈跨鏈方案

      星火區(qū)塊鏈采用的是主子鏈架構(gòu),即“主鏈+子鏈”的1+N 架構(gòu)模式。主鏈?zhǔn)且粭l基于中繼鏈技術(shù)的許可公有鏈,許可公有區(qū)塊鏈?zhǔn)且环N既兼容公有區(qū)塊鏈開放接入、靈活、可擴(kuò)展性等特性,又融合聯(lián)盟區(qū)塊鏈易于監(jiān)管、高性能、安全可控等特性的區(qū)塊鏈技術(shù)系統(tǒng)。主鏈支持同構(gòu)和異構(gòu)子鏈接入,子鏈注冊(cè)后可以通過中繼鏈實(shí)現(xiàn)跨鏈,在去中心化同時(shí)能保證數(shù)據(jù)的安全可靠。

      2.1 體系架構(gòu)

      在星火區(qū)塊鏈中,主鏈保證鏈群高效運(yùn)行,負(fù)責(zé)鏈群管理和價(jià)值錨定;子鏈采用自治理模式,針對(duì)不同業(yè)務(wù)場(chǎng)景獨(dú)立設(shè)計(jì),實(shí)現(xiàn)數(shù)據(jù)安全隔離,保證在不同場(chǎng)景中對(duì)隱私性、有效性的不同要求。如圖7 所示。

      圖7 星火區(qū)塊鏈體系架構(gòu)Fig.7 Spark blockchain architecture

      星火區(qū)塊鏈中設(shè)置了三類節(jié)點(diǎn),分別是超級(jí)節(jié)點(diǎn)、骨干節(jié)點(diǎn)和業(yè)務(wù)節(jié)點(diǎn),不同類型節(jié)點(diǎn)分工合作,保證鏈網(wǎng)穩(wěn)定運(yùn)行。

      超級(jí)節(jié)點(diǎn)主要負(fù)責(zé)執(zhí)行主鏈共識(shí),具備數(shù)據(jù)托管、資質(zhì)審核、鏈群管理等功能。鏈群中所有節(jié)點(diǎn)可申請(qǐng)成為超級(jí)節(jié)點(diǎn)候選人,并擁有超級(jí)節(jié)點(diǎn)被選舉權(quán)。

      骨干節(jié)點(diǎn)具有錨定主鏈、子鏈共識(shí)、子鏈監(jiān)管、智能合約部署等功能,子鏈通過骨干節(jié)點(diǎn)與主鏈執(zhí)行跨鏈交互過程,同時(shí)擔(dān)負(fù)著跨鏈網(wǎng)關(guān)職責(zé),是主鏈和子鏈的橋梁,實(shí)現(xiàn)主子鏈跨鏈通信。星火跨鏈技術(shù)是以高性能共識(shí)主鏈為核心的跨鏈網(wǎng)絡(luò)結(jié)構(gòu)以及子鏈動(dòng)態(tài)接入機(jī)制,骨干節(jié)點(diǎn)作為跨鏈橋接器,保證跨鏈技術(shù)的高效性、擴(kuò)展性和安全性。

      業(yè)務(wù)節(jié)點(diǎn)協(xié)同骨干節(jié)點(diǎn)執(zhí)行共識(shí),執(zhí)行業(yè)務(wù)活動(dòng),其權(quán)限由骨干節(jié)點(diǎn)管理。

      在星火鏈主子鏈架構(gòu)中,主鏈?zhǔn)切腔疰湹暮诵模啥鄠€(gè)超級(jí)節(jié)點(diǎn)組成,超級(jí)節(jié)點(diǎn)負(fù)責(zé)維護(hù)整個(gè)區(qū)塊鏈安全穩(wěn)定運(yùn)行,維護(hù)各個(gè)子鏈的注冊(cè)申請(qǐng)和信息維護(hù),鏈接各個(gè)區(qū)塊鏈的跨鏈交易和交易驗(yàn)證過程,為保證鏈群高效運(yùn)行,為整個(gè)鏈群生態(tài)健康發(fā)展保駕護(hù)航。子鏈?zhǔn)撬袇⑴c接入跨鏈生態(tài)的同構(gòu)/異構(gòu)區(qū)塊鏈,可以是各種公有鏈、聯(lián)盟鏈、私有鏈等,有較強(qiáng)的獨(dú)立性,即使出現(xiàn)異常也不會(huì)影響其他子鏈正常的跨鏈過程。

      2.2 跨鏈機(jī)制

      通過對(duì)常見跨鏈機(jī)制分析,以及對(duì)Cosmos 和Polkadot 項(xiàng)目的研究,借鑒其公證人機(jī)制和中繼鏈核心思想,提出星火區(qū)塊鏈跨鏈技術(shù),實(shí)現(xiàn)跨鏈交互,解決資產(chǎn)和數(shù)據(jù)的自由流通,鏈與鏈之間互通互聯(lián),保證鏈與鏈之間互相信任。

      星火鏈的跨鏈技術(shù)支持資產(chǎn)跨鏈、數(shù)據(jù)跨鏈、智能合約跨鏈互操作三種服務(wù)能力,促進(jìn)子鏈資產(chǎn)價(jià)值錨定、數(shù)據(jù)資產(chǎn)價(jià)值化流轉(zhuǎn)和業(yè)務(wù)跨鏈互操作。其中,資產(chǎn)跨鏈支持與主鏈原生資產(chǎn)同構(gòu)的子鏈間資產(chǎn)轉(zhuǎn)移,同時(shí)支持異構(gòu)原生資產(chǎn)通過主鏈兌換實(shí)現(xiàn)資產(chǎn)交換,促進(jìn)子鏈資產(chǎn)與主鏈的價(jià)值錨定和跨鏈價(jià)值流轉(zhuǎn);數(shù)據(jù)跨鏈支持與主鏈數(shù)據(jù)同構(gòu)的子鏈間數(shù)據(jù)跨鏈交互,同時(shí)支持異構(gòu)數(shù)據(jù)通過主鏈規(guī)范化要求轉(zhuǎn)化;數(shù)據(jù)跨鏈交互形式包括數(shù)據(jù)的查看、數(shù)據(jù)的寫入和數(shù)據(jù)所有權(quán)轉(zhuǎn)移等,實(shí)現(xiàn)數(shù)據(jù)資產(chǎn)跨鏈價(jià)值化交換過程;智能合約跨鏈互操作支持用戶跨鏈調(diào)用智能合約,并傳遞交互參數(shù),實(shí)現(xiàn)智能合約跨鏈訪問、智能設(shè)備跨鏈點(diǎn)對(duì)點(diǎn)互操作等功能,進(jìn)而打破傳統(tǒng)互聯(lián)網(wǎng)協(xié)議橫向隔閡造成的數(shù)據(jù)孤島問題,通過連接各業(yè)務(wù)場(chǎng)景的底層協(xié)議,將各平臺(tái)、聯(lián)盟鏈系統(tǒng)等數(shù)據(jù)鏈接起來,實(shí)現(xiàn)萬物互聯(lián)互通目標(biāo)。如圖8 所示。

      圖8 星火區(qū)塊鏈的跨鏈流程Fig.8 Cross-chain process of Spark blockchain

      星火區(qū)塊鏈跨鏈設(shè)計(jì)了許多關(guān)鍵核心組件來保證跨鏈機(jī)制的進(jìn)行。

      1)智能合約組件。子鏈在向主鏈注冊(cè)的同時(shí)會(huì)進(jìn)行相關(guān)跨鏈合約部署,子鏈通過跨鏈智能合約,向主鏈發(fā)起注冊(cè)請(qǐng)求,連接到主鏈。以主鏈為中心可以和其他子鏈進(jìn)行跨鏈操作,保證主子鏈間跨鏈順利實(shí)現(xiàn),支撐跨鏈業(yè)務(wù)核心邏輯,保證跨鏈交易有效性與安全性。主鏈上部署中繼合約,用于跨鏈時(shí)主子鏈間數(shù)據(jù)同步與確認(rèn),保證主鏈作為中繼實(shí)現(xiàn)鏈間通信。

      2)交易校驗(yàn)組件。通過區(qū)塊頭Merkle 樹數(shù)據(jù)進(jìn)行SPV簡(jiǎn)單支付驗(yàn)證。SPV 能夠以最小的代價(jià)來計(jì)算判斷某條交易是否已經(jīng)被驗(yàn)證過。主鏈承擔(dān)子鏈交易數(shù)據(jù)校驗(yàn)的責(zé)任,校驗(yàn)組件會(huì)校驗(yàn)并保存提交上來的子鏈區(qū)塊頭和相關(guān)交易SPV 數(shù)據(jù),以此來證明子鏈數(shù)據(jù)有效性。

      3)交易超時(shí)組件。保證跨鏈交易有效性和完整性。星火區(qū)塊鏈中內(nèi)置高性能時(shí)鐘,跨鏈交易過程中,每次跨鏈操作開始時(shí)都會(huì)進(jìn)行計(jì)時(shí),每一步交易都需要在規(guī)定時(shí)間內(nèi)反饋成功或失敗信息,進(jìn)而根據(jù)反饋信息進(jìn)行后續(xù)操作。同時(shí)主鏈和子鏈在跨鏈區(qū)塊確認(rèn)時(shí)都會(huì)有一個(gè)候選區(qū)塊池,候選區(qū)塊池中的區(qū)塊交易只有在收到跨鏈成功反饋時(shí)才會(huì)變?yōu)檎絽^(qū)塊。

      基于上述關(guān)鍵組件,對(duì)星火鏈的跨鏈流程進(jìn)行了優(yōu)化。一個(gè)典型的主子鏈間跨鏈交易主要分為以下階段:

      1)交易發(fā)起階段,主要是骨干節(jié)點(diǎn)監(jiān)聽用戶發(fā)起的交易,并提交到跨鏈消息隊(duì)列中。在星火鏈中,骨干節(jié)點(diǎn)會(huì)監(jiān)聽并獲取網(wǎng)絡(luò)中的跨鏈請(qǐng)求,用戶調(diào)用跨鏈合約發(fā)起子鏈A向子鏈B 的跨鏈請(qǐng)求時(shí),該請(qǐng)求會(huì)被骨干節(jié)點(diǎn)獲取,骨干節(jié)點(diǎn)會(huì)對(duì)該請(qǐng)求進(jìn)行驗(yàn)證,確認(rèn)請(qǐng)求發(fā)起者權(quán)限、跨鏈內(nèi)容和跨鏈序號(hào)等,驗(yàn)證通過無誤后將跨鏈請(qǐng)求信息形成特定格式的數(shù)據(jù),提交到跨鏈消息隊(duì)列中。如果檢查中存在問題,則中止交易,返回錯(cuò)誤信息。

      2)交易路由階段,主要是跨鏈消息的中繼和路由。主鏈中的中繼合約負(fù)責(zé)跨鏈消息隊(duì)列中跨鏈請(qǐng)求的中繼和路由,統(tǒng)籌協(xié)調(diào)路由分配,將跨鏈交易信息傳遞到對(duì)應(yīng)的子鏈。子鏈A 到子鏈B 的跨鏈請(qǐng)求被送入消息隊(duì)列后,中繼合約監(jiān)聽到并查詢驗(yàn)證對(duì)應(yīng)請(qǐng)求信息,之后根據(jù)路由信息將請(qǐng)求轉(zhuǎn)發(fā)至對(duì)應(yīng)的子鏈B,主鏈同時(shí)啟動(dòng)消息計(jì)時(shí)程序,若在規(guī)定時(shí)間內(nèi)沒有收到對(duì)應(yīng)子鏈的反饋信息,則按超時(shí)失敗處理。

      對(duì)應(yīng)子鏈的骨干節(jié)點(diǎn)會(huì)監(jiān)聽所有的跨鏈交易請(qǐng)求,當(dāng)收到中繼合約轉(zhuǎn)發(fā)過來的跨鏈交易請(qǐng)求后,交易會(huì)被提交到子鏈的跨鏈合約中進(jìn)行處理;子鏈B 的跨鏈合約對(duì)骨干節(jié)點(diǎn)提交的交易進(jìn)行校驗(yàn),通過節(jié)點(diǎn)簽名投票后提交候選區(qū)塊,把相關(guān)信息同步給主鏈,提交跨鏈反饋。同時(shí)開啟計(jì)時(shí)程序,等待在規(guī)定時(shí)間內(nèi)接收主鏈的反饋信息。

      3)交易核驗(yàn)階段,主要是交易數(shù)據(jù)的驗(yàn)證與同步。主鏈?zhǔn)盏阶渔淏 反饋的跨鏈信息后,首先對(duì)跨鏈交易進(jìn)行SPV 驗(yàn)證,即通過交易哈希值和Merkle 樹進(jìn)行簡(jiǎn)單驗(yàn)證。驗(yàn)證通過后,轉(zhuǎn)發(fā)給跨鏈的發(fā)起者子鏈A??珂湴l(fā)起者子鏈A 的骨干節(jié)點(diǎn)監(jiān)聽到主鏈發(fā)來的跨鏈確認(rèn)信息后,向子鏈A 提交跨鏈反饋,子鏈A 會(huì)對(duì)該比跨鏈交易進(jìn)行確認(rèn),把確認(rèn)的跨鏈交易提交到跨鏈合約中;子鏈A 的跨鏈合約對(duì)提交的確認(rèn)交易信息進(jìn)行校驗(yàn),驗(yàn)證跨鏈交易確實(shí)來自于主鏈,然后進(jìn)行投票驗(yàn)證,保證交易的執(zhí)行,同時(shí)返回相應(yīng)的回執(zhí)信息。

      4)交易確認(rèn)階段,主要是主鏈完成最終確認(rèn)并生成跨鏈存證。主鏈?zhǔn)盏椒答佇畔⒑?,?huì)進(jìn)行SPV 驗(yàn)證,同時(shí)對(duì)相應(yīng)的子鏈數(shù)據(jù)信息進(jìn)行同步,更新區(qū)塊頭數(shù)據(jù),提交候選區(qū)塊,等待子鏈確認(rèn)跨鏈信息后候選區(qū)塊變成正式區(qū)塊。同時(shí)生成一個(gè)跨鏈存證,確??珂溄灰渍鎸?shí)有效??珂湸孀C生成后,標(biāo)示此次跨鏈交易過程正常結(jié)束。

      一個(gè)跨鏈存證的信息示意如下,清楚明了地記錄了跨鏈信息,并附有簽名作為信用背書。

      根據(jù)上述跨鏈交易過程,假設(shè)用戶Alice 向Bob 進(jìn)行一筆轉(zhuǎn)賬,該筆轉(zhuǎn)賬只能通過子鏈A 向子鏈B 進(jìn)行跨鏈交易來實(shí)現(xiàn),以此為例來說明星火區(qū)塊鏈的跨鏈交易流程。

      1)用戶Alice 調(diào)用跨鏈合約向子鏈A 的業(yè)務(wù)節(jié)點(diǎn)發(fā)起向Bob 跨鏈轉(zhuǎn)賬交易申請(qǐng);

      2)子鏈A 的業(yè)務(wù)節(jié)點(diǎn)將該請(qǐng)求對(duì)外進(jìn)行廣播,骨干節(jié)點(diǎn)會(huì)監(jiān)聽并獲取該跨鏈請(qǐng)求;

      3)骨干節(jié)點(diǎn)對(duì)該請(qǐng)求進(jìn)行驗(yàn)證,驗(yàn)證通過后將該請(qǐng)求提交到跨鏈消息隊(duì)列;

      4)主鏈中的中繼合約監(jiān)聽到跨鏈消息隊(duì)列的消息后,會(huì)對(duì)其進(jìn)行校驗(yàn),校驗(yàn)通過后該請(qǐng)求被路由轉(zhuǎn)發(fā)到子鏈B;

      5)子鏈B 的骨干節(jié)點(diǎn)會(huì)監(jiān)聽轉(zhuǎn)發(fā)給自己的跨鏈交易請(qǐng)求,收到請(qǐng)求后,將交易提交到子鏈B 的跨鏈合約中進(jìn)行處理;

      6)子鏈B 的跨鏈合約對(duì)該交易進(jìn)行校驗(yàn),業(yè)務(wù)節(jié)點(diǎn)通過共識(shí)確認(rèn),簽名投票打包,提交候選區(qū)塊,更新交易狀態(tài),把信息反饋給主鏈;

      7)主鏈?zhǔn)盏娇珂湻答伜髸?huì)對(duì)該交易進(jìn)行驗(yàn)證,驗(yàn)證無誤后將消息轉(zhuǎn)發(fā)至子鏈A,子鏈A 監(jiān)聽到主鏈發(fā)來的跨鏈消息后,把確認(rèn)的跨鏈交易提交到子鏈A 的跨鏈合約中;

      8)子鏈A 的跨鏈合約對(duì)提交的確認(rèn)接收跨鏈交易進(jìn)行校驗(yàn),校驗(yàn)通過后進(jìn)行投票驗(yàn)證,提交候選區(qū)塊,同時(shí)反饋信息;

      9)主鏈?zhǔn)盏椒答佇畔⒑?,?huì)同步該條信息,提交候選區(qū)塊。同時(shí)生成跨鏈存證,至此該跨鏈交易全部完成。

      上述介紹的星火區(qū)塊鏈跨鏈方案的實(shí)現(xiàn),通過特定的主子鏈架構(gòu),設(shè)計(jì)關(guān)鍵核心組件保證跨鏈的進(jìn)行,實(shí)現(xiàn)不同子鏈間跨鏈交互,打破不同鏈之間的價(jià)值隔離困境,促進(jìn)子鏈資產(chǎn)價(jià)值錨定、數(shù)據(jù)資產(chǎn)價(jià)值化流轉(zhuǎn)和業(yè)務(wù)跨鏈互操作,安全實(shí)現(xiàn)鏈與鏈之間的價(jià)值互通,將滿足不同業(yè)務(wù)場(chǎng)景跨鏈需求。

      3 實(shí)驗(yàn)測(cè)試

      根據(jù)星火區(qū)塊鏈的跨鏈方案,設(shè)計(jì)可行的實(shí)驗(yàn)進(jìn)行性能測(cè)試和安全性測(cè)試。實(shí)驗(yàn)環(huán)境選用20 臺(tái)云服務(wù)器,服務(wù)器配置為64 GB 內(nèi)存,32 核Intel Core 的CPU,500 GB 硬盤。由于系統(tǒng)采用“主鏈+子鏈”架構(gòu),其中10 臺(tái)服務(wù)器作為10 個(gè)節(jié)點(diǎn),用于主鏈搭建和部署,剩余10 臺(tái)搭建2 條子鏈,每條子鏈部署5 個(gè)節(jié)點(diǎn)。

      3.1 性能測(cè)試

      性能測(cè)試實(shí)驗(yàn)從交易延遲、交易吞吐量、尖峰沖擊下的穩(wěn)定性等方面進(jìn)行評(píng)估。對(duì)于交易延遲、交易吞吐量實(shí)驗(yàn),每個(gè)實(shí)驗(yàn)進(jìn)行24 h,每6 min 記錄一次數(shù)據(jù);對(duì)于尖峰沖擊測(cè)試,分別進(jìn)行2 倍流量、3 倍流量的沖擊,實(shí)驗(yàn)各進(jìn)行3 min,比較沖擊前后的交易延遲數(shù)據(jù)。同時(shí)與超級(jí)賬本Fabric、企業(yè)以太坊聯(lián)盟Quorum 區(qū)塊鏈進(jìn)行對(duì)比實(shí)驗(yàn)。

      1)交易延遲,是衡量區(qū)塊鏈系統(tǒng)性能的一個(gè)重要指標(biāo)。實(shí)驗(yàn)過程中會(huì)記錄兩個(gè)時(shí)間節(jié)點(diǎn):一是交易發(fā)起的時(shí)間,即在交易發(fā)起階段用戶發(fā)起交易,被骨干節(jié)點(diǎn)監(jiān)聽并提交到跨鏈消息隊(duì)列;二是交易處理完成的時(shí)間,即在交易確認(rèn)階段主鏈完成最終確認(rèn)并生成跨鏈存證。通過計(jì)算兩個(gè)時(shí)間節(jié)點(diǎn)之間的時(shí)間差來統(tǒng)計(jì)交易延遲。如圖9 所示,F(xiàn)abric、Quorum 區(qū)塊鏈的平均延遲時(shí)間均超過了10 s,而星火區(qū)塊鏈跨鏈交易延遲時(shí)間較短,平均延遲時(shí)間約為7~8 s,低于其他區(qū)塊鏈延遲時(shí)間,交易效率較高。

      圖9 交易延遲時(shí)間Fig.9 Transaction delay time

      2)交易吞吐量。區(qū)塊鏈的吞吐能力也是衡量區(qū)塊鏈系統(tǒng)性能的重要指標(biāo),一般用每秒事務(wù)處理量(Transactions Per Second,TPS)來表示,指系統(tǒng)單位時(shí)間內(nèi)寫入?yún)^(qū)塊鏈的總交易數(shù)量。實(shí)驗(yàn)中通過自定義腳本持續(xù)發(fā)送大量的交易請(qǐng)求,然后統(tǒng)計(jì)計(jì)算單位時(shí)間處理完成的交易的數(shù)量。圖10 是交易吞吐量實(shí)驗(yàn)圖,星火區(qū)塊鏈的吞吐量最高可達(dá)到25 000 TPS,高于Fabric、Quorum 區(qū)塊鏈的1 000 TPS 左右的數(shù)值,星火區(qū)塊鏈中的交易并發(fā)處理能力較高,具有較好的性能。

      圖10 交易吞吐量Fig.10 Transaction throughput

      3)尖峰沖擊下的系統(tǒng)穩(wěn)定性。

      為了確保區(qū)塊鏈長(zhǎng)期穩(wěn)定運(yùn)行,就需要了解流量峰值時(shí)系統(tǒng)的狀況,保證每個(gè)訪問者流暢的使用體驗(yàn),因此,通過尖峰沖擊壓力測(cè)試來驗(yàn)證評(píng)估瞬間大流量沖擊區(qū)塊鏈時(shí)系統(tǒng)的穩(wěn)定性,是非常重要的。如圖11 所示,星火區(qū)塊鏈的交易延遲隨著流量的增加并未出現(xiàn)明顯變化,系統(tǒng)運(yùn)行平穩(wěn),平均延遲時(shí)間在8~9 s,而Fabric 的延遲在流量突然增大到2 倍時(shí),有一個(gè)明顯的增長(zhǎng),Quorum 區(qū)塊鏈的延遲在流量突然增大到2 倍和3 倍時(shí),都有較明顯的增長(zhǎng)。

      圖11 不同流量峰值下的交易延遲時(shí)間對(duì)比Fig.11 Comparison of transaction delay time under different traffic peaks

      上述實(shí)驗(yàn)結(jié)果表明,星火區(qū)塊鏈在交易延遲、吞吐量和尖峰沖擊測(cè)試等方面均有較好的表現(xiàn),具有較顯著的優(yōu)勢(shì),穩(wěn)定性較高,從而有效保證了星火區(qū)塊鏈的性能。

      3.2 安全性測(cè)試

      安全性是保證用戶資產(chǎn)和數(shù)據(jù)進(jìn)行跨鏈轉(zhuǎn)移的關(guān)鍵,是系統(tǒng)平穩(wěn)運(yùn)行的核心指標(biāo)。實(shí)驗(yàn)分別設(shè)置不同的惡意節(jié)點(diǎn),測(cè)試惡意節(jié)點(diǎn)的比例對(duì)區(qū)塊鏈交易成功率的影響。選取0個(gè)、4 個(gè)、5 個(gè)、7 個(gè)惡意節(jié)點(diǎn)進(jìn)行四組實(shí)驗(yàn),代表的惡意節(jié)點(diǎn)比例分別為0、20%、25%和大于30%。通過自定義腳本持續(xù)發(fā)送交易并監(jiān)測(cè)交易的完成情況,最后的交易成功率如表1所示。當(dāng)惡意節(jié)點(diǎn)數(shù)小于30%時(shí),跨鏈交易的成功率均達(dá)到100%;當(dāng)惡意節(jié)點(diǎn)數(shù)大于30%時(shí),跨鏈交易的成功率會(huì)有顯著的下降。由于星火鏈采用的許可公有區(qū)塊鏈技術(shù),成為星火鏈的節(jié)點(diǎn)需要嚴(yán)格的資格審核,所以惡意節(jié)點(diǎn)的比例會(huì)比較低,一般不會(huì)超過10%,這種情況下跨鏈交易的成功率為100%,可以充分保證區(qū)塊鏈運(yùn)行的安全。

      表1 不同惡意節(jié)點(diǎn)的交易成功率Tab.1 Transaction success rate of different malicious nodes

      進(jìn)一步講,本文在設(shè)計(jì)跨鏈機(jī)制的過程中,就已經(jīng)充分考慮了整個(gè)系統(tǒng)的安全性,具體表現(xiàn)在以下三方面。

      系統(tǒng)設(shè)計(jì)的智能合約組件,保證子鏈在向主鏈注冊(cè)的過程中是安全可控的。子鏈注冊(cè)接入主鏈時(shí),需要進(jìn)行相應(yīng)的認(rèn)證,抵押一定的資產(chǎn)后才可發(fā)起注冊(cè)提案。注冊(cè)完成后會(huì)為對(duì)應(yīng)的子鏈分配唯一的編號(hào)。主鏈也可以通過智能合約組件進(jìn)行節(jié)點(diǎn)投票注銷惡意注冊(cè)的信息,拒絕所有該惡意子鏈信息的跨鏈請(qǐng)求。

      跨鏈的共識(shí)機(jī)制采用的是基于委托權(quán)益證明(Delegated Proof Of Stake,DPOS)、可驗(yàn)證隨機(jī)函數(shù)(Verified Random Function,VRF)、實(shí)用拜占庭容錯(cuò)(Practical Byzantine Fault Tolerance,PBFT)等算法改進(jìn)的創(chuàng)新雙層共識(shí)。DPOS 階段節(jié)點(diǎn)會(huì)通過質(zhì)押大量資產(chǎn)獲得打包區(qū)塊的資格,節(jié)點(diǎn)參與共識(shí)時(shí)受到其他節(jié)點(diǎn)的監(jiān)督,主動(dòng)作惡會(huì)被罰沒質(zhì)押的資產(chǎn),通過這種手段使得作惡的成本遠(yuǎn)大于收益。VRF 階段用于輔助增強(qiáng)PBFT 的安全性,通過隨機(jī)選擇算法降低打包區(qū)塊節(jié)點(diǎn)被提前預(yù)測(cè)和攻擊的風(fēng)險(xiǎn),PBFT 階段的安全性由算法邏輯來保障,通過系統(tǒng)節(jié)點(diǎn)對(duì)信息的多次轉(zhuǎn)發(fā)和確認(rèn)來保證節(jié)點(diǎn)間的信息一致性。整個(gè)系統(tǒng)從經(jīng)濟(jì)博弈、算法邏輯本身等方面都充分保證跨鏈共識(shí)的安全性。

      另外,由于星火區(qū)塊鏈采用的是主子鏈架構(gòu),該架構(gòu)使不同業(yè)務(wù)場(chǎng)景對(duì)應(yīng)的各個(gè)子鏈之間網(wǎng)絡(luò)和數(shù)據(jù)相互隔離,不能直接通信,從根源確保隱私數(shù)據(jù)無泄漏風(fēng)險(xiǎn),保證了整個(gè)鏈群安全與穩(wěn)定。

      4 結(jié)語

      跨鏈技術(shù)讓不同區(qū)塊鏈之間實(shí)現(xiàn)了互聯(lián)互通,為不同技術(shù)底層的區(qū)塊鏈之間相互交互確立了統(tǒng)一標(biāo)準(zhǔn),區(qū)塊鏈不再是一個(gè)個(gè)孤島,跨鏈技術(shù)區(qū)塊鏈從小范圍探索實(shí)驗(yàn)走向大規(guī)模應(yīng)用成為可能。因此不同區(qū)塊鏈間實(shí)現(xiàn)跨鏈數(shù)據(jù)互通,會(huì)進(jìn)一步成為未來研究熱點(diǎn)。本文通過跨鏈機(jī)制及方案的分析與研究,對(duì)比現(xiàn)有主流跨鏈項(xiàng)目,對(duì)星火區(qū)塊鏈跨鏈技術(shù)進(jìn)行了設(shè)計(jì)與探索,提出星火鏈的跨鏈方案,構(gòu)建區(qū)塊鏈主子鏈體系架構(gòu),通過中繼方式實(shí)現(xiàn)跨鏈,各子鏈之間通過主鏈實(shí)現(xiàn)互聯(lián)互通、跨鏈數(shù)據(jù)交互共享,可以針對(duì)不同業(yè)務(wù)場(chǎng)景獨(dú)立運(yùn)行,為區(qū)塊鏈生態(tài)發(fā)展提供一個(gè)數(shù)據(jù)共享平臺(tái),進(jìn)一步豐富區(qū)塊鏈跨鏈生態(tài)系統(tǒng)。期望這項(xiàng)研究設(shè)計(jì)可以為下一步的深入研究提供一個(gè)穩(wěn)健可靠的起點(diǎn),相關(guān)開發(fā)者和研究人員可以重點(diǎn)關(guān)注星火區(qū)塊鏈跨鏈技術(shù)在供應(yīng)鏈管理、聯(lián)合溯源等場(chǎng)景的應(yīng)用,并結(jié)合應(yīng)用場(chǎng)景對(duì)跨鏈機(jī)制進(jìn)行優(yōu)化升級(jí),進(jìn)一步完善跨鏈流程與標(biāo)準(zhǔn),為區(qū)塊鏈行業(yè)的發(fā)展作出貢獻(xiàn)。

      猜你喜歡
      公證人主鏈星火
      “鹵代烴”知識(shí)概要
      基于PageRank改進(jìn)的公證人節(jié)點(diǎn)信用排序算法
      背著《星火》去廠旅行打卡照
      星火(2021年2期)2021-03-03 13:07:52
      《星火》夢(mèng)之隊(duì)
      星火(2021年2期)2021-03-03 13:06:36
      第二屆星火學(xué)年
      星火(2020年2期)2020-03-04 02:58:08
      WDC主鏈正式啟動(dòng)創(chuàng)世區(qū)塊已誕生
      有機(jī)化合物命名易錯(cuò)題直擊
      “烷烴”的五字命名方針
      一慢改寫星火繪畫
      民間借貸公證辦理中公證人的職責(zé)
      兴义市| 泸溪县| 桓台县| 蛟河市| 翁源县| 项城市| 沂水县| 友谊县| 同心县| 沧源| 大邑县| 平和县| 玛纳斯县| 湘乡市| 彰化市| 鹤峰县| 潞城市| 犍为县| 盖州市| 盐亭县| 佛学| 竹溪县| 苗栗县| 巫溪县| 伊宁市| 海伦市| 保靖县| 宿州市| 新化县| 张掖市| 双江| 乌拉特中旗| 四会市| 蒲江县| 东光县| 土默特左旗| 应城市| 江安县| 金川县| 南华县| 广州市|