溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Bystack的高TPS共識(shí)算法是怎么樣的

發(fā)布時(shí)間:2021-12-01 14:33:47 來(lái)源:億速云 閱讀:104 作者:柒染 欄目:云計(jì)算

本篇文章給大家分享的是有關(guān)Bystack的高TPS共識(shí)算法是怎么樣的,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

Bystack的高TPS共識(shí)算法是怎么樣的

共識(shí)算法是分布式系統(tǒng)保證節(jié)點(diǎn)數(shù)據(jù)狀態(tài)一致性的方法,在區(qū)塊鏈的共識(shí)算法分POW(工作量證明)和POS(權(quán)益證明)兩大類。第一類POW模式是在公鏈項(xiàng)目中運(yùn)用的最廣泛應(yīng)用的共識(shí)算法,比特幣長(zhǎng)達(dá)10年的運(yùn)行已充分證明POW的安全性與穩(wěn)定性。POW的特性是將去中心化與安全性發(fā)揮到了極致,但卻犧牲了性能。 如比特幣的峰值TPS為3.87, 平均每筆交易被打包入塊需要10分鐘;比原鏈的峰值TPS為36.32,平均每筆交易被打包入塊需要2.5分鐘。第二類的POS模式是由通過(guò)算法來(lái)選擇出塊共識(shí)節(jié)點(diǎn),多用于聯(lián)盟鏈和一些追求高TPS的新公鏈項(xiàng)目中。POS的特性是通過(guò)支持更小的出塊間隔來(lái)達(dá)到最優(yōu)的性能,但卻犧牲了部分的安全性與去中心化。

Bystack是一個(gè)基于主側(cè)鏈架構(gòu)的區(qū)塊鏈BaaS平臺(tái),將區(qū)塊鏈分為L(zhǎng)ayer1和Layer2兩層。

Layer1既比原鏈的主鏈,由POW算法保證最高級(jí)別的資產(chǎn)安全與去中心化。Layer1的TPS問(wèn)題則通過(guò)跨鏈技術(shù)將資產(chǎn)轉(zhuǎn)移到Layer2上來(lái)解決.

側(cè)鏈(既Layer2)使用創(chuàng)新的BBFT共識(shí)算法使單條側(cè)鏈的TPS達(dá)到20000以上,多條側(cè)鏈配合可使TPS線性增長(zhǎng)。

在未達(dá)到節(jié)點(diǎn)帶寬與性能瓶頸的前提下,TPS = 區(qū)塊交易數(shù) *每秒確認(rèn)的區(qū)塊數(shù)。由于區(qū)塊可以容納的最大交易數(shù)可以通過(guò)簡(jiǎn)單的修改代碼參數(shù)實(shí)現(xiàn),所以提高每秒確認(rèn)的區(qū)塊數(shù)就成了提高TPS的關(guān)鍵方式。如比原鏈的每個(gè)區(qū)塊最大可容納5500筆左右的交易,在主鏈上因?yàn)槠骄?50秒出一個(gè)塊的POW特性所以TPS是36.32.但上在側(cè)鏈如將每秒進(jìn)入最終確認(rèn)的區(qū)塊數(shù)提高到5個(gè)則可輕易的將TPS達(dá)到25000以上。

DPOS的問(wèn)題

傳統(tǒng)的DPOS共識(shí)算法如EOS已經(jīng)完全可以做到支持每秒2個(gè)區(qū)塊的出塊速度,但卻有一個(gè)等待最終確認(rèn)的問(wèn)題。
因?yàn)橐粋€(gè)傳統(tǒng)的DPOS區(qū)塊獲得最終確認(rèn)的依據(jù)是所有超級(jí)節(jié)點(diǎn)都在此塊之后出過(guò)至少一個(gè)子塊。這意味著假設(shè)有21個(gè)超級(jí)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)每輪出6個(gè)塊,平均每個(gè)出塊時(shí)間為0.5秒。那么一個(gè)區(qū)塊獲得最終確認(rèn)的時(shí)間需要60秒。

