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

        ?

        基于區(qū)塊鏈的溯源系統(tǒng)研究設(shè)計(jì)

        2020-03-14 11:10:18葉春明CHENFeiYEChunming
        物流科技 2020年1期
        關(guān)鍵詞:塊頭哈希塊體

        陳 飛,葉春明 CHEN Fei,YE Chunming

        (上海理工大學(xué) 管理學(xué)院,上海 200093)

        0 引言

        在全球商品流動(dòng)日益增加的時(shí)代,產(chǎn)品安全和質(zhì)量保證變得越來越困難。隨著近年來產(chǎn)品質(zhì)量頻繁出現(xiàn)問題,產(chǎn)品的安全性引起了社會(huì)大眾和政府的極大關(guān)注,產(chǎn)品的可追溯性對零售商、經(jīng)銷商和國家監(jiān)管機(jī)構(gòu)來說是非常具有挑戰(zhàn)性的[1-2]。此外,它還涉及對產(chǎn)品真實(shí)性的驗(yàn)證,例如對原產(chǎn)地、品種或種植信息的正確申報(bào)。這些質(zhì)量參數(shù)證明了較高的價(jià)格是合理的,因此,它們往往是產(chǎn)品偽造者的關(guān)注焦點(diǎn)。而其中一些質(zhì)量可以用客觀的分析方法加以監(jiān)測,但并非全部。為了確保產(chǎn)品貿(mào)易網(wǎng)絡(luò)的可追溯性,區(qū)塊鏈具有極大的潛力[3],因?yàn)閿?shù)據(jù)可以以不可更改的方式存儲(chǔ),并支持跨所有流程步驟的快速跟蹤,因此利益相關(guān)者以及商品或半成品可以更快地追蹤定位[4-6]。

        本文將介紹區(qū)塊鏈的相關(guān)技術(shù)和介紹本系統(tǒng)中所用的存儲(chǔ)模塊以及對區(qū)塊鏈模塊進(jìn)行一個(gè)重新設(shè)計(jì),利用兩模塊設(shè)計(jì)一個(gè)基于混合區(qū)塊鏈的溯源系統(tǒng)。

        1 區(qū)塊鏈技術(shù)

        1.1 區(qū)塊鏈的應(yīng)用模式

        (1)公有鏈:顧名思義,公開的區(qū)塊鏈,所有人都可參與其中作為網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn),公有鏈實(shí)現(xiàn)了完全去中心化,各個(gè)節(jié)點(diǎn)均可自由加入和退出網(wǎng)絡(luò),并參加鏈上數(shù)據(jù)的讀寫。

        (2)聯(lián)盟鏈:由多個(gè)機(jī)構(gòu)共同參與管理的區(qū)塊鏈,其數(shù)據(jù)只允許系統(tǒng)內(nèi)不同的機(jī)構(gòu)進(jìn)行讀寫和發(fā)送,各個(gè)節(jié)點(diǎn)對應(yīng)各個(gè)實(shí)體機(jī)構(gòu)組織,只有通過授權(quán)后方能加入或退出網(wǎng)絡(luò)。

        (3)私有鏈:也叫做專有鏈,是一種不公開的“鏈”,一般情況下,需要授權(quán)才能夠加入節(jié)點(diǎn),并且私有鏈中的各個(gè)節(jié)點(diǎn)的寫入權(quán)限都被嚴(yán)格控制,且相關(guān)權(quán)限可有選擇性地對外開放。

        1.2 技術(shù)來源

        (1)Merkle樹:也叫默克爾樹,是一類基于哈希值的二叉樹或多叉樹,其葉子節(jié)點(diǎn)上的值通常為數(shù)據(jù)塊的哈希值,而非葉子節(jié)點(diǎn)上的值,是將該節(jié)點(diǎn)的所有子節(jié)點(diǎn)的組合結(jié)果的哈希值。

        (2)共識算法:袁勇[7]等提出共識算法包括POW(工作量證明)、POS(權(quán)益證明)、DPOS(股權(quán)權(quán)益證明)、PBFT(實(shí)用拜占庭容錯(cuò)算法)等,是在相關(guān)機(jī)制或特定協(xié)議的基礎(chǔ)上建立、切換靈活的算法。

        (3)數(shù)字簽名:區(qū)塊鏈比特幣中利用數(shù)字簽名來保證數(shù)據(jù)在整個(gè)系統(tǒng)中不可篡改,并保證交易雙方的身份真實(shí)可靠。數(shù)字簽名使用了非對稱加密技術(shù)和數(shù)字摘要技術(shù),保證了數(shù)據(jù)在傳輸過程中的完整性、發(fā)送者身份的真實(shí)性。

        2 存儲(chǔ)模塊

        存儲(chǔ)模塊選擇的是IPFS[8]系統(tǒng),如圖1所示,它是一種可信文件存儲(chǔ)系統(tǒng),該存儲(chǔ)系統(tǒng)可與區(qū)塊鏈相結(jié)合應(yīng)用,可用于存儲(chǔ)產(chǎn)品的產(chǎn)地信息、加工信息以及物流信息和銷售信息,因?yàn)镮PFS系統(tǒng)內(nèi)容是可尋址的,所以可以將溯源的完整信息存儲(chǔ)到系統(tǒng)中,而各階段的生產(chǎn)信息Mi和相關(guān)責(zé)任人的數(shù)字簽名Si將做哈希運(yùn)算生成標(biāo)簽值H(Mi,Si),在流程的最后一個(gè)階段完成對區(qū)塊鏈的存儲(chǔ)操作時(shí)銷售部門將對產(chǎn)品在各階段所生成的所有標(biāo)簽值做哈希運(yùn)算生成該產(chǎn)品的標(biāo)簽HR=H(H(M1,S1),H(M2,S2)… )并將其存儲(chǔ)到區(qū)塊鏈中。若要判斷本地區(qū)塊數(shù)據(jù)是否被篡改,則可通過查詢本地某區(qū)塊所存儲(chǔ)數(shù)據(jù)的哈希值是否與區(qū)塊鏈中所存儲(chǔ)的哈希值一致來確定。

        圖1 溯源信息記錄

        3 區(qū)塊鏈模塊

        3.1 區(qū)塊鏈模型。區(qū)塊鏈?zhǔn)且环N分布式分類帳,其中多個(gè)交易由P2P網(wǎng)絡(luò)中的無信任節(jié)點(diǎn)維護(hù)。它側(cè)重于兩個(gè)主要問題。(1)如何記錄區(qū)塊鏈中的交易,即區(qū)塊鏈的結(jié)構(gòu)。(2)如何構(gòu)建區(qū)塊鏈,即共識機(jī)制。在混合區(qū)塊鏈中,信息記錄在交易中,并且多個(gè)交易存儲(chǔ)在塊中。

        3.2 區(qū)塊鏈的結(jié)構(gòu)。區(qū)塊鏈的主要挑戰(zhàn)是可擴(kuò)展性問題[9]。區(qū)塊數(shù)隨時(shí)間線性增加。參與網(wǎng)絡(luò)的所有節(jié)點(diǎn)都需要維護(hù)區(qū)塊鏈的完整副本,這需要巨大的存儲(chǔ)空間。巨大的存儲(chǔ)要求也導(dǎo)致無休止的分類帳問題,即加入?yún)^(qū)塊鏈的新節(jié)點(diǎn)需要太多時(shí)間來下載和驗(yàn)證區(qū)塊鏈。

        為了克服可擴(kuò)展性問題,本文采用混合區(qū)塊鏈結(jié)構(gòu)。通常,區(qū)塊由兩部分組成:塊頭和塊體。身體的尺寸比頭部大得多。大多數(shù)區(qū)塊鏈(例如加密貨幣)需要集成塊,因?yàn)榻灰昨?yàn)證依賴于先前塊中記錄的其他交易。在混合區(qū)塊鏈中,交易驗(yàn)證獨(dú)立于其他交易。驗(yàn)證交易時(shí),節(jié)點(diǎn)不必頻繁查詢其他塊。因此,區(qū)塊鏈的塊不需要集成在混合區(qū)塊鏈中。區(qū)塊鏈網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)存儲(chǔ)所有塊頭,并且塊體以分布式方式存儲(chǔ)在網(wǎng)絡(luò)中。如圖2所示,僅集成了一些塊,其余塊都是塊頭。哪個(gè)節(jié)點(diǎn)存儲(chǔ)塊體將在下一小節(jié)中討論。

        圖2

        混合區(qū)塊鏈的塊結(jié)構(gòu)根據(jù)比特幣的結(jié)構(gòu)進(jìn)行了重新設(shè)計(jì)[10]。如圖3所示,塊頭由三部分組成:Hash PrevBH,Timestamp和Merkle Root。Hash PrevBH是前一個(gè)塊頭的哈希值。它指向前一個(gè)塊頭,并確保前一個(gè)塊頭是防篡改的。時(shí)間戳是創(chuàng)建塊的時(shí)間。Merkle Root是Merkle樹的根[11],它被視為塊中所有交易的哈希值。Merkle樹使用交易的哈希值作為葉節(jié)點(diǎn)。對于Merkle樹,只有根節(jié)點(diǎn)和交易存儲(chǔ)在塊中。Merkle Root用于驗(yàn)證交易的方法與比特幣使用的方法類似。所有交易 (Tx1,Tx2… )都存儲(chǔ)在塊體中。TNum是BTNum字節(jié)表示的交易數(shù)。

        交易用于記錄經(jīng)過驗(yàn)證的信息。圖4顯示了交易的結(jié)構(gòu)。Hash CurBH是當(dāng)前塊頭的哈希值。根據(jù)哈希值,節(jié)點(diǎn)可以確定交易屬于哪個(gè)塊。該項(xiàng)目用于信息鏈。Public Key是信息的第一個(gè)信息提供者的公鑰PKpr。信息可以對應(yīng)于多個(gè)信息提供者。由于交易不能存儲(chǔ)這些信息提供者的動(dòng)態(tài)添加的公鑰,因此在交易中僅記錄第一公鑰。剩余的公鑰可以存儲(chǔ)在存儲(chǔ)模塊中。H(fn)和H(ec)可以唯一地識別證據(jù)。它們還用于防止證據(jù)篡改并跟蹤相應(yīng)的源文件。交易將記錄證據(jù)的兩個(gè)時(shí)間戳,ST(提交時(shí)間戳)和VT(驗(yàn)證時(shí)間戳)。ST是向混合區(qū)塊鏈提交證據(jù)的時(shí)間,VT是證實(shí)證據(jù)的時(shí)間。驗(yàn)證結(jié)果通過IV(完整性驗(yàn)證)和VV(有效性驗(yàn)證)記錄。

        圖3

        圖4

        同一文件的所有交易構(gòu)成信息鏈。文件可能在不同時(shí)間遭受篡改,這可能導(dǎo)致多條信息。為了關(guān)聯(lián)這些單獨(dú)的信息,具有相同H fn()的交易可以根據(jù)提交順序中的名稱哈希存儲(chǔ)在一組節(jié)點(diǎn)中作為鏈。Hash CurBH可以找到對應(yīng)于信息鏈中特定信息的塊。

        混合區(qū)塊鏈結(jié)構(gòu)可以顯著減少所需的存儲(chǔ)空間量,但網(wǎng)絡(luò)中沒有完整的節(jié)點(diǎn)。節(jié)點(diǎn)故障可能會(huì)破壞區(qū)塊鏈。為了解決這個(gè)問題,混合區(qū)塊鏈可以采用將存儲(chǔ)模塊視為完整節(jié)點(diǎn),完整的溯源信息可以存儲(chǔ)在該模塊中。

        3.3 共識機(jī)制。區(qū)塊鏈的共識機(jī)制選擇一個(gè)節(jié)點(diǎn)來創(chuàng)建和廣播區(qū)塊鏈的下一個(gè)區(qū)塊,并保證每個(gè)節(jié)點(diǎn)中存儲(chǔ)的區(qū)塊鏈?zhǔn)且恢碌摹9矃^(qū)塊鏈中的節(jié)點(diǎn)總是使用昂貴的采礦方法,以及諸如PoW[10]或PoS[12]之類的經(jīng)濟(jì)激勵(lì)來達(dá)成共識。這些共識機(jī)制可以有效地防范惡意節(jié)點(diǎn)和失敗的節(jié)點(diǎn)。

        與公有鏈不同,混合區(qū)塊鏈?zhǔn)锹?lián)盟鏈,并不關(guān)心經(jīng)濟(jì)激勵(lì)。因此,每個(gè)節(jié)點(diǎn)都是塊挖掘器,并且不需要競爭創(chuàng)建下一個(gè)塊。同時(shí),混合區(qū)塊鏈網(wǎng)絡(luò)受到控制,因此混合區(qū)塊鏈只需關(guān)注故障節(jié)點(diǎn)。

        混合區(qū)塊鏈采用基于PBFT的共識機(jī)制[13]。大多數(shù)時(shí)候,RAFT[14]更適合私有鏈。由于混合區(qū)塊鏈?zhǔn)褂玫氖锹?lián)盟鏈,所以PBFT適用于聯(lián)盟區(qū)塊鏈。

        為了支持NPBFT,構(gòu)建了基于名稱的拓?fù)浣Y(jié)構(gòu)。在拓?fù)浣Y(jié)構(gòu)中,每個(gè)節(jié)點(diǎn)都分配一個(gè)任意名稱。創(chuàng)建下一個(gè)塊的節(jié)點(diǎn)由節(jié)點(diǎn)名稱確定。由于每個(gè)節(jié)點(diǎn)存儲(chǔ)塊頭,所以當(dāng)創(chuàng)建和廣播新塊i時(shí),每個(gè)節(jié)點(diǎn)可以獲得塊頭H bi()的哈希值。因此,如果H nv()最接近H bi(),則選擇具有名稱哈希值H nv()的節(jié)點(diǎn)v以生成下一個(gè)塊i+1,即:

        其中:V是區(qū)塊鏈網(wǎng)絡(luò)的節(jié)點(diǎn)集。由于每個(gè)新交易將在區(qū)塊鏈網(wǎng)絡(luò)中廣播,因此每個(gè)節(jié)點(diǎn)都存儲(chǔ)所有未處理的交易。當(dāng)節(jié)點(diǎn)v發(fā)現(xiàn)它是下一個(gè)塊的生成器時(shí),它會(huì)計(jì)算未處理的交易的數(shù)量。如果該數(shù)量達(dá)到閾值,則該節(jié)點(diǎn)生成包含未處理交易列表的新塊。根據(jù)PBFT,NPBFT分為三個(gè)步驟,如圖5(a) 所示。首先(預(yù)備過程),當(dāng)節(jié)點(diǎn)v生成新塊時(shí),塊(B)被廣播到其他節(jié)點(diǎn)。其次(準(zhǔn)備過程),當(dāng)每個(gè)節(jié)點(diǎn)收到塊時(shí),它通過比較塊中的Merkle Root和根據(jù)它存儲(chǔ)的交易生成的節(jié)點(diǎn)的Merkle Root來驗(yàn)證塊中的所有交易。如果兩個(gè)值相等,則計(jì)算塊頭的哈希值并將其廣播到其他節(jié)點(diǎn)。同時(shí),每個(gè)節(jié)點(diǎn)可以從其他節(jié)點(diǎn)接收塊頭的哈希值。最后(提交過程),假設(shè)節(jié)點(diǎn)號是n并且f=(n-1)/3。對于節(jié)點(diǎn),如果有2個(gè)f+1個(gè)接收的哈希值等于節(jié)點(diǎn)計(jì)算的哈希值,則節(jié)點(diǎn)廣播提交消息。同時(shí),如果節(jié)點(diǎn)從其他節(jié)點(diǎn)接收到2f+1個(gè)提交消息,則該塊存儲(chǔ)在區(qū)塊鏈中。

        圖5

        為了增強(qiáng)區(qū)塊鏈的穩(wěn)健性,將節(jié)點(diǎn)劃分為多個(gè)組,并且組中的所有節(jié)點(diǎn)都存儲(chǔ)相同的塊體。根據(jù)散列節(jié)點(diǎn)名稱,具有相同的前k位的節(jié)點(diǎn)在同一組中。設(shè)n表示網(wǎng)絡(luò)的大小,k=「log(n)?-h,其中2h是組的大小。前k位可以視為組ID。因此,如果組ID與塊體的HashBH的前k位相同,則塊體存儲(chǔ)在組中。

        由于混合區(qū)塊鏈的結(jié)構(gòu),可以優(yōu)化NPBFT。由于網(wǎng)絡(luò)環(huán)境是安全的,并且大多數(shù)節(jié)點(diǎn)可能只需要存儲(chǔ)塊頭,因此不需要所有節(jié)點(diǎn)都參與塊驗(yàn)證。如圖5(b)所示,選擇一組節(jié)點(diǎn)(可以調(diào)整節(jié)點(diǎn)數(shù))來驗(yàn)證該塊并發(fā)送一個(gè)完整的塊。其余節(jié)點(diǎn)被發(fā)送塊頭。在準(zhǔn)備過程中,這些選擇的節(jié)點(diǎn)驗(yàn)證塊并將驗(yàn)證結(jié)果(散列塊頭)廣播到其他節(jié)點(diǎn)。然后將驗(yàn)證結(jié)果與每個(gè)節(jié)點(diǎn)接收的塊頭的哈希值進(jìn)行比較。如果一個(gè)節(jié)點(diǎn)從多個(gè)所選節(jié)點(diǎn)接收結(jié)果并且正確比較結(jié)果數(shù)量大于總結(jié)果數(shù)量的一半,則節(jié)點(diǎn)廣播提交消息。該過程的其余部分與NPBFT相同。優(yōu)化的NPBFT不僅降低了通信開銷,還通過動(dòng)態(tài)調(diào)整所選節(jié)點(diǎn)的數(shù)量來提供不同級別的安全性。

        由于區(qū)塊鏈網(wǎng)絡(luò)的大小遠(yuǎn)小于命名空間的大小,因此每個(gè)節(jié)點(diǎn)生成的塊編號的分布以及每個(gè)節(jié)點(diǎn)存儲(chǔ)的塊體的數(shù)量可能是不平衡的。為了解決這個(gè)問題,在P2P網(wǎng)絡(luò)中總是用于負(fù)載均衡的虛擬節(jié)點(diǎn)[15]也可以應(yīng)用于混合區(qū)塊鏈。在混合區(qū)塊鏈中,為每個(gè)節(jié)點(diǎn)分配k個(gè)名稱,每個(gè)名稱都參與區(qū)塊鏈的創(chuàng)建和存儲(chǔ)過程。因此,k-1名稱可以被視為k-1個(gè)虛擬節(jié)點(diǎn)。

        4 溯源系統(tǒng)設(shè)計(jì)

        由于傳統(tǒng)溯源系統(tǒng)有著效率低下、信息存儲(chǔ)量小以及開銷較高等問題,故本文設(shè)計(jì)了一個(gè)基于混合區(qū)塊鏈的產(chǎn)品溯源系統(tǒng),如圖6所示,采用IPFS系統(tǒng)存儲(chǔ)完整的溯源信息,并在區(qū)塊鏈中存儲(chǔ)各階段所生成的所有標(biāo)簽值做哈希運(yùn)算生成該產(chǎn)品的標(biāo)簽HR。消費(fèi)者和相關(guān)監(jiān)管部門可在區(qū)塊鏈中依據(jù)標(biāo)簽HR找到相對應(yīng)的存儲(chǔ)在IPFS系統(tǒng)中的完整的溯源信息。

        5 總結(jié)

        本文主要對于基于區(qū)塊鏈的產(chǎn)品溯源系統(tǒng)進(jìn)行研究,提出了一種混合區(qū)塊鏈結(jié)構(gòu),該結(jié)構(gòu)分為存儲(chǔ)模塊和區(qū)塊鏈模塊,本文將重新設(shè)計(jì)的可擴(kuò)展區(qū)塊鏈與現(xiàn)有模塊相結(jié)合,相對于傳統(tǒng)的溯源系統(tǒng)有很大改進(jìn),解決了容量小、效率低和開銷高等問題,并且在質(zhì)量出現(xiàn)問題時(shí)可快速定位到相關(guān)責(zé)任人。雖然區(qū)塊鏈技術(shù)在產(chǎn)品溯源領(lǐng)域中有著巨大潛力,但目前仍存在許多困難和挑戰(zhàn)有待進(jìn)一步研究。

        圖6 溯源系統(tǒng)

        猜你喜歡
        塊頭哈希塊體
        On the road to smart biomaterials for bone research:definitions,concepts,advances,and outlook
        Bone Research(2021年2期)2021-09-11 06:02:54
        一種新型單層人工塊體Crablock 的工程應(yīng)用
        動(dòng)物之最——塊頭誰最大
        基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
        一種Zr 基塊體金屬玻璃的納米壓入蠕變行為研究
        上海金屬(2015年3期)2015-11-29 01:09:58
        塊體非晶合金及其應(yīng)用
        基于維度分解的哈希多維快速流分類算法
        波浪作用下斜坡上護(hù)面塊體斷裂破壞的數(shù)值模擬
        水道港口(2015年1期)2015-02-06 01:25:35
        基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
        一種基于Bigram二級哈希的中文索引結(jié)構(gòu)
        国产成人九九精品二区三区| 亚洲国产精品无码久久| 日本熟妇中出高潮视频| 内射人妻无套中出无码| 国产在线精品欧美日韩电影| 亚洲av不卡电影在线网址最新| 亚洲AV日韩AV高潮喷潮无码| 五月婷婷开心五月播五月| 五月av综合av国产av| 亚洲xxxx做受欧美| 天天中文字幕av天天爽| 亚洲综合天堂一二三区| 一区二区三区国产精品乱码| 国产美女精品视频线免费播放软件| 色综合中文综合网| 人人爽亚洲aⅴ人人爽av人人片| 一区二区高清免费日本| 人妻少妇精品视频专区| 黑人玩弄人妻中文在线| 2020久久精品亚洲热综合一本| 91久久精品一区二区三区大全| 国产99视频精品免视看7| 亚洲 高清 成人 动漫| 久久精品综合国产二区| 亚洲精品一区二区三区四区| 国产嫩草av一区二区三区| 亚洲午夜成人精品无码色欲| 亚洲人成网7777777国产| 亚洲人成网站www| 亚洲国产精品成人av在线不卡| 大肉大捧一进一出好爽视频| 色综合久久中文综合久久激情| 国产一区二区三区在线观看免费版| 精品国产品香蕉在线| 国产成人久久精品77777综合| 毛片一级精油按摩无码| 亚洲视频在线观看一区二区三区| 国产精品美女久久久久久 | 国产精品自拍视频免费观看| 91久久精品色伊人6882| 日本不卡一区二区三区在线|