BCH分片技術(shù) by Bitcoin ABC Shammah Chancellor

Rawpool BCH Lab?出品?2018.09.10

聯(lián)合譯者:Lise,Wendy


Bitcoin ABC開發(fā)人員Shammah Chancellor于2018年9月6日發(fā)表了一篇題為《Sharding Bitcoin Cash》的文章,Lise和Wendy將這篇文章翻譯成了中文炊豪,供大家品讀。

BCH分片技術(shù)

當(dāng)論述比特幣如何根據(jù)未來(lái)的應(yīng)用擴(kuò)大而擴(kuò)容時(shí)筒愚,摩爾定律通常作為論據(jù)之一。確實(shí),摩爾定律確實(shí)對(duì)于一些晶體管時(shí)代是適用的,但我們也注意到般眉,由于物理上的局限,單核CPU的處理速度并未提升潜支,CPU的廠商反而增加了內(nèi)核數(shù)量用于進(jìn)行平行運(yùn)算甸赃。

這意味著比特幣為了迎合摩爾定律,區(qū)塊構(gòu)建和驗(yàn)證必須采用額外的CPU內(nèi)核冗酿。為了將額外的內(nèi)核有效加以利用辑奈,我們必須將數(shù)據(jù)進(jìn)行局部化處理,這一組織數(shù)據(jù)進(jìn)行局部化處理的流程就是分片技術(shù)(sharding)已烤。

但目前比特幣所采用的數(shù)據(jù)結(jié)構(gòu)中鸠窗,區(qū)塊頭中的Merkle根阻礙了數(shù)據(jù)被局部化處理。通過(guò)規(guī)范排序(CTOR)改變Merkle根運(yùn)算的順序胯究,才能實(shí)現(xiàn)數(shù)據(jù)的分片化處理稍计。比如區(qū)塊中有4筆交易,如果我們將交易的哈希值(交易ID)按順序排列裕循,這一新的Merkle根將按照如下方式計(jì)算(TX_A HASH < TX_B HASH臣嚣,從左至右,以此類推)剥哑。值得注意的是硅则,對(duì)于Merkle的驗(yàn)證這種新的排序方法與過(guò)去的方法一樣安全。

如果按照CTOR(交易規(guī)范排序)將交易歸類株婴,可以采用兩個(gè)獨(dú)立的算法來(lái)計(jì)算子樹B和子樹C的哈希值怎虫,運(yùn)算結(jié)果可以返回聚合器生成子樹A,并依次與幣基交易哈希值結(jié)合困介,為區(qū)塊模板生成一個(gè)有效的Merkle根大审。

目前,區(qū)塊的Merkle根必須按照TTOR(交易拓?fù)漤樞颍┡帕械慕灰琢斜磉\(yùn)算(正在進(jìn)行中交易排在已達(dá)成交易之后)座哩,但分片技術(shù)必須根據(jù)前后一致的分類對(duì)數(shù)據(jù)進(jìn)行維護(hù)徒扶。在分片系統(tǒng)中由于可能的數(shù)據(jù)局部化而造成的不匹配,以及子樹哈希值必須計(jì)算的數(shù)據(jù)集根穷,未經(jīng)過(guò)大量的同步姜骡,單個(gè)分片就無(wú)法預(yù)先運(yùn)算子樹哈希值导坟。為了解決這一問(wèn)題,須組織Merkle?樹圈澈,使其成為單個(gè)分片可以計(jì)算的子樹哈希值集合惫周,從而進(jìn)行運(yùn)算。

哈希值標(biāo)準(zhǔn)化交易排序的另一有用特性是:內(nèi)存池對(duì)交易的接收也可以在多個(gè)進(jìn)程間應(yīng)用分片技術(shù)士败。這可以通過(guò)在多個(gè)內(nèi)存池處理器前面放置多個(gè)交易“路由器”來(lái)實(shí)現(xiàn)闯两。

在這種結(jié)構(gòu)中,路由器1和路由器2可以在同一分類中向以前達(dá)成的內(nèi)存池接受器發(fā)送交易谅将。采用類似的方法漾狼,內(nèi)存池接受器可以相互查詢,還可以查詢UTXO數(shù)據(jù)庫(kù)饥臂,從而保證母交易存在并可以使用逊躁。

隨著內(nèi)存池在多個(gè)進(jìn)程間被分片,API請(qǐng)求處理器可以處理各個(gè)Merkle子樹的哈希值隅熙。如圖(1)所示稽煤,我們可以向子樹B和子樹C提出請(qǐng)求,之后不斷將它們聚合到Merkle根中囚戚。

為了構(gòu)建以上結(jié)構(gòu)中的節(jié)點(diǎn)酵熙,區(qū)塊鏈中的基本數(shù)據(jù)結(jié)構(gòu)必須率先就位。在適用于運(yùn)算Merkle根的分片數(shù)據(jù)結(jié)構(gòu)建立之前驰坊,不能輕易利用分片技術(shù)編寫軟件匾二。標(biāo)準(zhǔn)化交易排序應(yīng)先于任何此類軟件的創(chuàng)建。