BFT的問(wèn)題

基于BFT的POS因?yàn)锽FT的特性所有每個(gè)塊在產(chǎn)出之后可以得到快速的最終確認(rèn),但是卻難以獲得較高的TPS.
原因是BFT每個(gè)區(qū)塊分為三個(gè)狀態(tài),產(chǎn)生,預(yù)最終狀態(tài)與最終確認(rèn)狀態(tài)。
狀態(tài)的改變是依靠收集到2/3節(jié)點(diǎn)的簽名,而簽名產(chǎn)生的效率依賴網(wǎng)絡(luò)的延遲。假設(shè)部分超級(jí)節(jié)點(diǎn)在美國(guó),部分在中國(guó)那么通信的延遲大約為200毫秒。
那一個(gè)區(qū)塊從產(chǎn)生到最終確認(rèn)至少需要600毫秒的限制。所以在BFT的共識(shí)算法中網(wǎng)絡(luò)延遲成為了高TPS的瓶頸。

DPOS BBFT共識(shí)算法

Bystack的共識(shí)算法是基于DPOS和BBFT算法特性的全新混合共識(shí)算法,
通過(guò)將出塊與BBFT簽名異步進(jìn)行的模式使得算法同時(shí)具有高TPS與快速最終確認(rèn)的特性。在BBFT共識(shí)算法由全網(wǎng)用戶投票選出n個(gè)共識(shí)節(jié)點(diǎn)進(jìn)行出塊。共識(shí)節(jié)輪流成為出塊節(jié)點(diǎn),當(dāng)成為出塊節(jié)點(diǎn)的共識(shí)節(jié)點(diǎn)將會(huì)以s秒一個(gè)塊的速度連續(xù)出m個(gè)區(qū)塊。當(dāng)區(qū)塊產(chǎn)生之后將直接廣播至全網(wǎng),
但出塊節(jié)點(diǎn)不會(huì)等待獲取2/3的其他共識(shí)節(jié)點(diǎn)簽名而是繼續(xù)在當(dāng)前塊的基礎(chǔ)上出下一個(gè)塊。此時(shí)當(dāng)前區(qū)塊已是合法區(qū)塊但是未獲得最終確認(rèn),類似于比特幣未獲得6個(gè)塊確認(rèn)存在回滾的可能性。當(dāng)其他共識(shí)節(jié)點(diǎn)收到區(qū)塊并且驗(yàn)證通過(guò)之后將會(huì)對(duì)區(qū)塊進(jìn)行簽名并廣播到全網(wǎng),當(dāng)一個(gè)區(qū)塊獲得超過(guò)2/3的簽名時(shí)就進(jìn)入了最終確認(rèn)狀態(tài)。

TPS

實(shí)現(xiàn)高TPS的核心點(diǎn)是每個(gè)共識(shí)節(jié)點(diǎn)連續(xù)出m個(gè)區(qū)塊。因?yàn)楫?dāng)每個(gè)節(jié)點(diǎn)只出一個(gè)塊的話那么下一個(gè)共識(shí)節(jié)點(diǎn)出塊需要等待上一個(gè)共識(shí)節(jié)點(diǎn)出的塊,這里就需要考慮一個(gè)網(wǎng)絡(luò)延遲帶來(lái)的問(wèn)題。如果把出塊間隔設(shè)置小于網(wǎng)絡(luò)延遲的,那會(huì)有大概率共識(shí)節(jié)點(diǎn)在出塊時(shí)未收到上一個(gè)塊造成分叉的狀態(tài)。但當(dāng)m設(shè)為一個(gè)稍大的數(shù)則可以將tps提升到帶寬與節(jié)點(diǎn)性能的極限。
假設(shè)當(dāng)m=20,
當(dāng)下一個(gè)共識(shí)節(jié)點(diǎn)出塊時(shí)因?yàn)榫W(wǎng)絡(luò)延遲未收到最后1個(gè)塊但卻收到了之前的19個(gè)塊,節(jié)點(diǎn)會(huì)接在上一輪第19個(gè)塊之后出塊。區(qū)塊鏈會(huì)進(jìn)入瞬間的分叉狀態(tài)但會(huì)根據(jù)最長(zhǎng)鏈原則在2個(gè)塊之后全網(wǎng)狀態(tài)統(tǒng)一。雖然損失了1個(gè)區(qū)塊的TPS,
但任保證了出塊間隔小于網(wǎng)絡(luò)延遲情況下的高出塊率。

