日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

DPOS共识算法—缺失的白皮书

發(fā)布時(shí)間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DPOS共识算法—缺失的白皮书 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這是一份缺失的白皮書(shū)以及對(duì)委托權(quán)益共識(shí)算法(DPOS)的分析!這篇文章的目的就是提供一個(gè)分析,為什么DPOS可以行的通以及是什么使得它很強(qiáng)大!一篇早期對(duì)于DPOS介紹的文章可以在bitshares.org看到,不過(guò)這篇介紹中也包含了很多不屬于真正共識(shí)處理的其他方面。

翻譯作者:許莉
原文地址:DPOS Consensus Algorithm

所有的區(qū)塊鏈基本上都是一個(gè)確定性的狀態(tài)機(jī),根據(jù)交易來(lái)行動(dòng)。共識(shí)就是對(duì)交易順序的確定性達(dá)成一致以及過(guò)濾無(wú)效交易的過(guò)程。也有很多不同的共識(shí)算法能夠產(chǎn)生相同的交易順序,但是通過(guò)多年來(lái)在多個(gè)區(qū)塊鏈上的可靠運(yùn)行,DPOS被證明了是很強(qiáng)大、安全和高效的。

DPOS共識(shí)算法摘要

DPOS共識(shí)算法分為兩個(gè)部分:選舉一群區(qū)塊生產(chǎn)者和調(diào)度生產(chǎn)。選舉過(guò)程是為了保證利益相關(guān)者最終掌握控制權(quán),因?yàn)楫?dāng)網(wǎng)絡(luò)沒(méi)有正常運(yùn)行時(shí)利益相關(guān)者損失的最多。區(qū)塊生產(chǎn)者是如何選舉出來(lái)對(duì)于共識(shí)是如何達(dá)成的幾乎沒(méi)有影響。因此,本文主要講解當(dāng)一個(gè)區(qū)塊生產(chǎn)者被選舉出來(lái)之后共識(shí)是如何達(dá)成的。

為了解釋這個(gè)算法,我假設(shè)有3個(gè)區(qū)塊生產(chǎn)者:A、B、C。因?yàn)楣沧R(shí)的達(dá)成需要2/3+1多數(shù)來(lái)解決所有情況,這個(gè)簡(jiǎn)單的模型假設(shè)區(qū)塊生產(chǎn)者C是決勝者。在現(xiàn)實(shí)世界中會(huì)有21個(gè)區(qū)塊生產(chǎn)者或者更多。就像工作量證明,一般規(guī)則就是最長(zhǎng)的鏈勝出。任何時(shí)候一個(gè)誠(chéng)實(shí)的對(duì)端看見(jiàn)一個(gè)有效的長(zhǎng)鏈都會(huì)將自己從當(dāng)前的分支切換到最長(zhǎng)鏈上。

正常流程

在正常流程下區(qū)塊生產(chǎn)者會(huì)輪流每3秒鐘來(lái)生產(chǎn)一個(gè)區(qū)塊。假設(shè)每次輪流到的人都產(chǎn)生了自己該產(chǎn)生的區(qū)塊,那么將會(huì)產(chǎn)生最長(zhǎng)鏈。區(qū)塊生產(chǎn)者在不屬于自己產(chǎn)生區(qū)塊之外的其他任何時(shí)間間隙產(chǎn)生的區(qū)塊都是無(wú)效的。

少數(shù)者分支

最多允許1/3的節(jié)點(diǎn)可以是惡意的或者存在故障,創(chuàng)造了一個(gè)少數(shù)者分支。這種情況下少數(shù)者分支只會(huì)每9秒鐘產(chǎn)生一個(gè)區(qū)塊,而多數(shù)者分支則會(huì)每9秒鐘生產(chǎn)2個(gè)區(qū)塊。再一次,誠(chéng)實(shí)的2/3多數(shù)者將永遠(yuǎn)會(huì)比少數(shù)者分支的鏈要長(zhǎng)。

未連接的少數(shù)者雙重生產(chǎn)

這個(gè)少數(shù)者可以嘗試產(chǎn)生無(wú)數(shù)的分支,但是所有的分支上的鏈都會(huì)比多數(shù)者的鏈要短,因?yàn)樯贁?shù)者被限制區(qū)塊的生產(chǎn)要比多數(shù)者慢。

網(wǎng)絡(luò)分片

網(wǎng)絡(luò)完全有可能碎片化,在網(wǎng)絡(luò)碎片化時(shí)沒(méi)有任何分支擁有多數(shù)區(qū)塊生產(chǎn)者。在這種情況下,最長(zhǎng)的鏈將會(huì)在最大的少數(shù)者上產(chǎn)生。當(dāng)網(wǎng)絡(luò)的連通性恢復(fù)之后小一些的少數(shù)者會(huì)自動(dòng)的切換到最長(zhǎng)鏈上,明確的共識(shí)也隨之恢復(fù)。

