戴炳榮,姜?jiǎng)倜?,李頓偉,李 超
(1.上海海事大學(xué)信息工程學(xué)院,上海 201306;2.上海計(jì)算機(jī)軟件技術(shù)開(kāi)發(fā)中心,上海 201112)
區(qū)塊鏈技術(shù)因具有去中心化、可追溯、不可篡改等優(yōu)點(diǎn)而被應(yīng)用到越來(lái)越多的領(lǐng)域,但區(qū)塊鏈本身存在低吞吐量、網(wǎng)絡(luò)孤立和缺乏有效監(jiān)管等問(wèn)題,其中區(qū)塊鏈網(wǎng)絡(luò)孤立問(wèn)題尤為嚴(yán)重,在通常情況下每一條區(qū)塊鏈都是獨(dú)立的,它們之間無(wú)法直接通信。因此,當(dāng)區(qū)塊鏈之間需要信息交互時(shí),即產(chǎn)生跨鏈需求[1]。
根據(jù)區(qū)塊鏈底層平臺(tái)的差異,可以將跨鏈信息交互分為同構(gòu)鏈和異構(gòu)鏈,同構(gòu)鏈之間底層技術(shù)一致,區(qū)別在于應(yīng)用和數(shù)據(jù)不同;而異構(gòu)鏈之間的底層技術(shù)如共識(shí)算法、安全機(jī)制等都可能存在差異。同構(gòu)鏈之間跨鏈交互較為簡(jiǎn)單,而異構(gòu)鏈之間跨鏈交互需要有特定的技術(shù)輔助支撐[2]。
到目前為止,區(qū)塊鏈跨鏈方法可以分為哈希鎖定、側(cè)鏈/中繼鏈和公證人機(jī)制等類型[3-4]。
哈希鎖定主要是通過(guò)嚴(yán)格執(zhí)行含有哈希密碼鎖定的智能合約來(lái)實(shí)現(xiàn)資產(chǎn)交換[5-6],它的交換思路是一方基于哈希值鎖定資產(chǎn),設(shè)定規(guī)定時(shí)間內(nèi)如果能提供原哈希數(shù),則可獲取資產(chǎn),另一方使用同樣的哈希值鎖定資產(chǎn),也設(shè)置同樣的解鎖條件,即一方使用哈希數(shù)解鎖獲取資產(chǎn),另一方利用同樣的哈希數(shù)獲取資產(chǎn),哈希鎖定只能做到交換而不能做到資產(chǎn)或者信息的轉(zhuǎn)移,因此其使用場(chǎng)景有限。典型實(shí)現(xiàn)是哈希時(shí)間鎖定合約(Hashed Time Lock Contract,HTLC)。
側(cè)鏈?zhǔn)侵竿耆珦碛心虫湽δ艿牧硪粭l區(qū)塊鏈,側(cè)鏈可以讀取和驗(yàn)證主鏈上的信息[7-8]。主鏈不知道側(cè)鏈的存在,由側(cè)鏈主動(dòng)感知主鏈信息并進(jìn)行相應(yīng)的動(dòng)作,而中繼鏈則是側(cè)鏈和公證人機(jī)制的結(jié)合體,中繼鏈具有訪問(wèn)需要和驗(yàn)證進(jìn)行互操作的鏈的關(guān)鍵信息,而且還能對(duì)兩條鏈的跨鏈消息進(jìn)行轉(zhuǎn)移。因此,中繼鏈也是一種去中心的公證人機(jī)制。
公證人機(jī)制又叫見(jiàn)證人機(jī)制,其實(shí)質(zhì)上類似于現(xiàn)在銀行所進(jìn)行的交易[9]。它的核心思想是假設(shè)存在鏈A、B,它們使異構(gòu)鏈無(wú)法直接進(jìn)行信息交互,假設(shè)存在一個(gè)可信的第三方C能同時(shí)被鏈A、B所接受,則由可信的第三方C負(fù)責(zé)鏈A、B之間的消息傳遞。公證人機(jī)制的優(yōu)點(diǎn)是能夠支持多種不同的異構(gòu)鏈,但它的缺點(diǎn)是過(guò)于中心化。
公證人機(jī)制模式目前僅能夠支持資產(chǎn)的交換,且資產(chǎn)交換的原子性、安全性完全由中心化的交易所保障,所以也存在較大的中心化風(fēng)險(xiǎn)。目前迭代發(fā)展出的多重簽名和分布式簽名的方案弱化了中心化組件的特性,其能夠從多種角度提高系統(tǒng)的安全性[10-11]。
分布式簽名方案是利用密碼學(xué)的原理將密鑰分別拆分成多個(gè)密鑰加密后的密文(單個(gè)公證人無(wú)法擁有全部的密鑰),并隨機(jī)分發(fā)給公證人(所用的密文合并起來(lái)也無(wú)法推斷出完整的密鑰),設(shè)定允許一定數(shù)量的公證人在他們共同簽名之后可以合成完整的密鑰,完成了去中心化“數(shù)據(jù)采集驗(yàn)證”的過(guò)程[12-13]。
多重簽名是指跨鏈交易需要多個(gè)公證人簽名,交易才能被確認(rèn)。通常它是由公證人在各自的賬本上簽名,當(dāng)簽名的數(shù)量達(dá)到預(yù)先設(shè)定好的數(shù)量時(shí)才能達(dá)成交易,這里的每個(gè)公證人都擁有獨(dú)立的密鑰[14-15]。
在應(yīng)用公證人機(jī)制的跨鏈項(xiàng)目中,Interledger項(xiàng)目在早期發(fā)展中以公證人機(jī)制實(shí)現(xiàn)不同異構(gòu)鏈的跨鏈,后續(xù)發(fā)展可結(jié)合哈希鎖定技術(shù)來(lái)實(shí)現(xiàn)跨鏈交互;corda[16-17]項(xiàng)目可以實(shí)現(xiàn)交易雙方自由選擇公證人。無(wú)論是哪一種方案,都需要參與方公證人可信[18-19]。為解決公證人可信問(wèn)題,本文構(gòu)建一種基于改進(jìn)PageRank算法的跨鏈公證人評(píng)價(jià)模型。該模型通過(guò)基于其他公證人節(jié)點(diǎn)評(píng)價(jià)和該節(jié)點(diǎn)歷史交易評(píng)價(jià)來(lái)對(duì)公證人節(jié)點(diǎn)進(jìn)行信用度排序,剔除信用度排名靠后的節(jié)點(diǎn)來(lái)保證系統(tǒng)整體的信用度。
傳統(tǒng)的公證人機(jī)制是基于中心化交易中介方所得跨鏈資產(chǎn)交換[20],這種跨鏈的方式比較單一,只支持資產(chǎn)的交換,圖1演示了分別位于鏈A、B的用戶a、b通過(guò)交易中介方進(jìn)行跨鏈資產(chǎn)交換的過(guò)程。
圖1 公證人機(jī)制交換過(guò)程Fig.1 Process of notary mechanism exchange
公證人機(jī)制交換過(guò)程如下:
1)用戶a通過(guò)交易中介方錢包將自己的資產(chǎn)充入交易中介方的地址。
2)用戶a在交易中介方掛出賣單交易信息A。
3)用戶b需要將自己的資產(chǎn)充入交易中介方的地址。
4)用戶b在交易中介方掛出賣單交易信息B。
5)交易中介方將用戶a的賣單和用戶b的賣單進(jìn)行撮合。
6)交易中介方將用戶a在交易中介方存儲(chǔ)資產(chǎn)轉(zhuǎn)移給用戶b在鏈A的地址。
7)交易中介方將用戶b在交易中介方存儲(chǔ)的資產(chǎn)轉(zhuǎn)移給用戶a在鏈B的地址。
至此完成了用戶a、b資產(chǎn)的交換(案例中省去了交易中介方的服務(wù)費(fèi))。
2.1.1 評(píng)價(jià)模型流程
本文通過(guò)構(gòu)造一個(gè)動(dòng)態(tài)的公證人節(jié)點(diǎn)評(píng)價(jià)模型來(lái)保證公證人機(jī)制的安全性。該模型由其他公證人節(jié)點(diǎn)評(píng)價(jià)和該節(jié)點(diǎn)歷史交易評(píng)價(jià)進(jìn)行協(xié)作,最終通過(guò)本文模型給出一個(gè)動(dòng)態(tài)的節(jié)點(diǎn)信用值排序,剔除排名在后的節(jié)點(diǎn)。本文模型在排序時(shí)考慮下列因素:
1)節(jié)點(diǎn)的信用值應(yīng)由與其有過(guò)交易的用戶和替他節(jié)點(diǎn)共同評(píng)價(jià)。
2)替他節(jié)點(diǎn)在評(píng)價(jià)時(shí)只需給出自己信任的節(jié)點(diǎn);替他節(jié)點(diǎn)在評(píng)價(jià)時(shí)只需給出自己信任的節(jié)點(diǎn)記錄;歷史交易評(píng)價(jià)需考慮交易處理效率、用戶反饋、負(fù)面交易信息等因素。
3)節(jié)點(diǎn)內(nèi)部?jī)?yōu)秀交易的次數(shù)越多,該節(jié)點(diǎn)的信用值越高。
4)節(jié)點(diǎn)信用值是一個(gè)逐漸積累的過(guò)程,持續(xù)誠(chéng)信交易的積累才能獲得高信用值。
本文模型在規(guī)定的某時(shí)間內(nèi)對(duì)現(xiàn)有的節(jié)點(diǎn)進(jìn)行信任度評(píng)價(jià),系統(tǒng)向存在的節(jié)點(diǎn)發(fā)出評(píng)價(jià)信號(hào)并廣播系統(tǒng)公鑰及地址;各個(gè)節(jié)點(diǎn)收到信號(hào)后,使用系統(tǒng)的公鑰進(jìn)行加密并使用自己的私鑰加密簽名;系統(tǒng)會(huì)收集各個(gè)節(jié)點(diǎn)的加密數(shù)據(jù)并使用系統(tǒng)私鑰解密,最終形成信任關(guān)系圖并廣播出去;系統(tǒng)在規(guī)定時(shí)間內(nèi)如果未收到異議信息則進(jìn)行下一步計(jì)劃,如果有則重新投票;系統(tǒng)會(huì)自動(dòng)收集各個(gè)節(jié)點(diǎn)歷史交易信息并使用改進(jìn)PageRank算法進(jìn)行信用度排序,并將結(jié)果及計(jì)算過(guò)程公布;在規(guī)定時(shí)間內(nèi),系統(tǒng)若未收到任何異議信息,則根據(jù)流程自動(dòng)剔除排名在后的節(jié)點(diǎn)。節(jié)點(diǎn)評(píng)價(jià)模型如圖2所示。
圖2 節(jié)點(diǎn)評(píng)價(jià)模型Fig.2 Node evaluation model
節(jié)點(diǎn)歷史交易信息中用戶反饋評(píng)價(jià)是指最終完成交易后用戶對(duì)其進(jìn)行評(píng)價(jià),分?jǐn)?shù)值從1~5由低到高;節(jié)點(diǎn)交易處理效率是指用戶從發(fā)起交易到最終確認(rèn)交易中介方需要的時(shí)間;負(fù)面交易信息包括交易未完成情況、存在欺詐等行為的交易。
2.1.2 評(píng)價(jià)系統(tǒng)
各個(gè)品種的雞均有易感性,10~56日齡的雞發(fā)病率和致死率都較高,10日齡以內(nèi)的雛雞由于有母源免疫力的保護(hù),很少發(fā)生球蟲(chóng)病,成年雞對(duì)球蟲(chóng)有一定的抵抗力。病雞是主要傳染源,凡被帶蟲(chóng)雞污染過(guò)的飼料、飲水、土壤和用具等,都有卵囊存在,雞感染球蟲(chóng)的途徑主要是吃了感染性卵囊。
本文評(píng)價(jià)系統(tǒng)由廣播板、節(jié)點(diǎn)模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)存儲(chǔ)模塊和信用排序模塊組成,評(píng)價(jià)系統(tǒng)工作過(guò)程如圖3所示。
圖3 評(píng)價(jià)系統(tǒng)工作過(guò)程Fig.3 Working process of evaluation system
評(píng)價(jià)系統(tǒng)主要包括以下5個(gè)模塊:
1)廣播板:用于顯示投票內(nèi)容、評(píng)價(jià)內(nèi)容及公告信息的模塊。投票內(nèi)容包含節(jié)點(diǎn)投票的信息、投票人的簽名和廣播板的簽名;評(píng)價(jià)過(guò)程包含評(píng)價(jià)內(nèi)容及評(píng)價(jià)結(jié)果;公告信息包含參與投票的節(jié)點(diǎn)的地址及投票開(kāi)始及結(jié)束時(shí)間。
2)節(jié)點(diǎn)模塊:用于節(jié)點(diǎn)填寫投票信息及驗(yàn)證的模塊,包含節(jié)點(diǎn)登錄驗(yàn)證模塊和信息填寫模塊。
3)數(shù)據(jù)采集模塊:用于采集節(jié)點(diǎn)評(píng)價(jià)信息及歷史交易評(píng)價(jià)信息。
4)數(shù)據(jù)存儲(chǔ)模塊:用于存儲(chǔ)節(jié)點(diǎn)信息及信用排序信息。
5)信用排序模塊:基于改進(jìn)PageRank算法對(duì)節(jié)點(diǎn)信用度進(jìn)行評(píng)價(jià)的模塊,該模塊中所有運(yùn)算步驟都將在廣播板顯示出來(lái)。
評(píng)價(jià)系統(tǒng)在某一時(shí)間點(diǎn)時(shí),將在廣播板廣播參與投票的節(jié)點(diǎn)及投票截止時(shí)間;節(jié)點(diǎn)收到投票信息將登錄并驗(yàn)證自己的信息,填寫信任的節(jié)點(diǎn)并簽名,再把信息傳到廣播板,廣播板顯示節(jié)點(diǎn)傳遞的信息;當(dāng)投票時(shí)間結(jié)束后,系統(tǒng)將調(diào)用改進(jìn)PageRank算法對(duì)投票信息進(jìn)行信用度排序,并把結(jié)果及計(jì)算過(guò)程在廣播板進(jìn)行展示。節(jié)點(diǎn)可以查看所有的投票信息及運(yùn)算過(guò)程。
數(shù)據(jù)存儲(chǔ)中包含節(jié)點(diǎn)的基本信息(如節(jié)點(diǎn)的公鑰、IP地址)、節(jié)點(diǎn)交易的歷史信息及節(jié)點(diǎn)投票的信息,節(jié)點(diǎn)可以隨時(shí)查看。
2.2.1 PageRank算法
PageRank算法是谷歌公司用于網(wǎng)頁(yè)重要性評(píng)價(jià)的一種方法。其核心思想是利用網(wǎng)頁(yè)鏈接到替他頁(yè)面和替他頁(yè)面鏈接到本頁(yè)面的情況來(lái)計(jì)算頁(yè)面的分值,并對(duì)其進(jìn)行分值排序[12-14]。
在使用PageRank算法對(duì)網(wǎng)頁(yè)重要性進(jìn)行排序時(shí),一般會(huì)假設(shè)2個(gè)前提:
1)數(shù)量假設(shè):假設(shè)存在一個(gè)網(wǎng)頁(yè),如果有大批的鏈接與它相連,則表示這個(gè)頁(yè)面非常重要,本文中的節(jié)點(diǎn)假設(shè)有大量的替他節(jié)點(diǎn)與它相連,則表示該節(jié)點(diǎn)非常受到信任。
2)質(zhì)量假設(shè):在互聯(lián)網(wǎng)中,各網(wǎng)頁(yè)的內(nèi)容質(zhì)量參差不齊,如果一個(gè)高質(zhì)量的頁(yè)面與該頁(yè)面相連,則傳遞給該頁(yè)面的權(quán)重應(yīng)該很高;同樣,如果有一個(gè)信任度很高的節(jié)點(diǎn)信任本節(jié)點(diǎn),則傳遞給本節(jié)點(diǎn)的權(quán)重就會(huì)很高。
基于這2個(gè)假設(shè),算法基于式(1)對(duì)頁(yè)面等級(jí)進(jìn)行評(píng)估時(shí),對(duì)于每一個(gè)頁(yè)面的權(quán)重賦予相同的值,然后通過(guò)不斷地遞歸迭代計(jì)算,更新每一個(gè)頁(yè)面的得分,直到頁(yè)面得分穩(wěn)定。
其中,L(ν)表示網(wǎng)頁(yè)ν的出鏈數(shù)量,PR(ν)表示網(wǎng)頁(yè)ν的PageRank值,Bu表示網(wǎng)頁(yè)u的入鏈集合。從式(1)可以看出,每個(gè)頁(yè)面的PageRank值是由其所有入鏈網(wǎng)頁(yè)的PageRank值累加得到。
PageRank算法規(guī)定一個(gè)頁(yè)面只能對(duì)其他頁(yè)面進(jìn)行一次投票,如圖4所示。圖4中節(jié)點(diǎn)B只能給節(jié)點(diǎn)A投半票,即節(jié)點(diǎn)B只能將它鏈接權(quán)重值的一半賦予節(jié)點(diǎn)A。同理,節(jié)點(diǎn)D只能將其鏈接權(quán)重值的1/3賦予節(jié)點(diǎn)A。
圖4 節(jié)點(diǎn)拓?fù)浣Y(jié)構(gòu)Fig.4 Node topology
圖4中節(jié)點(diǎn)D的PR值計(jì)算公式如下:
在現(xiàn)實(shí)的互聯(lián)網(wǎng)中還存在許多頁(yè)面沒(méi)有鏈接到其他任何頁(yè)面的情況,即這一頁(yè)面的出鏈數(shù)為0(如圖4中節(jié)點(diǎn)C),這種頁(yè)面被稱為孤立網(wǎng)頁(yè)?;谶@種問(wèn)題,谷歌公司修訂了原先的PageRank計(jì)算公式,在原先的公式上引入阻尼系數(shù)d(damping factor),根據(jù)實(shí)驗(yàn),該阻尼系數(shù)一般取0.85。該系數(shù)為用戶在某一時(shí)刻使用該節(jié)點(diǎn)后從該節(jié)點(diǎn)跳轉(zhuǎn)到替他節(jié)點(diǎn)的概率。當(dāng)阻尼系數(shù)為0.15時(shí),表明用戶不在通過(guò)節(jié)點(diǎn)跳轉(zhuǎn)到另一節(jié)點(diǎn),改進(jìn)后的PageRank算法的計(jì)算公式如式(3)所示:
從圖4可以看出:節(jié)點(diǎn)A有節(jié)點(diǎn)B指向的鏈接;節(jié)點(diǎn)B有節(jié)點(diǎn)A、節(jié)點(diǎn)D指向的鏈接;節(jié)點(diǎn)C有節(jié)點(diǎn)A、節(jié)點(diǎn)D指向的鏈接;節(jié)點(diǎn)D有節(jié)點(diǎn)A、節(jié)點(diǎn)B指向的鏈接。假設(shè)初始鏈接概率相等,則存在轉(zhuǎn)移矩陣N:
其中,Ni,j表示用戶從節(jié)點(diǎn)j跳轉(zhuǎn)到節(jié)點(diǎn)i的概率。
假設(shè)節(jié)點(diǎn)的初始概率為1/n,n為節(jié)點(diǎn)數(shù)量,則初始概率矩陣為:
根據(jù)式(5)進(jìn)行迭代,當(dāng)最終結(jié)果變化在某個(gè)區(qū)間內(nèi)時(shí),結(jié)束迭代,則最終節(jié)點(diǎn)重要度排序?yàn)椋?/p>
2.2.2 改進(jìn)PageRank算法的公證人節(jié)點(diǎn)評(píng)價(jià)模型
每個(gè)節(jié)點(diǎn)的歷史交易信息會(huì)對(duì)其信用評(píng)估產(chǎn)生內(nèi)在的影響。假設(shè)存在節(jié)點(diǎn)A及它的一個(gè)正向鏈接節(jié)點(diǎn)B,若節(jié)點(diǎn)A交易處理效率高于節(jié)點(diǎn)B,則用戶對(duì)節(jié)點(diǎn)A的反饋評(píng)價(jià)要高于對(duì)節(jié)點(diǎn)B的反饋評(píng)價(jià);若節(jié)點(diǎn)A交易處理效率高于節(jié)點(diǎn)B,則用戶對(duì)節(jié)點(diǎn)A的反饋評(píng)價(jià)要高于對(duì)節(jié)點(diǎn)B的反饋評(píng)價(jià);負(fù)面交易信息越少,那么節(jié)點(diǎn)A分配給節(jié)點(diǎn)B的權(quán)重越高。
下文給出計(jì)算節(jié)點(diǎn)A、B信用度的步驟:
1)建立節(jié)點(diǎn)歷史交易信息的交易處理效率、用戶反饋、負(fù)面交易信息的集合:
2)確定用戶整體評(píng)價(jià)的位置權(quán)重,引入分段函數(shù)來(lái)表征本文收集到的用戶整體評(píng)價(jià)信息,分交易處理效率、用戶反饋、負(fù)面交易信息3個(gè)部分計(jì)算[20]:
3)用戶反饋評(píng)價(jià)值計(jì)算,計(jì)算公式如下:
其中,Qpeople代表節(jié)點(diǎn)總體用戶反饋評(píng)價(jià)值,weightpeople代表節(jié)點(diǎn)用戶反饋權(quán)重,gradej代表用戶歷史評(píng)價(jià)值。
4)交易處理效率值計(jì)算,計(jì)算公式如下:
其中,Qtime代表節(jié)點(diǎn)交易處理效率值,weighttime代表節(jié)點(diǎn)交易處理權(quán)重,timej代表節(jié)點(diǎn)交易處理時(shí)間。
5)節(jié)點(diǎn)負(fù)面消息評(píng)價(jià)值計(jì)算,計(jì)算公式如下:
其中,Qreverse代表節(jié)點(diǎn)負(fù)面消息評(píng)價(jià)值,weightreverse代表節(jié)點(diǎn)負(fù)面消息評(píng)價(jià)權(quán)重,number代表節(jié)點(diǎn)負(fù)面消息評(píng)價(jià)數(shù)量。
6)最終得出節(jié)點(diǎn)交易處理效率、用戶反饋、負(fù)面交易信息評(píng)價(jià)值,計(jì)算公式如下:
7)本文通過(guò)使用向量空間模型(Vector Space Model,VSM)[14-15]來(lái)計(jì)算節(jié)點(diǎn)M、N相似度,即:
8)最終得到改進(jìn)后的PageRank算法如式(14)所示:
如果某一節(jié)點(diǎn)并無(wú)歷史交易信息,則:
本文對(duì)某交易中介方使用的跨鏈交易系統(tǒng)的100個(gè)節(jié)點(diǎn)進(jìn)行評(píng)價(jià),首先節(jié)點(diǎn)各自填寫評(píng)價(jià)表,包括所有節(jié)點(diǎn)之間的信任關(guān)系(誰(shuí)信任誰(shuí))。然后使用0~99之間的連續(xù)整數(shù)對(duì)100位節(jié)點(diǎn)分別進(jìn)行編號(hào),并利用所有人之間的信任關(guān)系組織成一張節(jié)點(diǎn)關(guān)系,如圖5所示。其中信任關(guān)系依靠有向箭頭表明,例如“2→3”表示2號(hào)節(jié)點(diǎn)信任3號(hào)節(jié)點(diǎn)。
圖5 部分公證人節(jié)點(diǎn)信任關(guān)系Fig.5 Node trust relationship of some notaries
表1為某節(jié)點(diǎn)歷史交易信息,主要包含交易是否成功狀態(tài)、交易效率和用戶評(píng)價(jià)3個(gè)指標(biāo)。其中如果交易失敗,則缺少交易效率和用戶評(píng)價(jià)。用戶反饋評(píng)價(jià)值從1~5依次遞增;交易狀態(tài)分為成功和失敗兩種。本文收集了某證券交易所200個(gè)節(jié)點(diǎn)交易的前100條交易信息。
表1 某節(jié)點(diǎn)歷史交易信息Table 1 Some historical transaction information of certain node
本文基于收集到的節(jié)點(diǎn)信任關(guān)系及各節(jié)點(diǎn)交易信息進(jìn)行仿真測(cè)試,基于傳統(tǒng)PageRank算法和改進(jìn)PageRank算法進(jìn)行仿真比較,結(jié)果如圖6所示。
圖6 傳統(tǒng)PageRank算法和改進(jìn)PageRank算法仿真結(jié)果對(duì)比Fig.6 Comparison of simulation results of traditional PageRank algorithm and improved PageRank algorithm
根據(jù)PageRank算法,最終的信用度值會(huì)在0~1范圍內(nèi),從圖6可以看出,同一個(gè)節(jié)點(diǎn)基于傳統(tǒng)PageRank算法計(jì)算出的信用度值和改進(jìn)后的信用度值有所差距,這是因?yàn)楦倪M(jìn)的PageRank算法考慮了節(jié)點(diǎn)與節(jié)點(diǎn)之間的歷史交易信息,最終導(dǎo)致結(jié)果有所差異。
根據(jù)本文設(shè)定程序,最終會(huì)剔除排名靠后的節(jié)點(diǎn),本次實(shí)驗(yàn)選定剔除排名在后10位的節(jié)點(diǎn),基于傳統(tǒng)PageRank算法剔除的節(jié)點(diǎn)信用度值和基于改進(jìn)后的PageRank算法剔除的節(jié)點(diǎn)信用度值如圖7所示。
圖7 傳統(tǒng)PageRank算法和改進(jìn)PageRank算法最終剔除節(jié)點(diǎn)的信用度結(jié)果Fig.7 Credit degree results of nodes being removed by traditional PageRank algorithm and improved PageRank algorithm
本文預(yù)先針對(duì)收集到的用戶歷史評(píng)價(jià)信息進(jìn)行平均值計(jì)算,計(jì)算出每個(gè)節(jié)點(diǎn)用戶評(píng)價(jià)信用度值并對(duì)其進(jìn)行排序,選出排名最低的節(jié)點(diǎn)如表2所示。表2給出了基于改進(jìn)PageRank算法和傳統(tǒng)PageRank算法所剔除的節(jié)點(diǎn),結(jié)合圖7和表2可以看出,改進(jìn)后的PageRank算法剔除了用戶評(píng)價(jià)較低的節(jié)點(diǎn)(如節(jié)點(diǎn)78、節(jié)點(diǎn)70),說(shuō)明改進(jìn)后的算法有效地結(jié)合了用戶歷史評(píng)價(jià)信息。
表2 需剔除的節(jié)點(diǎn)Table 2 Nodes to be removed
本文針對(duì)跨鏈技術(shù)中常用的公證人機(jī)制節(jié)點(diǎn)信用監(jiān)督不足的問(wèn)題,提出一種基于改進(jìn)PageRank算法的評(píng)價(jià)模型。該模型對(duì)公證人節(jié)點(diǎn)信用評(píng)價(jià)進(jìn)行優(yōu)化,計(jì)算得到高可信的節(jié)點(diǎn),在一定程度上保障了跨區(qū)塊鏈系統(tǒng)交換資產(chǎn)的安全。實(shí)驗(yàn)結(jié)果表明,該模型能夠較好地解決傳統(tǒng)節(jié)點(diǎn)評(píng)價(jià)過(guò)于主觀性的問(wèn)題,通過(guò)節(jié)點(diǎn)評(píng)價(jià)和交易評(píng)價(jià)兩者之間相互制衡,保證評(píng)價(jià)的公正性,在動(dòng)態(tài)的交易過(guò)程中去除信任度低的節(jié)點(diǎn),最終使整個(gè)系統(tǒng)的信任度得到提高。下一步計(jì)劃將公證人機(jī)制與側(cè)鏈技術(shù)、哈希鎖定技術(shù)相結(jié)合,以弱化公證人機(jī)制過(guò)于中心化的問(wèn)題。