異步BFT

在BBFT的設(shè)計(jì)中出塊與與共識(shí)節(jié)點(diǎn)的BFT簽名是并行進(jìn)行來(lái)抵消因網(wǎng)絡(luò)延遲收集BFT簽名對(duì)出塊效率的影響。但不同于經(jīng)典BFT算法中有產(chǎn)生,預(yù)最終狀態(tài)與最終確認(rèn)三個(gè)狀態(tài),
BBFT根據(jù)區(qū)塊鏈的特性改造使算法只有一個(gè)最終確認(rèn)狀態(tài)。
但添加了兩個(gè)額外的限制條件:第一個(gè)是當(dāng)一個(gè)共識(shí)節(jié)點(diǎn)對(duì)相同高度的兩個(gè)不同區(qū)塊進(jìn)行簽名既發(fā)生欺詐;第二個(gè)是當(dāng)一個(gè)共識(shí)節(jié)點(diǎn)對(duì)相同時(shí)間的兩個(gè)不同區(qū)塊進(jìn)行簽名既發(fā)生欺詐。通過(guò)這種方式的改造減少了共識(shí)節(jié)點(diǎn)之間的通信次數(shù),從而降低了區(qū)塊獲得最終確認(rèn)所花費(fèi)的時(shí)間。同時(shí)BBFT還有區(qū)塊獲得直接確認(rèn)與間接確認(rèn)兩種。第一種直接確認(rèn)既區(qū)塊獲得了超過(guò)2/3的共識(shí)節(jié)點(diǎn)簽名。第二種間接確認(rèn)是一個(gè)區(qū)塊未獲得2/3的共識(shí)節(jié)點(diǎn)簽名,但其子塊獲得了超過(guò)2/3共識(shí)節(jié)點(diǎn)的簽名,BBFT則會(huì)認(rèn)為此區(qū)塊間接的獲得了最終確認(rèn)的狀態(tài)。

容災(zāi)容錯(cuò)

  1. 支持只剩單共識(shí)節(jié)點(diǎn)存活的情況下支撐整個(gè)網(wǎng)絡(luò)的運(yùn)行到下一輪共識(shí)節(jié)點(diǎn)替換,但出塊速度會(huì)下降為正常情況的1/n.
    用戶可在此期間更改投票替換超級(jí)節(jié)點(diǎn),在下一輪共識(shí)節(jié)點(diǎn)替換時(shí)網(wǎng)絡(luò)既恢復(fù)正常狀態(tài)。

  2. 支持1/3的共識(shí)節(jié)點(diǎn)作惡的情況下網(wǎng)絡(luò)正常運(yùn)行,當(dāng)超過(guò)1/3的共識(shí)節(jié)點(diǎn)作惡區(qū)塊將長(zhǎng)時(shí)間不能進(jìn)入最終確認(rèn)功能直至網(wǎng)絡(luò)運(yùn)行到下一輪共識(shí)節(jié)點(diǎn)被替換。當(dāng)超過(guò)1/2的共識(shí)節(jié)點(diǎn)作惡,惡意節(jié)點(diǎn)將控制網(wǎng)絡(luò)。

BBFT共識(shí)出塊情景分析

以下案例假設(shè) n = 5, m = 3, s = 1,區(qū)塊高度 = 100,時(shí)間戳為= 1557148900, 

輪到3號(hào)共識(shí)節(jié)點(diǎn)準(zhǔn)備出第一個(gè)塊