有可能會(huì)出現(xiàn)3個(gè)分支中2個(gè)鏈長(zhǎng)一點(diǎn)的分支,鏈的長(zhǎng)度是一樣的。這種情況下當(dāng)?shù)谌齻€(gè)(鏈短一點(diǎn)的分支)分支上的區(qū)塊生產(chǎn)者重新加入到網(wǎng)絡(luò)時(shí)就會(huì)打破這種平衡。區(qū)塊生產(chǎn)者的數(shù)量是奇數(shù)所以這種情況不會(huì)維持太長(zhǎng)時(shí)間。后面我們也會(huì)對(duì)區(qū)塊生產(chǎn)者重新洗牌,讓生產(chǎn)區(qū)塊的順序隨機(jī)化,來(lái)保證即使兩個(gè)分支擁有相同數(shù)量的區(qū)塊生產(chǎn)者,分支也將會(huì)在不同的長(zhǎng)度爆發(fā)生長(zhǎng),導(dǎo)致一個(gè)分支接管另一個(gè)分支。

連接的少數(shù)者雙重生產(chǎn)

在這種場(chǎng)景下少數(shù)者B在屬于他的時(shí)間間隙生產(chǎn)2個(gè)或者更多其他的區(qū)塊。下一個(gè)預(yù)訂的區(qū)塊生產(chǎn)者(C),也許會(huì)選擇在任何一個(gè)由B生產(chǎn)的區(qū)塊上生產(chǎn)鏈。當(dāng)C生產(chǎn)出一個(gè)區(qū)塊之后,它將會(huì)變成一個(gè)最長(zhǎng)鏈,所有選擇B1的節(jié)點(diǎn)都會(huì)切換到最長(zhǎng)鏈的分支上。不論少數(shù)惡意區(qū)塊生產(chǎn)者嘗試傳播多少其他的區(qū)塊都沒(méi)有關(guān)系,這些區(qū)塊在最長(zhǎng)鏈中存在的時(shí)間永遠(yuǎn)不會(huì)超過(guò)一個(gè)回合的時(shí)間。

最后不可逆區(qū)塊

在網(wǎng)絡(luò)分片事件中是有可能存在多個(gè)分支繼續(xù)生長(zhǎng)了一段延長(zhǎng)時(shí)間。在長(zhǎng)期來(lái)看,最長(zhǎng)的鏈將會(huì)勝出,但是觀測(cè)者要求有個(gè)方法可以確定的知道一個(gè)區(qū)塊絕對(duì)是增長(zhǎng)最快的鏈中的一部分。這個(gè)可以根據(jù)看到區(qū)塊生產(chǎn)者們的超過(guò)2/3的確認(rèn)消息就能確定。

在下圖中,區(qū)塊B被C和代表著多數(shù)2/3+1確認(rèn)的A確認(rèn)過(guò),因此我們可以推測(cè)只要2/3的區(qū)塊生產(chǎn)者都是誠(chéng)實(shí)的那么就沒(méi)有其他的鏈會(huì)比這個(gè)鏈更長(zhǎng)。

注意這個(gè)“規(guī)則”與比特幣的6個(gè)塊確認(rèn)是相似的。一些聰明的人可以設(shè)計(jì)出一系列的事件讓兩個(gè)不同的節(jié)點(diǎn)在出現(xiàn)在不同的最后不可逆區(qū)塊上。這種邊緣案例要求攻擊者能夠完全掌控通信延時(shí),并且需要在幾分鐘之內(nèi),不是一次,而是兩次使用這個(gè)控制力。如果這種事情發(fā)生了,那么長(zhǎng)期來(lái)看,最長(zhǎng)鏈的規(guī)則依然有效。我們估計(jì)這種攻擊事件發(fā)生的概率基本為0,而且就算發(fā)生了,對(duì)于資金基本上造成的影響小到你都不用去擔(dān)心。

缺少區(qū)塊生產(chǎn)者法定數(shù)

雖然可能性比較小,但是也可能存在區(qū)塊生產(chǎn)者的法定數(shù)不明確,這種情況對(duì)于少數(shù)者還是有可能繼續(xù)生產(chǎn)塊的,在這些塊中利益相關(guān)者可以包含更改投票的交易。然后這些投票可以選擇一群新的區(qū)塊生產(chǎn)者,讓區(qū)塊生產(chǎn)的參與率恢復(fù)到100%。一旦這種情況發(fā)生,少數(shù)者鏈將會(huì)最終超過(guò)其他參與率低于100%的鏈。

