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

        ?

        基于改進(jìn)Raft 算法的私有鏈模型

        2019-11-30 08:50:24朱漢成
        現(xiàn)代計算機 2019年1期
        關(guān)鍵詞:記賬計算結(jié)果一致性

        朱漢成

        (四川大學(xué)計算機學(xué)院,成都610065)

        0 引言

        隨著以比特幣為代表的虛擬數(shù)字貨幣飛速發(fā)展,區(qū)塊鏈作為這個應(yīng)用的底層關(guān)鍵技術(shù)受到了國家和科技巨頭們的極大關(guān)注。區(qū)塊鏈天生具有去中心化、不可篡改等特性,使其在對數(shù)據(jù)信息安全性要求高的行業(yè)應(yīng)用前景極其看好[2],現(xiàn)如今很多銀行帶頭做起金融區(qū)塊鏈,螞蟻金服也發(fā)布了落地應(yīng)用——善款追蹤和商品溯源。但是現(xiàn)在的以太網(wǎng)為代表的區(qū)塊鏈生態(tài)系統(tǒng)的在交易吞吐量等方面遠(yuǎn)遠(yuǎn)滿足不了當(dāng)今大部分應(yīng)用場景的需求。

        共識算法作為區(qū)塊鏈的核心,往往決定著區(qū)塊鏈的出塊效率,如今共識算法發(fā)展的十分全面[1]?,F(xiàn)如今以PoW、PoS 算法為主流共識算法的公有鏈,雖然可以很好的保證了安全性,但是效率低下。以Paxos、Raft為代表的傳統(tǒng)一致性算法只能追求在宕機或者網(wǎng)絡(luò)問題時仍能保證一致性,但是組織惡意節(jié)點進(jìn)行破壞攻擊;PBFT 拜占庭容錯算法)則是一種狀態(tài)機副本復(fù)制算法,可以防止1/3 以下節(jié)點數(shù)的惡意節(jié)點攻擊,但是卻需要較大的網(wǎng)絡(luò)帶寬來保證副本的復(fù)制。

        區(qū)塊鏈作為這兩年風(fēng)頭正熱的新興技術(shù),難以落地一直困擾眾多看好區(qū)塊鏈的政府與企業(yè)?,F(xiàn)實的企業(yè)應(yīng)用中,假如應(yīng)用不涉及代幣內(nèi)容,那么我們可能要求的區(qū)塊鏈的交易吞吐量達(dá)到一個較高的量級,而不是常見公有鏈以分鐘計來確定一個區(qū)塊。因為主流的公有鏈的區(qū)塊鏈應(yīng)用不僅效率堪憂,而且浪費大量算力是國家和有責(zé)任的企業(yè)不愿意看見的。隨之而來就是大量對聯(lián)盟鏈和私有鏈的研究。聯(lián)盟鏈?zhǔn)嵌鄶?shù)機構(gòu)共同維護(hù)一個聯(lián)盟鏈,并且大多使用基于PBFT 的算法,TPS 可以過萬,但是還是容易收到PBFT 算法影響,當(dāng)節(jié)點個數(shù)過多時,共識難以達(dá)成,效率大受影響。私有鏈與聯(lián)盟鏈類似,但私有鏈由單個機構(gòu)或組織來管理,很多時候默認(rèn)鏈中節(jié)點是不會成為惡意節(jié)點進(jìn)行攻擊的。但是私有鏈實際情況之中還是會出現(xiàn)惡意節(jié)點,假如惡意節(jié)點成為記賬節(jié)點,那么對于整個私有鏈?zhǔn)侵旅?。本文將改進(jìn)Raft 算法并且應(yīng)用到我們的私有鏈之中,既保留了算法中快速找出記賬節(jié)點進(jìn)行記賬,同時保證出現(xiàn)惡意節(jié)點攻擊也能保證系統(tǒng)穩(wěn)定、其他節(jié)點不受影響。

        1 相關(guān)工作

        Lamport 首次提出Paxos 算法,用以解決分布式中節(jié)點的一致性問題,雖然后來又在中進(jìn)行簡化說明,仍然理解起來較為吃力并且難以工程實現(xiàn)。Diego Ongaro 和John Ousterhout[3]提出了Raft 算法,相比于Paxos而言更加簡單理解而且更容易工程實現(xiàn)。一致性是指多個服務(wù)器節(jié)點狀態(tài)達(dá)成一致,但是在一個分布式的系統(tǒng)之中仍然會出現(xiàn)一些節(jié)點出現(xiàn)宕機等不穩(wěn)定狀況,就難以和其他的服務(wù)器保持一致。這時候一致性協(xié)議出現(xiàn)可以保證盡管出現(xiàn)節(jié)點異常,仍然可以保證整個分布式系統(tǒng)正常運行。在Raft 算法中,主要有三個角色:Candidate、Leader、Follower。Candidate 節(jié)點分別向其他的節(jié)點索要選票,如果收到的選票可以達(dá)到節(jié)點數(shù)的半數(shù)以上,Candidate 節(jié)點的身份將會升級為Leader,Leader 就可以對其他Follower 節(jié)點進(jìn)行只會操作。李升林[4]等人也曾改進(jìn)Raft 算法并且將其用在區(qū)塊鏈中,Raft 算法的簡單高效有著很高的改進(jìn)余地。本文通過對Raft 算法進(jìn)行改進(jìn)以防止惡意節(jié)點攻擊。本文將增加一個Monitor 身份用以接收驗證信息并且此時可以判斷哪些節(jié)點出現(xiàn)問題或者是惡意節(jié)點,達(dá)到一定錯誤次數(shù)以后將會進(jìn)行刪除節(jié)點的操作。Leader 將會把打包的區(qū)塊信息廣播給其他的Follower 節(jié)點,因為每個節(jié)點都會收到所有的交易數(shù)據(jù),那么每個節(jié)點都可以對Leader 打包的區(qū)塊進(jìn)行一個驗證。每個節(jié)點都會將自己的計算結(jié)果廣播給所有的其他節(jié)點,此時所有節(jié)點的身份都將變成Monitor,Monitor 將會進(jìn)行統(tǒng)計票數(shù),如果收到的計算結(jié)果正確的個數(shù)超過半數(shù),則說明Leader 計算的結(jié)果正確并且進(jìn)行記賬,同時各個節(jié)點將會記錄問題節(jié)點,記錄達(dá)到一定程度,我們將舍棄此節(jié)點;如果收到計算結(jié)果正確的個數(shù)未超過半數(shù),則說明Leader 計算結(jié)果出錯,節(jié)點身份將會變成Candidate 再次競爭Leader,至于上一輪Leader 計算結(jié)果出錯可能會出現(xiàn)兩種狀況:一是惡意節(jié)點、二是網(wǎng)絡(luò)問題導(dǎo)師交易信息不全,各節(jié)點也將記錄此次Leader,如果再次連續(xù)出現(xiàn)問題記錄,下次Monitor 會考慮舍棄此節(jié)點。改進(jìn)后的算法可以作為私有鏈的共識算法,不僅保留了Raft 本身效率高的特點,而且具有防止惡意節(jié)點攻擊的情況出現(xiàn)。

        2 改進(jìn)后算法流程

        改進(jìn)算法中節(jié)點的四個角色:

        Candidate:候選人,可以競選Leader;

        Follower:跟隨者,進(jìn)行Leader 選舉投票,校驗Leader 打包區(qū)塊的結(jié)果;

        Leader:領(lǐng)導(dǎo)者;

        Monitor:監(jiān)視者,收集Leader 和Follow 計算結(jié)果的反饋,從而判斷問題節(jié)點進(jìn)行下一步操作。

        每個節(jié)點都可以同時具有所有角色,不同的過程扮演不用角色。

        (1)Candidate 節(jié)點將進(jìn)行競選Leader,我們可以進(jìn)行一些策略避免所有Candidate 節(jié)點同時競選,例如可以參考PoW 算法,產(chǎn)生一定隨機性。當(dāng)Candidate 收到其他Follower 的返回結(jié)果時,統(tǒng)計結(jié)果,如果票數(shù)過半,則說明選舉成功。此節(jié)點角色將由Candidate 變?yōu)長eader,具有此次的記賬權(quán)。

        (2)Leader 節(jié)點將自己節(jié)點收到的交易信息進(jìn)行整理、計算、打包成一個區(qū)塊,將計算后的區(qū)塊信息廣播給其他的Follower 節(jié)點。

        (3)所有Follower 收到節(jié)點后的將會根據(jù)自己節(jié)點收到的所有交易信息進(jìn)行整理、計算,并且與Leader廣播的結(jié)果進(jìn)行比較,然后將自己的結(jié)果廣播給其他的所有節(jié)點(包括Leader 節(jié)點)。

        (4)每個節(jié)點會收到其他節(jié)點的所有結(jié)果,這個時候節(jié)點的角色將會兼顧著Monitor 的角色。節(jié)點會接收到其他所有節(jié)點的驗證Leader 結(jié)果的反饋,會有以下兩種情況:

        ①如果各個節(jié)點收到Leader 計算結(jié)果正確的反饋超過半數(shù),節(jié)點就可以將Leader 廣播的區(qū)塊進(jìn)行記錄上鏈,并且將記錄所有反饋節(jié)點錯誤的節(jié)點,并且進(jìn)行監(jiān)管,如果連續(xù)出現(xiàn)問題,可能是網(wǎng)絡(luò)問題導(dǎo)致所接受的交易信息不夠完整,也有可能節(jié)點攻擊后進(jìn)行惡意操作,此時各個正常節(jié)點將行使Monitor 的權(quán)利,將此節(jié)點除名,保證安全性。

        ②如果各個節(jié)點收到的Leader 計算結(jié)果正確的反饋未能超過半數(shù),各個節(jié)點就會重新進(jìn)入到步驟(1)進(jìn)行競選Leader,同時記錄Leader 為待驗證問題節(jié)點,而反饋Leader 結(jié)果正確的節(jié)點將會被各個節(jié)點直接舍棄,因為一定是被攻擊到的問題節(jié)點。

        相比較原算法而言,本文提出的改進(jìn)方案多加了一個角色信息,與此角色相對應(yīng)的增加了校驗Leader節(jié)點計算結(jié)果全部節(jié)點校驗和出錯節(jié)點記錄的過程,使得改進(jìn)后的算法具有的容錯的功能。

        3 對比實驗

        本文將使用改進(jìn)后Raft 算法作為共識算法的構(gòu)建私有鏈進(jìn)行攻擊,確認(rèn)改進(jìn)后私有鏈的安全性;并且對比改進(jìn)算法后構(gòu)建私有連的交易吞吐量狀況和傳統(tǒng)的公有鏈的交易吞吐量進(jìn)行對比,體現(xiàn)私有鏈的可用性。

        (1)實驗?zāi)M私有鏈共有五個節(jié)點,并且分別攻擊一個非Leader 節(jié)點、一個Leader 節(jié)點、攻擊兩個節(jié)點,查看私有鏈的運行狀況:

        ①攻擊一個Follower 節(jié)點,其他節(jié)點會正常進(jìn)行記賬并且記錄此Follower 節(jié)點此次出錯。

        ②攻擊Leader 節(jié)點,Leader 節(jié)點會發(fā)送錯誤信息,其他節(jié)點會發(fā)現(xiàn)計算區(qū)塊信息錯誤并且重新選舉Leader,并且將Leader 記錄此次出錯。

        ③攻擊半數(shù)以上節(jié)點,如果Leader 節(jié)點發(fā)送錯誤信息,其他節(jié)點也會進(jìn)行記賬加區(qū)塊;如果Leader 節(jié)點計算的區(qū)塊內(nèi)容是正確的,但是由于作惡節(jié)點占到半數(shù),那么最后每個節(jié)點都會認(rèn)為Leader 計算結(jié)果出現(xiàn)問題,并且重新選舉節(jié)點,并且造成系統(tǒng)癱瘓。

        (2)實驗將計算區(qū)塊生成效率,然后與公有鏈的算法進(jìn)行比較:

        經(jīng)過實驗?zāi)M,本文提出基于改進(jìn)Raft 算法的私有鏈打包區(qū)塊的TPS 可以達(dá)到5000 左右,比起主流的區(qū)塊鏈的打包區(qū)塊速度有了質(zhì)的飛躍,如果進(jìn)行后期的足夠優(yōu)化,本文提出的方案將可以更加廣泛的應(yīng)用在各種領(lǐng)域。

        4 結(jié)語

        本文對Raft 進(jìn)行改進(jìn)并且將其應(yīng)用到私有鏈之中,既保留原來強一致性的高效,又可以防止惡意節(jié)點的攻擊,為很多私有鏈應(yīng)用落地提供更多可行性的方案。今后的工作將對Raft 算法進(jìn)行更多的容錯方面的改進(jìn),使其在復(fù)雜的網(wǎng)絡(luò)環(huán)境保證可用性得到提高,能夠有更強的生命活力;并且能夠改進(jìn)通信和負(fù)載均衡方面的結(jié)構(gòu),讓私有鏈在通信的時候盡量減小網(wǎng)絡(luò)開銷,提高系統(tǒng)的穩(wěn)定性。

        猜你喜歡
        記賬計算結(jié)果一致性
        關(guān)注減污降碳協(xié)同的一致性和整體性
        公民與法治(2022年5期)2022-07-29 00:47:28
        注重教、學(xué)、評一致性 提高一輪復(fù)習(xí)效率
        IOl-master 700和Pentacam測量Kappa角一致性分析
        記賬類APP
        不等高軟橫跨橫向承力索計算及計算結(jié)果判斷研究
        甘肅科技(2020年20期)2020-04-13 00:30:40
        農(nóng)家參謀(2019年2期)2019-09-10 03:54:02
        基于事件觸發(fā)的多智能體輸入飽和一致性控制
        代理記賬:會計“工學(xué)結(jié)合”的新動向
        超壓測試方法對炸藥TNT當(dāng)量計算結(jié)果的影響
        噪聲對介質(zhì)損耗角正切計算結(jié)果的影響
        国产精品一区又黄又粗又猛又爽| 邻居人妻的肉欲满足中文字幕| av黄色大片久久免费| 全亚洲最大的私人影剧院在线看| 少妇被黑人嗷嗷大叫视频| 久久精品免费一区二区喷潮| 性大毛片视频| 韩国v欧美v亚洲v日本v| 9999毛片免费看| 国产精品白浆视频一区| 亚洲一二三四五区中文字幕| 亚洲三区av在线播放| 久久免费亚洲免费视频| 亚洲免费观看视频| 18禁裸男晨勃露j毛网站| 国产av综合影院| 亚洲av成人无码网天堂| av天堂精品久久久久| 完整在线视频免费黄片| 丰满少妇又爽又紧又丰满动态视频| 国产一级内射一片视频免费| 又大又粗欧美黑人aaaaa片| 吃奶摸下激烈床震视频试看| 狠狠躁夜夜躁人人爽天天 | 按摩师玩弄少妇到高潮av| 无码人妻丰满熟妇啪啪网站 | 亚洲乱亚洲乱妇50p| 人妻丝袜无码国产一区| 亚洲不卡无码高清视频| 亚洲日本人妻中文字幕| 蜜桃a人妻精品一区二区三区| 男女后进式猛烈xx00动态图片| 亚洲中文字幕无码永久在线| 国产男女乱婬真视频免费| 日本一区二区三区一级片| 精品一区二区三区蜜桃麻豆| 人妻久久久一区二区三区| 粗大的内捧猛烈进出在线视频 | 五月婷婷六月激情| 在线亚洲精品一区二区三区 | 国产日产亚洲系列首页|