完美狀態(tài) 

  1. 3號(hào)節(jié)點(diǎn)出高度為101, 時(shí)間戳為155714890區(qū)塊A,廣播至全網(wǎng)

  2. 區(qū)塊A得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

3.  3號(hào)節(jié)點(diǎn)出高度為102, 時(shí)間戳為155714891區(qū)塊B,廣播至全網(wǎng)

  1. 區(qū)塊B得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

5.  3號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714892區(qū)塊C,廣播至全網(wǎng)

  1. 區(qū)塊C得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

  2. 4號(hào)節(jié)點(diǎn)成功收到區(qū)塊A, B, C并都處于最終狀態(tài),在此鏈的基礎(chǔ)上繼續(xù)連續(xù)出

  3. 4號(hào)節(jié)點(diǎn)出高度為104, 時(shí)間戳為155714893區(qū)塊D,廣播至全網(wǎng)


達(dá)到毫秒級(jí)最終確認(rèn),無(wú)回滾發(fā)生, 只有在網(wǎng)絡(luò)延遲低與共識(shí)節(jié)點(diǎn)穩(wěn)定的時(shí)候產(chǎn)生

理想狀態(tài)

  1. 3號(hào)節(jié)點(diǎn)出高度為101, 時(shí)間戳為155714890區(qū)塊A,廣播至全網(wǎng)

  2. 3號(hào)節(jié)點(diǎn)出高度為102, 時(shí)間戳為155714891區(qū)塊B,廣播至全網(wǎng)

  3. 區(qū)塊A得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

4.  3號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714892區(qū)塊C,廣播至全網(wǎng)

  1. 區(qū)塊B得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

  2. 4號(hào)節(jié)點(diǎn)成功收到區(qū)塊A, B, C但只有A,
    B處于最終確認(rèn)狀態(tài),在此鏈的基礎(chǔ)上繼續(xù)連續(xù)出塊

  3. 4號(hào)節(jié)點(diǎn)出高度為104, 時(shí)間戳為155714893區(qū)塊D,廣播至全網(wǎng)

  4. 區(qū)塊C得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)


達(dá)到秒級(jí)最終確認(rèn),無(wú)回滾發(fā)生,但因收集共識(shí)節(jié)點(diǎn)對(duì)區(qū)塊的確認(rèn)簽名,導(dǎo)致最終確認(rèn)的延遲。
但由于所有區(qū)塊已成功傳遞到下一個(gè)出塊共識(shí)節(jié)點(diǎn),所以不影響出塊

出塊共識(shí)節(jié)點(diǎn)異常狀態(tài)

  1. 時(shí)間戳為155714890, 無(wú)新塊產(chǎn)生

  2. 時(shí)間戳為155714891, 無(wú)新塊產(chǎn)生

  3. 時(shí)間戳為155714892, 無(wú)新塊產(chǎn)生

  4. 4號(hào)節(jié)點(diǎn)未收到任何區(qū)塊,輪到挖礦后出高度為101,
    時(shí)間戳為155714893區(qū)塊A廣播至全網(wǎng)

  5. 區(qū)塊A得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)


達(dá)到秒級(jí)最終確認(rèn),無(wú)回滾發(fā)生,因共識(shí)節(jié)點(diǎn)down機(jī)導(dǎo)致全網(wǎng)3秒內(nèi)無(wú)節(jié)點(diǎn)出塊。造成的影響是減慢了全網(wǎng)的出塊速度,當(dāng)單節(jié)點(diǎn)長(zhǎng)期down機(jī)需要等待下一次投票時(shí)重新選出新一輪的共識(shí)節(jié)點(diǎn)可修復(fù)

網(wǎng)絡(luò)延遲異常1

  1. 3號(hào)節(jié)點(diǎn)出高度為101, 時(shí)間戳為155714890區(qū)塊A,廣播至全網(wǎng)

  2. 區(qū)塊A得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

3.  3號(hào)節(jié)點(diǎn)出高度為102, 時(shí)間戳為155714891區(qū)塊B,廣播至全網(wǎng)

  1. 區(qū)塊B得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