在這個(gè)過(guò)程中所有的觀察者都將會(huì)知道網(wǎng)絡(luò)狀態(tài)一直在變化指導(dǎo)區(qū)塊生產(chǎn)參與率達(dá)到了67%。那些選擇在這種情況下進(jìn)行交易的人冒的風(fēng)險(xiǎn)大概跟沒(méi)有得到6個(gè)塊確認(rèn)的交易差不多。他們是在知道有很小的可能性存在共識(shí)可能最終選擇了一條不同的分叉進(jìn)行操作的。在現(xiàn)實(shí)中這種情況比接收一個(gè)少于3個(gè)確認(rèn)的比特幣區(qū)塊要安全的多。

多數(shù)區(qū)塊生產(chǎn)者腐敗

如果多數(shù)的區(qū)塊生產(chǎn)者都變得腐敗,那么他們就可以產(chǎn)生無(wú)數(shù)的分叉,每個(gè)都將以2/3多數(shù)確認(rèn)進(jìn)行著。在這種情況下,最后不可逆區(qū)塊算法就會(huì)恢復(fù)成最長(zhǎng)鏈算法。那么被最大的多數(shù)者所認(rèn)可的鏈將會(huì)成為最長(zhǎng)鏈, 誰(shuí)是最大的多數(shù)者由剩下少數(shù)誠(chéng)實(shí)的節(jié)點(diǎn)來(lái)決定。這種行為不會(huì)維持較長(zhǎng)的時(shí)間,因?yàn)槔嫦嚓P(guān)者最終會(huì)選擇投票替換這些區(qū)塊生產(chǎn)者。

交易作為權(quán)益證明(TaPoS)

當(dāng)用戶簽名一個(gè)交易的時(shí)候,他們是在對(duì)區(qū)塊鏈的狀態(tài)有個(gè)確定猜想下進(jìn)行簽名的。這個(gè)猜想建立在他們對(duì)近期區(qū)塊的看法。如果最長(zhǎng)鏈的共識(shí)發(fā)生了改變,那么可能會(huì)使簽名者在他們認(rèn)可交易時(shí)產(chǎn)生的猜想無(wú)效化。

由于TaPoS, 當(dāng)一個(gè)區(qū)塊在鏈的歷史中不存在,所有的交易包括最近一個(gè)區(qū)塊的hash值都被認(rèn)為是無(wú)效的。任何在孤兒分支對(duì)交易簽名的人將會(huì)發(fā)現(xiàn)交易是無(wú)效的,而且是無(wú)法遷移到主分支上的。

這個(gè)處理的一個(gè)附帶作用就是安全性,可以抵御試圖產(chǎn)生替代鏈的長(zhǎng)期攻擊。各利益相關(guān)方每次在交易的時(shí)候都會(huì)直接確認(rèn)區(qū)塊鏈。隨著時(shí)間的流逝,所有的區(qū)塊都被所有的利益相關(guān)者確認(rèn),而這一點(diǎn)是無(wú)法在偽造的鏈中被復(fù)制的。

確定的區(qū)塊生產(chǎn)者洗牌

在所有的列子中我們展示了區(qū)塊生產(chǎn)者的循環(huán)調(diào)度。在現(xiàn)實(shí)中一群區(qū)塊生產(chǎn)者會(huì)在N個(gè)塊(N代表的區(qū)塊生產(chǎn)者的數(shù)量)之后會(huì)被洗牌一次。這種隨機(jī)性保證區(qū)塊生產(chǎn)者B不會(huì)總是忽略區(qū)塊生產(chǎn)者A,也確保每當(dāng)有多個(gè)相同數(shù)量的區(qū)塊生產(chǎn)者的分叉出現(xiàn)時(shí),僵局都能被打破。

總結(jié)

DPOS在任何能夠想得到的自然網(wǎng)絡(luò)中斷情況下還是穩(wěn)健的,即使面對(duì)大多數(shù)的區(qū)塊生產(chǎn)者舞弊也是安全的。不像一些競(jìng)爭(zhēng)算法,DPOS在多數(shù)區(qū)塊生產(chǎn)者出現(xiàn)故障的時(shí)候也可以正常工作。在這個(gè)期間,社區(qū)可以投票來(lái)選擇新的區(qū)塊生產(chǎn)者來(lái)代替這些出現(xiàn)故障的區(qū)塊生產(chǎn)者直到區(qū)塊生產(chǎn)者的參與率達(dá)到100%。我知道沒(méi)有其他的共識(shí)算法可以在如此高頻率且多變的失敗環(huán)境下還能如此穩(wěn)健。