這就是ABC目前倡導(dǎo)這些變革的原因所在拳芙,我們必須為未來(lái)的需求做好準(zhǔn)備察藐,這意味著我們現(xiàn)在就要開始著手,打造能夠處理極大區(qū)塊的節(jié)點(diǎn)舟扎。這項(xiàng)任務(wù)可謂任重而道遠(yuǎn)分飞,要花費(fèi)數(shù)年時(shí)間才能完成。

有些人提出讓ABC制定行之有效的優(yōu)化性能標(biāo)準(zhǔn)睹限,正如前面提到的譬猫,必須首先編寫出相應(yīng)的軟件才能確立這樣的標(biāo)準(zhǔn)。由于這一進(jìn)程要耗時(shí)數(shù)年邦泄,標(biāo)準(zhǔn)不能建立删窒,必須在策劃之前就開展真正的工程設(shè)計(jì)。對(duì)于工程設(shè)計(jì)工作的簡(jiǎn)述已在前面闡明了顺囊。

為了支持協(xié)議的順暢升級(jí),目前版本必須能夠產(chǎn)生及驗(yàn)證兩種類型的區(qū)塊蕉拢,其結(jié)果是區(qū)塊模板的生成變慢特碳,對(duì)驗(yàn)證產(chǎn)生一些較小影響诚亚。由于在初始的拓?fù)浞诸惡螅枰獙?duì)交易重新分類午乓,事實(shí)上當(dāng)前的Bitcoin?ABC v0.18.0?版本生成區(qū)塊模板的速度略有下降站宗,這是有意而為之,并且這一問(wèn)題在CTO之后重構(gòu)代碼并且Merklix樹最終被激活后能夠得到解決益愈。

如果BCH希望根據(jù)摩爾定律可擴(kuò)容梢灭,就不一定非要選擇分片技術(shù)。但是蒸其,單個(gè)CPU的速度不會(huì)明顯變快敏释,單靠專門的硬件無(wú)法解決擴(kuò)容問(wèn)題,因此協(xié)議必須向節(jié)點(diǎn)推進(jìn)能夠?qū)崿F(xiàn)水平擴(kuò)容的軟件摸袁,因?yàn)榇怪睌U(kuò)容對(duì)于大小約1GB左右的區(qū)塊就行不通了钥顽。并且,水平擴(kuò)容是針對(duì)比特幣一層的靠汁,礦工們可以在全球范圍內(nèi)收取交易手續(xù)費(fèi)蜂大,比特幣的激勵(lì)機(jī)制也必然將會(huì)維持下去。

感謝閱讀蝶怔。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末奶浦,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子踢星,更是在濱河造成了極大的恐慌澳叉,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斩狱,死亡現(xiàn)場(chǎng)離奇詭異耳高,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)所踊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門泌枪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人秕岛,你說(shuō)我怎么就攤上這事碌燕。” “怎么了继薛?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵修壕,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我遏考,道長(zhǎng)慈鸠,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任灌具,我火速辦了婚禮青团,結(jié)果婚禮上譬巫,老公的妹妹穿的比我還像新娘。我一直安慰自己督笆,他們只是感情好芦昔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著娃肿,像睡著了一般咕缎。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上料扰,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天凭豪,我揣著相機(jī)與錄音,去河邊找鬼记罚。 笑死墅诡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的桐智。 我是一名探鬼主播末早,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼说庭!你這毒婦竟也來(lái)了然磷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤刊驴,失蹤者是張志新(化名)和其女友劉穎姿搜,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捆憎,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舅柜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了躲惰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片致份。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖础拨,靈堂內(nèi)的尸體忽然破棺而出氮块,到底是詐尸還是另有隱情,我是刑警寧澤诡宗,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布滔蝉,位于F島的核電站,受9級(jí)特大地震影響塔沃,放射性物質(zhì)發(fā)生泄漏蝠引。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望立肘。 院中可真熱鬧边坤,春花似錦名扛、人聲如沸谅年。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)融蹂。三九已至,卻和暖如春弄企,著一層夾襖步出監(jiān)牢的瞬間超燃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工拘领, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留意乓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓约素,卻偏偏與公主長(zhǎng)得像届良,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子圣猎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 簡(jiǎn)介 目前士葫,在所有的區(qū)塊鏈協(xié)議中每個(gè)節(jié)點(diǎn)存儲(chǔ)所有的狀態(tài)(賬戶余額,合約代碼和存儲(chǔ)等等)并且處理所有的交易送悔。這提供了...
    編程狂魔閱讀 1,016評(píng)論 0 3
  • 譯者序 本文最初是我應(yīng)以太坊中文社區(qū)(Ethfans.org)之邀做的翻譯稿慢显,原文取自以太坊社區(qū)的 shardin...
    風(fēng)靜縠紋平閱讀 6,562評(píng)論 0 6
  • I am going to burst by shame , this unstoppable f...
    稻草人等風(fēng)閱讀 231評(píng)論 0 0
  • 2016年,一個(gè)叫papi醬的網(wǎng)紅火了欠啤。先是因?yàn)槎桃曨l內(nèi)容新穎 逗人哈哈大笑而火荚藻,接著拉到了2000萬(wàn)的投資,又火...
    Panda盼子閱讀 240評(píng)論 1 1
  • 這個(gè)導(dǎo)圖洁段,我是按照練習(xí)应狱,作業(yè)和作業(yè)三和部分組成。
    李程閱讀 172評(píng)論 0 0