5.  3號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714892區(qū)塊C,廣播至全網(wǎng)

  1. 區(qū)塊C得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

  2. 4號(hào)節(jié)點(diǎn)成功收到區(qū)塊A, B但C區(qū)塊由于延遲問(wèn)題暫未收到

  3. 4號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714893區(qū)塊D,廣播至全網(wǎng)

  4. 由于2/3的共識(shí)節(jié)點(diǎn)已最終確認(rèn)區(qū)塊C, D無(wú)法獲得最終確認(rèn)

  5. 4號(hào)節(jié)點(diǎn)收到區(qū)塊C與C的最終確認(rèn)信息, 回滾區(qū)塊D, 切換鏈至區(qū)塊C

  6. 4號(hào)節(jié)點(diǎn)出高度為104, 時(shí)間戳為155714894區(qū)塊E,廣播至全網(wǎng)

  7. 區(qū)塊E得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)


達(dá)到秒級(jí)最終確認(rèn),有回滾在所有沒(méi)收到區(qū)塊C的節(jié)點(diǎn)中發(fā)生,造成的影響是減慢了1個(gè)塊的出塊速度

網(wǎng)絡(luò)延遲異常2

  1. 3號(hào)節(jié)點(diǎn)出高度為101, 時(shí)間戳為155714890區(qū)塊A,廣播至全網(wǎng)

  2. 區(qū)塊A得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

3.  3號(hào)節(jié)點(diǎn)出高度為102, 時(shí)間戳為155714891區(qū)塊B,廣播至全網(wǎng)

  1. 區(qū)塊B得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

5.  3號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714892區(qū)塊C,廣播至全網(wǎng)

  1. 4號(hào)節(jié)點(diǎn)成功收到區(qū)塊A, B但C區(qū)塊由于延遲問(wèn)題暫未收到

  2. 4號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714893區(qū)塊D,廣播至全網(wǎng)

  3. 區(qū)塊D得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

  4. 3號(hào)節(jié)點(diǎn)收到區(qū)塊D與D的最終確認(rèn)信息, 回滾區(qū)塊C, 切換鏈至區(qū)塊D

  5. 4號(hào)節(jié)點(diǎn)出高度為104, 時(shí)間戳為155714894區(qū)塊E,廣播至全網(wǎng)

  6. 區(qū)塊E得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)


達(dá)到秒級(jí)最終確認(rèn),有回滾在所有認(rèn)同區(qū)塊C的節(jié)點(diǎn)中發(fā)生,造成的影響是減慢了1個(gè)塊的出塊速度

網(wǎng)絡(luò)延遲異常3 

  1. 3號(hào)節(jié)點(diǎn)出高度為101, 時(shí)間戳為155714890區(qū)塊A,廣播至全網(wǎng)

  2. 區(qū)塊A得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

3.  3號(hào)節(jié)點(diǎn)出高度為102, 時(shí)間戳為155714891區(qū)塊B,廣播至全網(wǎng)

  1. 區(qū)塊B得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

5.  3號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714892區(qū)塊C,廣播至全網(wǎng)

  1. 4號(hào)節(jié)點(diǎn)成功收到區(qū)塊A, B但C區(qū)塊由于延遲問(wèn)題暫未收到

  2. 4號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714893區(qū)塊D,廣播至全網(wǎng)

  3. 區(qū)塊D得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

  4. 3號(hào)節(jié)點(diǎn)收到區(qū)塊D與D的最終確認(rèn)信息, 回滾區(qū)塊C, 切換鏈至區(qū)塊D

  5. 4號(hào)節(jié)點(diǎn)出高度為104, 時(shí)間戳為155714894區(qū)塊E,廣播至全網(wǎng)

  6. 區(qū)塊E得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)


達(dá)到秒級(jí)最終確認(rèn),有回滾在所有認(rèn)同區(qū)塊C的節(jié)點(diǎn)中發(fā)生,造成的影響是減慢了1個(gè)塊的出塊速度