DPOS從選擇一個(gè)選舉區(qū)塊生產(chǎn)者的共識(shí)算法而最終獲得重要的安全性,并認(rèn)證節(jié)點(diǎn)的高質(zhì)量和唯一性。使用投票同意的處理機(jī)制確保了即使是擁有50%投票權(quán)的人,也無(wú)法依靠自己的權(quán)利選擇哪怕一個(gè)區(qū)塊生產(chǎn)者。DPOS旨在優(yōu)化具有強(qiáng)大網(wǎng)絡(luò)連接,且名義上誠(chéng)實(shí)節(jié)點(diǎn)參與率為100%條件下的性能。這讓DPOS有能力在平均1.5s內(nèi)擁有99.9%的確定性來(lái)確認(rèn)一筆交易,同時(shí)以優(yōu)雅的方式,能在降級(jí)服務(wù)中恢復(fù)。

其它的共識(shí)算法設(shè)計(jì)來(lái)支持較差網(wǎng)絡(luò)的,和面對(duì)非誠(chéng)實(shí)的節(jié)點(diǎn)。這將導(dǎo)致最終的可選設(shè)計(jì)只能是更慢的網(wǎng)絡(luò)性能,更高的延遲,高通信開(kāi)銷,并且在33%的節(jié)點(diǎn)故障時(shí)將導(dǎo)致整個(gè)網(wǎng)絡(luò)掛掉。

在BitShares3年,Steem一年的成功運(yùn)營(yíng)中,我們經(jīng)歷了各種網(wǎng)絡(luò)條件和軟件bug。 DPOS已經(jīng)成功地經(jīng)歷了這種環(huán)境,并展示了保持共識(shí)時(shí),比任何其他鏈處理更多的交易時(shí)的能力


原始鏈接:https://lilymoana.github.io/DPOS.html?

總結(jié)

以上是生活随笔為你收集整理的DPOS共识算法—缺失的白皮书的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 福利视频午夜 | 久久av一区二区三区 | 99爱在线观看 | 精品一区二区在线看 | 青娱乐97 | av一区二区三区四区 | 免费特级毛片 | 国产91久久精品一区二区 | 亚洲aⅴ | 亚洲精品区| 国产一区一区 | 伊人中文网 | 99视频免费看 | 日韩乱码在线观看 | 欧美精品性视频 | 精品一区二区欧美 | 最色成人网| 天天摸天天做天天爽 | 久草视频在 | 黄色茄子视频 | 色妞视频 | 久操热 | 久久精品视频日本 | 国产精品一线二线三线 | 德国性猛交xxxxhd | 久久777| 成年人黄色免费网站 | 欧美性猛交xx乱大交 | 黄色大片av | 色av资源| 亚洲爱av | 国产中文视频 | 特级黄色片 | 成人91免费 | 欧美高清视频一区二区 | 亚洲天堂爱爱 | 在办公室被c到呻吟的动态图 | 奇米狠狠去啦 | 天天干天天上 | 91视频国产精品 | 日韩不卡在线播放 | 成人片在线免费看 | 黄色国产免费 | 波多野结衣在线观看一区二区 | 日本在线看| 丰满人妻一区二区三区53号 | 国产精品一区二区免费看 | 有码视频在线观看 | 亚洲欧美在线视频免费 | 成人免费看片在线观看 | 亚洲欧洲精品成人久久奇米网 | 亚洲免费大全 | 国模视频一区二区 | 久草剧场 | 精品美女久久 | 综合热久久 | 麻豆视频免费版 | 性开放的欧美大片 | 久久久18禁一区二区三区精品 | 国产黄色片网站 | 2017狠狠干 | 欧美日本不卡 | 成人黄色在线播放 | 国产美女免费观看 | 国产无遮挡一区二区三区毛片日本 | 久久人人澡 | 曰本无码人妻丰满熟妇啪啪 | 在线观看亚洲精品 | 亚洲免费黄色 | 精品久久久久一区二区国产 | x88av在线| 国产黑丝在线 | 国产伦人伦偷精品视频 | 在线免费看毛片 | 翔田千里一区二区三区av | 热99这里只有精品 | 伊人午夜 | 日韩欧美中文 | 天天透天天干 | 亚洲蜜桃精久久久久久久久久久久 | 女性向av免费网站 | av性色| 久热免费在线视频 | 黄色小视频在线观看免费 | 国产欧美日本 | 久久久国产网站 | aa一级片 | 久草视频在线免费播放 | 五级黄高潮片90分钟视频 | 亚洲午夜在线视频 | 男人午夜视频 | 久久久久无码国产精品一区 | 日韩毛片高清在线播放 | 国产精品麻豆果冻传媒在线播放 | 国产福利一区二区 | 狠狠干干 | 狠狠干夜夜骑 | 日韩欧美视频免费观看 | 国产美女明星三级做爰 |