亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于區(qū)塊鏈技術(shù)改進(jìn)PBFT算法的供應(yīng)鏈溯源方法

        2022-12-22 07:14:02
        關(guān)鍵詞:智能信息

        郭 雨

        (吉林建筑科技學(xué)院 計算機科學(xué)與工程學(xué)院, 吉林 長春 130114)

        0 引 言

        傳統(tǒng)供應(yīng)鏈中,對于實現(xiàn)交易平臺之間、交易平臺與用戶之間、交易平臺與商戶之間等信息交互的利用,無法保障信息的有效利用以及信息安全性的維護(hù),從而導(dǎo)致交易平臺在數(shù)據(jù)交互過程中產(chǎn)生各種各樣難以解決的問題,如溯源不清、交易數(shù)據(jù)被篡改、質(zhì)量問題難以劃分責(zé)任等問題。

        區(qū)塊鏈技術(shù)已逐漸走入大眾的生活,成為社會關(guān)注的焦點。區(qū)塊鏈源于比特幣,利用加密鏈?zhǔn)絽^(qū)塊結(jié)構(gòu)存儲數(shù)據(jù),其中共識算法是區(qū)塊鏈技術(shù)的一個核心問題,利用共識算法來生成、驗證數(shù)據(jù),可以有效地解決互聯(lián)網(wǎng)上信任與價值的可靠傳遞難題[1]。利用區(qū)塊鏈技術(shù)去中心化的特點,采用一種全新的數(shù)據(jù)庫技術(shù),可以高價值、多方位對交易數(shù)據(jù)進(jìn)行保護(hù),并通過密碼學(xué)技術(shù)保護(hù)交易數(shù)據(jù)內(nèi)容難以進(jìn)行篡改、造假或者抵賴。區(qū)塊鏈技術(shù)的應(yīng)用有助于建立新的交易平臺建設(shè)體系,以去中心化、開放的特征,強調(diào)和尊重時長交易的自愿原則,發(fā)揮統(tǒng)籌協(xié)調(diào)機制。

        1 PBFT算法

        1.1 區(qū)塊鏈

        傳統(tǒng)交易平臺數(shù)據(jù)需要一個第三方可信任的中介進(jìn)行交易,與傳統(tǒng)的交易平臺相比,區(qū)塊鏈技術(shù)除了具有去中心化的優(yōu)勢外,還可以保證網(wǎng)絡(luò)數(shù)據(jù)的一致性,實現(xiàn)點對點的交易,從而增加交易平臺的數(shù)據(jù)安全性和可靠性[2]。但是想要達(dá)到點對點的交易,就需要考慮區(qū)塊鏈安全、效率等因素。區(qū)塊鏈主要的共識算法有POW、POS、DPOS、PBFT。在這些共識算法中,拜占庭容錯算法(Practical Byzantine Fault Tolerance, PBFT)在交易平臺中具有更大的優(yōu)勢。

        1.2 PBFT算法

        在分布式系統(tǒng)中,拜占庭容錯技術(shù)能夠很好地對應(yīng)節(jié)點故障和傳輸錯誤的問題。但是早期的拜占庭算法是需要有數(shù)級的算法,算法復(fù)雜,使用難度較大。直到1999年提出的PBFT算法才將算法復(fù)雜度降為多項式級別,改進(jìn)后的算法極大地提高了拜占庭算法的效率[3]。

        在PBFT算法中,存在view(視圖)概念,在每一個view里,相同配置下運行每一個節(jié)點,并且只能設(shè)置一個主節(jié)點,而其他節(jié)點作為view中的備選節(jié)點。view中的主節(jié)點主要對平臺申請數(shù)據(jù)進(jìn)行排序,并且按照排序進(jìn)行分配,將數(shù)據(jù)分別存儲到備份節(jié)點中。備份節(jié)點檢查主節(jié)點對請求的排序是否正常,如果出現(xiàn)分配異常狀態(tài),就會觸發(fā)view change機制,將主節(jié)點進(jìn)行替換,在view中進(jìn)入一個新的主節(jié)點。

        PBFT算法主要執(zhí)行流程如圖1所示。

        圖1 PBFT算法執(zhí)行流程

        算法中包含5個階段。

        1)request:客戶端首先發(fā)送請求,請求信息發(fā)送格式為

        ,

        其中:o----執(zhí)行操作

        t----時間;

        c----編號。

        2)pre-prepare:將收到的請求發(fā)送給主節(jié)點,主節(jié)點進(jìn)行記錄,記錄后發(fā)送一條廣播數(shù)據(jù)給其他的備份節(jié)點,pre-prepare格式為

        < pre-prepare,v,n,d>,

        其中:v----所在視圖請求;

        n----主節(jié)點分配編號;

        d----digest編號。

        通過信息比對,如果備份節(jié)點在視圖中的數(shù)據(jù)與請求數(shù)據(jù)相同,并且未收到過相同節(jié)點信息,但是每個節(jié)點的摘要編號不相同,則該信息通過,進(jìn)入下個階段。

        3)prepare:進(jìn)入到prepare階段的備份節(jié)點會產(chǎn)生一條prepare廣播信息,并且會接收到其他節(jié)點發(fā)送的prepare信息,prepare格式為

        < prepare,v,n,d,i>,

        其中:i----節(jié)點編號。

        當(dāng)節(jié)點接收到2倍的允許節(jié)點出錯的容錯數(shù)量,并且prepare中的請求、節(jié)點編號以及備份節(jié)點編號相同,則這個節(jié)點可以進(jìn)入下個階段。

        4)commit:進(jìn)入到commit階段的備份節(jié)點會產(chǎn)生一條commit廣播信息,同時,也會接收到其他節(jié)點發(fā)送的commit信息,commit格式為

        當(dāng)節(jié)點接收到包含自己在內(nèi)2倍的允許節(jié)點出錯的容錯數(shù)量具有相同的v和n的commit信息后,在節(jié)點等待中編號較低的請求,請求經(jīng)過同意后可以進(jìn)行執(zhí)行。

        5)reply:該節(jié)點對客戶請求進(jìn)行答復(fù),reply格式為

        < reply,v,t,v,t,r>,

        其中:r----請求所在的視圖;

        t----隊形的時間戳;

        i----作為請求答復(fù)的節(jié)點編號;

        r----請求答復(fù)的最終結(jié)果。

        當(dāng)客戶端收到包含自己在內(nèi)的允許節(jié)點出錯的容錯數(shù)量,并且請求答復(fù)時,t和r的結(jié)果都相同,這時表示請求被系統(tǒng)處理。當(dāng)遇到網(wǎng)絡(luò)原因,客戶端未及時收到答復(fù)時,消息將會被重復(fù)發(fā)送。

        除此之外,當(dāng)視圖中節(jié)點執(zhí)行完成后,還需要對多余數(shù)據(jù)機型回收,即將之前的請求記錄信息進(jìn)行清除,從而節(jié)省系統(tǒng)資源,減少系統(tǒng)資源的占用。在使用時,還需要考慮到網(wǎng)絡(luò)延遲等因素,可能導(dǎo)致視圖中的節(jié)點并不在同一個處理狀態(tài)中,因此,在PBFT算法設(shè)置check point協(xié)議,在check point協(xié)議中預(yù)先設(shè)置檢查點,在所有節(jié)點執(zhí)行完畢并通過檢查點時,檢查點將會對全網(wǎng)進(jìn)行全面檢查,并通知其他節(jié)點中的檢查點節(jié)點信息執(zhí)行完畢。

        2 改進(jìn)PBFT算法的供應(yīng)鏈溯源方法

        2.1 智能合約

        智能合約作為一種計算機協(xié)議,合約條款在執(zhí)行時可以是全部或部分自動執(zhí)行,同時,智能合約為了避免外界因素產(chǎn)生的干擾,實現(xiàn)當(dāng)一個預(yù)先編號的程序被執(zhí)行時,智能合約執(zhí)行系統(tǒng)相應(yīng)的協(xié)議條款[4]。這種執(zhí)行方式使得合約的履行更加便捷,也為執(zhí)行數(shù)據(jù)帶來保障。

        智能合約與傳統(tǒng)合約對比見表1。

        表1 智能合約與傳統(tǒng)合約對比

        智能合約與傳統(tǒng)合約對比,具有不可比擬的優(yōu)勢,尤其是在區(qū)塊鏈技術(shù)出現(xiàn)以后,分布式賬本技術(shù)為智能合約提供了底層技術(shù)基礎(chǔ),從而保證數(shù)據(jù)不被隨意篡改,并且保證數(shù)據(jù)能夠按照預(yù)定執(zhí)行的合約條款執(zhí)行[5]。在超級賬本中,智能合約部署在其fabric網(wǎng)絡(luò)節(jié)點上時,可以被調(diào)用的與分布式進(jìn)行交互的程序代碼。在以太坊中,智能合約是運行在相互不信任參與者之間的協(xié)議,由區(qū)塊鏈的共識機制自動實施,不依賴于受信任的機構(gòu)[6]。

        智能合約作為一種協(xié)議,其數(shù)據(jù)架構(gòu)可以分為呈現(xiàn)層、應(yīng)用層、業(yè)務(wù)層和數(shù)據(jù)層[7]。呈現(xiàn)層主要表示客戶前端,應(yīng)用層根據(jù)不同應(yīng)用程序進(jìn)行不同設(shè)計,業(yè)務(wù)層包含系統(tǒng)所需要業(yè)務(wù)過程上的實現(xiàn),數(shù)據(jù)層提供持久化數(shù)據(jù)服務(wù)[8]。智能合約的運行機制如圖2所示。

        圖2 智能合約運行機制

        智能合約可以自動觸發(fā)執(zhí)行代碼,驗證合約的有效性,從而避免數(shù)據(jù)篡改的風(fēng)險。為實現(xiàn)智能合約的交互操作,智能合約會預(yù)留一個接口,根據(jù)密碼學(xué)原理,使得合約與接口進(jìn)行交互驗證,保證合約的安全性。

        2.2 PBFT算法的不足

        1)PBFT算法在分布式系統(tǒng)中,通過異步通信機制進(jìn)行傳輸,從而達(dá)成共識[9]。PBFT算法具有很強的一致性,每次計算都需要遍歷整個網(wǎng)絡(luò)節(jié)點,但如果在交易平臺中具有龐大的網(wǎng)絡(luò)系統(tǒng),此時PBFT算法的效率就會降低。當(dāng)節(jié)點個數(shù)大于節(jié)點編號的1/3時,網(wǎng)絡(luò)安全將會遭到破壞,從而降低系統(tǒng)的安全性。同時,由于PBFT算法具有的特定通信機制,每一個備份節(jié)點的數(shù)據(jù)都需要進(jìn)行5步驗證,導(dǎo)致PBFT算法執(zhí)行效率不高。

        2)PBFT算法在系統(tǒng)view中,每一次的請求數(shù)據(jù)、備份節(jié)點的請求數(shù)據(jù)都需要有回應(yīng),但是交易平臺數(shù)據(jù)節(jié)點數(shù)量龐大,無形中增加了網(wǎng)絡(luò)通信和數(shù)據(jù)交換的數(shù)量,增加了系統(tǒng)的延時時長,從而降低計算效率。

        3)PBFT算法中,主節(jié)點與備份節(jié)點固定,如果節(jié)點進(jìn)行動態(tài)變化,由于節(jié)點的固定問題,無法對應(yīng)節(jié)點的動態(tài)變化,在交易平臺中,各個節(jié)點的數(shù)據(jù)量非常大,由于交易平臺中并不是一對一的交易,而是具有多家供應(yīng)商和多用戶,并且在交易平臺中,供應(yīng)商的數(shù)量也可以不斷變化,使得節(jié)點的數(shù)量和交互過程隨之變化,但是PBFT算法無法對節(jié)點進(jìn)行動態(tài)的增加或者刪除,使得交易平等數(shù)據(jù)交互得到了限制。

        2.3 改進(jìn)的PBFT算法設(shè)計

        根據(jù)區(qū)塊鏈技術(shù)采用的網(wǎng)絡(luò)模式對PBFT算法進(jìn)行分析設(shè)計,假設(shè)服務(wù)器絕大部分時間處于正常狀態(tài),不用每一個請求都在達(dá)成一致后再執(zhí)行,取消共識過程,只需要在錯誤發(fā)生之后再進(jìn)行共識,達(dá)成一致性即可,刪除原有算法中的reply階段,在各個備選節(jié)點收到消息后,如果收到pre-prepare階段的廣播消息,那么此次消息傳遞完成,取消客戶參與算法共識階段,將PBFT算法的執(zhí)行流程簡化為三個階段,實現(xiàn)流程優(yōu)化效果,PBFT算法改進(jìn)流程如圖3所示。

        圖3 PBFT算法改進(jìn)流程

        優(yōu)化后的PBFT算法執(zhí)行流程如下:

        1)取消客戶端發(fā)送請求的方式,備選節(jié)點中的任一節(jié)點都可發(fā)送請求,為防止請求被數(shù)據(jù)篡改,需要在請求時加入簽名,保護(hù)交易數(shù)據(jù)的可靠性。

        2)主節(jié)點不需要每次都檢查備選節(jié)點消息,而是每隔一段時間進(jìn)行消息匹配,匹配內(nèi)容為

        。

        這里替換原有數(shù)據(jù)格式,取消客戶端編號c,用s表示主節(jié)點簽名機制。其中t不再表示本地時間,用來表示每次主節(jié)點進(jìn)行共識的時間間隔。

        3)在備用節(jié)點收到主節(jié)點的消息后,會進(jìn)行消息驗證,并且進(jìn)行消息回復(fù)。

        2.4 改進(jìn)算法

        采用智能合約技術(shù)結(jié)果區(qū)塊鏈算法進(jìn)行實驗數(shù)據(jù)對比分析,對改進(jìn)后的PBFT算法進(jìn)行實驗,并得到相應(yīng)的實驗數(shù)據(jù)。首先建立智能合約的超級賬本,建立一個接口為Run的函數(shù),通過結(jié)構(gòu)調(diào)用智能合約內(nèi)不同方法。主要偽代碼如下:

        func( )Run(){

        定義并處理不同函數(shù)

        if初始化數(shù)據(jù){

        return返回數(shù)據(jù)

        }

        else if調(diào)用賬鏈代碼{

        return返回數(shù)據(jù)賬鏈代碼)

        }

        else if f刪除用戶{

        return t. 刪除用戶返,返回數(shù)據(jù)

        }

        func{

        對賬戶進(jìn)行初始化,并分配賬戶A和B一個地址,并賦值。

        賬戶地址

        賬戶金額

        }

        初始化數(shù)據(jù)

        if 賬戶余額不足{

        return 返回錯誤信息

        }

        fmt.Printf(將執(zhí)行后的結(jié)果寫入賬本中)

        從賬本中獲取狀態(tài)/變量信息

        查詢A賬戶當(dāng)前余額并轉(zhuǎn)換為數(shù)值

        }

        return 返回主信息

        2.5 PBFT算法改進(jìn)分析

        1)在PBFT算法中,如果頻繁地更換主節(jié)點,會導(dǎo)致view的跟換,從而影響系統(tǒng)效率以及系統(tǒng)的吞吐量,改進(jìn)后的算法增加了主節(jié)點簽名機制,增加節(jié)點的信任度,并且在選取主節(jié)點時,可以從信任節(jié)點中進(jìn)行選擇,不用進(jìn)行原有節(jié)點選取方法。

        2)將PBFT算法原有的5個階段消息傳遞變?yōu)?個階段消息傳遞,增加主節(jié)點巡查機制,降低系統(tǒng)的通信次數(shù),同時,減少網(wǎng)絡(luò)通信和數(shù)據(jù)交換的數(shù)量,降低系統(tǒng)的延時時長,從而提高計算效率。

        3 實驗與結(jié)果分析

        選取實驗主節(jié)點,利用智能合約機制與改進(jìn)后的PBFT算法相結(jié)合,在實驗時選取6個主模擬節(jié)點,并將1節(jié)點和4節(jié)點設(shè)置為PBFT節(jié)點,進(jìn)行300次主節(jié)點更換,對比原始PBFT算法和改進(jìn)后的PBFT算法進(jìn)行實驗,對比實驗數(shù)據(jù)如圖4所示。

        圖4 傳統(tǒng)算法與改進(jìn)后的PBFT算法數(shù)據(jù)對比

        實驗結(jié)果表明,減少主節(jié)點數(shù)量,并且減少主要交互流程以及網(wǎng)絡(luò)通信和數(shù)據(jù)交換的數(shù)量,降低了系統(tǒng)的延時時長,從而提高計算效率。

        4 結(jié) 語

        針對原始的PBFT算法存在系統(tǒng)延時時間長、計算效率低、主節(jié)點更換次數(shù)龐大等問題,提出改進(jìn)PBFT算法的供應(yīng)鏈溯源方法。減少主節(jié)點變換次數(shù)及交互流程,增加主節(jié)點簽名機制及節(jié)點的信任度,并且在選取主節(jié)點時,可以從信任節(jié)點中進(jìn)行選擇,并與智能合約機制相結(jié)合,從而達(dá)到降低算法的通信開銷中心化、公開透明以及交易可追溯。整個構(gòu)架對供應(yīng)鏈中產(chǎn)品從生產(chǎn)商到消費者全過程數(shù)據(jù)記錄,保證了交易過程中產(chǎn)品的安全性。

        猜你喜歡
        智能信息
        智能制造 反思與期望
        智能前沿
        文苑(2018年23期)2018-12-14 01:06:06
        智能前沿
        文苑(2018年19期)2018-11-09 01:30:14
        智能前沿
        文苑(2018年17期)2018-11-09 01:29:26
        智能前沿
        文苑(2018年21期)2018-11-09 01:22:32
        智能制造·AI未來
        商周刊(2018年18期)2018-09-21 09:14:46
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        信息
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        亚洲中文字幕在线一区| 久久久久久人妻一区二区三区| 亚洲色欲久久久综合网| 亚洲最大av资源站无码av网址| 久久青青热| 精品国产福利一区二区三区| 国产精品农村妇女一区二区三区| 视频一区精品中文字幕| 最新欧美精品一区二区三区| 熟妇人妻av中文字幕老熟妇| 豆国产95在线 | 亚洲| 天天躁日日操狠狠操欧美老妇| www久久久888| 日本一区二区高清视频| 精品人妻少妇丰满久久久免| 国产av精品一区二区三区久久| 久久精品国产成人| 人与嘼交av免费| 欧美日韩国产一区二区三区地区| 天天插天天干天天操| 亚洲女同性恋第二区av| 国产精品亚洲二区在线看| 人人妻人人澡人人爽超污| 亚洲国产日韩精品一区二区三区 | 丰满老熟女性生活视频| 久久久久无码国产精品一区| 亚洲av有码在线天堂| 国产精品亚洲综合色区丝瓜| 中文字幕av熟女中文av| 国产av旡码专区亚洲av苍井空| 欧美尺寸又黑又粗又长| 国产欧美日韩综合在线一区二区| 亚洲一区区| 精品婷婷国产综合久久| 亚洲午夜无码毛片av久久| 在线成人爽a毛片免费软件| 欧美国产小视频| 91极品尤物在线观看播放| 中文字幕色偷偷人妻久久一区| 国产毛多水多高潮高清| 亚洲av无码成人黄网站在线观看|