網(wǎng)絡(luò)延遲異常4 

  1. 3號(hào)節(jié)點(diǎn)出高度為101, 時(shí)間戳為155714890區(qū)塊A,廣播至全網(wǎng)

  2. 區(qū)塊A得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

3.  3號(hào)節(jié)點(diǎn)出高度為102, 時(shí)間戳為155714891區(qū)塊B,廣播至全網(wǎng)

  1. 區(qū)塊B得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

5.  3號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714892區(qū)塊C,廣播至全網(wǎng)

  1. 4號(hào)節(jié)點(diǎn)成功收到區(qū)塊A, B但C區(qū)塊由于延遲問(wèn)題暫未收到

  2. 4號(hào)節(jié)點(diǎn)出高度為103, 時(shí)間戳為155714893區(qū)塊D,廣播至全網(wǎng)

  3. 區(qū)塊C, D各獲得50%的共識(shí)節(jié)點(diǎn)投票,網(wǎng)絡(luò)進(jìn)入分叉狀態(tài)

  4. 4號(hào)節(jié)點(diǎn)出高度為104, 時(shí)間戳為155714894區(qū)塊E,廣播至全網(wǎng)

  5. 區(qū)塊E得到超過(guò)2/3的節(jié)點(diǎn)確認(rèn),進(jìn)入最終確認(rèn)狀態(tài)

  6. 4號(hào)節(jié)點(diǎn)出高度為105, 時(shí)間戳為155714895區(qū)塊E,廣播至全網(wǎng)


達(dá)到秒級(jí)最終確認(rèn)(極端情況分鐘級(jí)發(fā)生概率和比特幣回滾6區(qū)塊差不多),有回滾在所有認(rèn)同區(qū)塊C的節(jié)點(diǎn)中發(fā)生,造成的影響是減慢了1個(gè)塊的出塊速度.
此異常情況的極限狀態(tài)是兩條鏈各站約50%的算力并且發(fā)生持續(xù)競(jìng)爭(zhēng),直到稍占共識(shí)優(yōu)勢(shì)的鏈先進(jìn)入了了最終確認(rèn)狀態(tài)。

參數(shù)對(duì)網(wǎng)絡(luò)的影響

1.
共識(shí)節(jié)點(diǎn)的個(gè)數(shù)其實(shí)代表了區(qū)塊鏈網(wǎng)絡(luò)的容錯(cuò)率,n越大則單點(diǎn)故障對(duì)網(wǎng)絡(luò)造成的影響越小。但n的數(shù)量增大會(huì)導(dǎo)致BFT對(duì)區(qū)塊簽名數(shù)量要求的增加,會(huì)消耗更多的資源與延緩區(qū)塊進(jìn)入最終確認(rèn)狀態(tài)所需要的時(shí)間

2.
每個(gè)節(jié)點(diǎn)連續(xù)出塊的個(gè)數(shù)是為了在考慮到網(wǎng)絡(luò)延遲的情況下仍可以保證高速出塊的方法。
當(dāng)連續(xù)出塊個(gè)數(shù)足夠時(shí)出塊時(shí)間理論上可達(dá)毫秒級(jí)。核心點(diǎn)就是當(dāng)下一個(gè)出塊共識(shí)節(jié)點(diǎn)有網(wǎng)絡(luò)延遲未收到最后的3個(gè)區(qū)塊,但之前的m-3個(gè)區(qū)已收到,可在m-3基礎(chǔ)上繼續(xù)出塊。但m過(guò)大會(huì)導(dǎo)致單共識(shí)節(jié)點(diǎn)故障時(shí)長(zhǎng)時(shí)間不出塊

3.
出塊間隔時(shí)間明面上是高tps的保證,理論上當(dāng)出塊間隔為200毫秒時(shí)比Bytom的tps可達(dá)25000。但s設(shè)置的過(guò)小可能導(dǎo)致區(qū)塊最終確認(rèn)時(shí)間的延長(zhǎng)。

以上就是Bystack的高TPS共識(shí)算法是怎么樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI