摘 要:針對目前EOS平臺下BFT算法+DPoS共識機制逐漸成熟穩(wěn)定,大量商業(yè)級應用的涌入,以及未來可能實現(xiàn)的百萬級TPS,本文通過對EOS平臺下共識機制的研究,提出了相應的區(qū)塊鏈溯源體系架構模型,旨在解決各溯源機構權力過于集中,數(shù)據(jù)存儲壓力大,數(shù)據(jù)過于集中化,積極性不高等各種問題。
關鍵詞:EOS;溯源;共識機制
EOS可以理解為Enterprise Operation System,即為商用分布式應用設計的一款區(qū)塊鏈操作系統(tǒng)。本文根據(jù)EOS發(fā)布的最新版白皮書中提到的新的區(qū)塊鏈架構和共識機制,運用BFT+DPoS的共識節(jié)點的運維模式,推引出新的溯源區(qū)塊鏈體系架構模型,更好地解決了現(xiàn)存溯源機構之間的數(shù)據(jù)集中化、孤島化等問題。
1 EOS
1.1 EOS核心特點
EOS的愿景是成為能運行大量商業(yè)級應用的公鏈,其核心特點是“商用”?,F(xiàn)在很多公鏈存在網(wǎng)絡轉賬速度慢,費用高,系統(tǒng)并發(fā)量低或穩(wěn)定性差等問題,不能很好的支撐真正的大規(guī)模商業(yè)級應用的運轉。從EOS白皮書中得知,EOS采用石墨烯區(qū)塊鏈架構,BFT-DPoS的共識機制減少了驗證節(jié)點,但使得EOS的擴展性明顯增強,能夠支持很快的交易處理速度。
1.2 EOS共識機制
1)BFT算法+DPoS共識機制。EOS在第一版白皮書中采用的是DPoS共識機制,在最新一版的白皮書中,對其作了一些改進,現(xiàn)為BFT-DPoS共識機制。DPoS相比于比特幣的PoW機制,DPoS不用浪費算力資源爭奪記賬權,其通過賦予EOS通證持有人股票權,選出21個超級節(jié)點來擔任記賬人的角色,保證整個網(wǎng)絡的正常運行,21個超級節(jié)點輪流負責記賬,每一個區(qū)塊產(chǎn)生后,會按照順序傳遞到下一個超級節(jié)點中,第二個超級節(jié)點負責打包新的區(qū)塊,同時確認上一區(qū)塊的內(nèi)容,當某一區(qū)塊被超過2/3的超級節(jié)點確認后,該區(qū)塊將被確認為不可逆區(qū)塊。BFT算法加上DPoS共識后,驗證時不再按照出塊順序由超級節(jié)點一個個驗證區(qū)塊內(nèi)容,而是讓出塊節(jié)點成為主節(jié)點,出塊后同時向剩下20個節(jié)點進行廣播,并獲得節(jié)點的驗證反饋,如果有超過2/3的節(jié)點驗證通過,則該區(qū)塊成為不可逆區(qū)塊,BFT可以使得EOS的區(qū)塊確認速度顯著增加。
2)超級節(jié)點。EOS中超級節(jié)點為“區(qū)塊生產(chǎn)者”,指的是那些收集、打包、驗證交易信息到區(qū)塊中的節(jié)點,是EOS網(wǎng)絡穩(wěn)定運行的基礎,基于BFT-DPoS的共識機制,目前(截至2018.6.25)EOS規(guī)定網(wǎng)絡中有21個超級節(jié)點和49個備用節(jié)點,EOS是一個社區(qū)驅動的項目,因此超級節(jié)點的數(shù)量并非一成不變,若超級節(jié)點數(shù)量不能滿足項目發(fā)展,社區(qū)成員可以投票增加超級節(jié)點的數(shù)量,若想當選EOS超級節(jié)點,需要滿足一系列的標準才能參與競選,而后獲得一定票數(shù)后才能當選超級節(jié)點。
2 區(qū)塊鏈溯源體系架構
2.1 溯源的概念
現(xiàn)在的商品或農(nóng)產(chǎn)品溯源包括原材料信息溯源、生產(chǎn)線信息溯源、出廠信息溯源、流通信息溯源、終端零售服務信息溯源等,所以,建立完善的溯源體系意義重大,而區(qū)塊鏈技術應用在溯源上恰好發(fā)揮了極大的作用,其不可纂改性、去中心化等特征完美契合溯源的需求。
2.2 區(qū)塊鏈溯源體系架構模型
1)TIFS及CFS。結合EOS中BFT算法和DPoS共識機制的特點,以云南省為例,各市各縣可以通過民主投票的方式競選出有實力、有設備、算力強大的溯源機構,共21個作為超級節(jié)點組成溯源機構聯(lián)盟服務器群(TIFS,Traceability Institution Federated Servers),選出的21個節(jié)點符合“多數(shù)節(jié)點是正義的”和“最長連機制”,在通過同樣的方式選取出有相同算力的候選聯(lián)盟服務器群CFS(Candidate Federated Servers)49個作為備選節(jié)點。21個超級節(jié)點(TIFS)負責提供系統(tǒng)資源和打包生產(chǎn)區(qū)塊等任務,49個備用節(jié)點(CFS)負責監(jiān)督或者隨時替換TIFS中的超級節(jié)點。在BFT算法和DPoS共識機制下,這21個溯源機構即超級節(jié)點,在驗證時不再按照DPoS共識機制中21個記賬人輪流記賬的原則,而是讓出塊節(jié)點成為主節(jié)點,出塊后,同時向剩下的20個節(jié)點進行廣播,并獲得節(jié)點的認證和反饋,如果有超過2/3的節(jié)點驗證通過,則該區(qū)塊成為不可逆區(qū)塊并由主節(jié)點錨定到主鏈上。并且,21個溯源機構(超級節(jié)點)會按照其地理位置分布輪流成為主節(jié)點,盡可能地減少超級節(jié)點之間的網(wǎng)絡延遲。當TIFS中的某個或者某些超級節(jié)點受到外界因素干擾而出現(xiàn)問題時,CFS中的備用節(jié)點需要隨時頂替其位置并保證系統(tǒng)的穩(wěn)定運行;當TIFS中的節(jié)點出現(xiàn)作惡或造假等惡劣行為時,CFS中的備選節(jié)點可以通過民主的方式吸引選票,得票高的節(jié)點替換TIFS中的作惡節(jié)點,以此實現(xiàn)監(jiān)督的作用。
2)TIFS工作流程。步驟1:主節(jié)點收集網(wǎng)絡中的交易;步驟2:驗證交易并把交易打包到區(qū)塊;步驟3:廣播區(qū)塊給其余的20個溯源機構節(jié)點;步驟4:TIFS中其余的節(jié)點進行驗證并反饋信息給主節(jié)點;步驟5:主節(jié)點在獲取到有2/3的節(jié)點驗證通過后,將生成的Merkle根錨定到主鏈上。
其中,為了提升系統(tǒng)的性能,在將出塊速度縮短到0.5秒/塊的同時,可以將原來的隨機出塊順序改為由見證人商議后確定的出塊順序,這樣網(wǎng)絡延遲較低的見證人之間可以相鄰出塊,并且每個見證人連續(xù)生產(chǎn)6個區(qū)塊,使得6個區(qū)塊能有足夠的時間傳遞給下一個見證人。并且區(qū)塊的確認和生產(chǎn)是獨立的,每個區(qū)塊生產(chǎn)后立即進行全網(wǎng)廣播,區(qū)塊生產(chǎn)者一邊等待0.5秒生產(chǎn)一下個區(qū)塊,同時會接收其他見證人對上一個區(qū)塊的確認結果,新區(qū)塊的生產(chǎn)和舊區(qū)塊確認的接收同時進行,大部分情況下,使得交易會在1秒內(nèi)確認且不可逆。
3)Merkle樹與格基算法。Merkle樹是一個基于Hash算法的數(shù)據(jù)結構,他的葉子節(jié)點的value是數(shù)據(jù)集合的單元數(shù)據(jù)或者單元數(shù)據(jù)Hash,非葉子節(jié)點的value是根據(jù)他下面所有葉子節(jié)點值,然后按照Hash算法計算而得出的。在區(qū)塊鏈中,生成的所有記錄通過Merkle樹的哈希過程生成唯一的Merkle根,存儲在區(qū)塊鏈的頭部。
Merkle樹被廣泛地用來驗證大數(shù)據(jù)組和大多數(shù)區(qū)塊鏈應用的包含性。它使得說謊或作假根本不可能發(fā)生,保證了數(shù)據(jù)的真實和有效性。
在基于區(qū)塊鏈的商品農(nóng)產(chǎn)品溯源架構中,消費者在購買商品或農(nóng)產(chǎn)品后會相應的獲得一對密鑰(一個公鑰和一個私鑰),區(qū)塊鏈網(wǎng)絡根據(jù)密鑰所屬類型開放對應權限。消費者只可以查詢和追溯農(nóng)產(chǎn)品數(shù)據(jù),生產(chǎn)商、供應商等環(huán)節(jié)中的人員可以進行數(shù)據(jù)錄入和查詢,TIFS中的超級節(jié)點則可進行錄入人員信息的查詢以及更高級的操作。本文采用了格基算法生成公私鑰對協(xié)議。
1)生成隨機矩陣 ,選擇安全整數(shù)q,n。
2)生成公私鑰對:
公鑰pk=P,P=R-A,
其中R,S是高斯參數(shù),則私鑰sk=S。
3)加密算法:
其中e1,e2,e3是誤差參數(shù)。
4)解密算法:
根據(jù)與0的距離遠近判斷為0還是為1。
3 總結和展望
本文將EOS平臺下BFT算法+DPoS共識機制的運行方式與商品農(nóng)產(chǎn)品溯源體系相結合,提出了新的溯源區(qū)塊鏈體系架構模型,具有去中心化,數(shù)據(jù)分布式存儲,數(shù)據(jù)不可篡改,出塊速度快等特點,同時TIFS的設定提高了系統(tǒng)的魯棒性,CFS的設立制衡權利集中化的同時也提高了機構的積極性。目前區(qū)塊鏈技術也在不斷的發(fā)展,因此,后續(xù)對商品農(nóng)產(chǎn)品溯源各個環(huán)節(jié)的研究和細節(jié)的設計還需進一步完善。
參考文獻
[1]梅海濤,劉潔.區(qū)塊鏈的產(chǎn)業(yè)現(xiàn)狀、存在問題和政策建議[J].電信科學,2016,32(11):134-138.
作者簡介
傅威(1995-),男,漢族,安徽省合肥市,碩士研究生,云南財經(jīng)大學信息學院,研究方向:計算機應用技術。