——本文原理部分為引用,已注明來源;計(jì)算部分為原創(chuàng)
——如需要轉(zhuǎn)載或引用本文,請注明本文標(biāo)題、作者姓名、網(wǎng)址來源

BCC是BCH原鏈,BCH是從BCC硬分叉得到的鏈條。
BCC和BCH同樣采用EDA機(jī)制,用于平衡出塊難度,保持礦工參與挖礦的積極性。
1.EDA機(jī)制概述
EDA機(jī)制是BCH(比特幣現(xiàn)金)在啟動分叉時(shí)能夠成功持續(xù)出塊的關(guān)鍵技術(shù),也是BCH原鏈BCC能夠持續(xù)出塊的關(guān)鍵原因。
采用EDA機(jī)制的理由如下:
1)BCH復(fù)制了分叉前的比特幣區(qū)塊數(shù)據(jù),區(qū)塊中包含了相同難度系數(shù);
2)難度系數(shù)很高,除非30%以上的比特幣算力挖BCH,否則出塊困難;
3)為了降低巨大的算力成本,通過EDA機(jī)制,可以讓難度迅速下降,在低算力下實(shí)現(xiàn)出塊。
2.EDA的運(yùn)行機(jī)理
EDA原理:連續(xù)六個塊出塊時(shí)間差超過12個小時(shí),難度系數(shù)下降20%(即×0.8)
觸發(fā)難度下降的時(shí)間差計(jì)算,并非由區(qū)塊的時(shí)間戳決定,而是由區(qū)塊的時(shí)間戳中位時(shí)間MTP(median time)決定,計(jì)算過程如下:
MTP為本區(qū)塊之前的(含本區(qū)塊)連續(xù)11個區(qū)塊的中間區(qū)塊的時(shí)間(即第6個區(qū)塊)
MTP1 = 當(dāng)前區(qū)塊的MTP時(shí)間
MTP2 =(當(dāng)前區(qū)塊高度-6)的MTP時(shí)間
如果(MTP1-MTP2)> 12個小時(shí),則難度系數(shù)下降20%,在生成下一個區(qū)塊時(shí)觸發(fā)下降。
因?yàn)槭腔贛TP計(jì)算時(shí)間間隔,難度的下調(diào)會有一定的滯后性,比如說,有1個塊在上一個塊的12小時(shí)之后產(chǎn)生,包含這個塊在內(nèi)的連續(xù)6個塊,都不會觸發(fā)難度下降,而在第7~12個塊,每一個塊都會下降20%,在12個塊難度系數(shù)下降為原來的26%(0.8^6=0.26=26%)。
EDA機(jī)制還有以下特點(diǎn):
1)EDA下降難度系數(shù)是單向的,也就是在一個(2016塊)周期內(nèi)只降不升。
2)在一個(2016塊)周期內(nèi)可以無限次觸發(fā)難度下降。
3)2016個塊的難度調(diào)整以最后1個塊的難度為基數(shù),上調(diào)最高系數(shù)為400%(比特幣固有機(jī)制)
因?yàn)檫@些特點(diǎn),礦工如果采取統(tǒng)一行動可以,先降低算力,使間隔超過12個小時(shí),之后自動觸發(fā)讓區(qū)塊難度不斷下降,然后加大算力,在幾天、幾小時(shí)內(nèi)挖完2016個塊。這個實(shí)驗(yàn)在BCC上不斷被驗(yàn)證,甚至出現(xiàn)了幾分鐘挖完2016個塊的情況(這方面的情況會在BCH原鏈出塊歷史報(bào)告中進(jìn)一步研究)。
附: 9月BCC觸發(fā)EDA的原理和計(jì)算過程
截止目前,9月一共發(fā)生3輪EDA的觸發(fā),發(fā)生的區(qū)塊高度如下:
高度為586945的區(qū)塊,本輪為單次觸發(fā)EDA;
高度為590698至590700的區(qū)塊,本輪是連續(xù)3次觸發(fā)EDA;
高度為590804至590806的區(qū)塊,本輪是連續(xù)3次觸發(fā)EDA;
區(qū)塊586945觸發(fā)EDA的原理、計(jì)算過程
對于高度586945的EDA觸發(fā),我們標(biāo)注上相關(guān)區(qū)塊的難度值、高度、時(shí)間戳等信息,如下圖所示:

由于難度觸發(fā)是在下一個區(qū)塊發(fā)生,所以通過對區(qū)塊586944的時(shí)間差分析,可以判斷區(qū)塊586945是否觸發(fā)EDA,引用第2部分中的定義和公式,可以得到計(jì)算過程如下:
MTP1 = 區(qū)塊586944的中位時(shí)間 = 區(qū)塊586939的時(shí)間戳
MTP2 = 區(qū)塊586938的中位時(shí)間 = 區(qū)塊586933的時(shí)間戳
MTP1 - MTP2 = 24 + (0:25 - 11:39) = 12小時(shí)46分 > 12小時(shí)
根據(jù)以上計(jì)算,判斷出區(qū)塊586945將觸發(fā)EDA。
而上一個區(qū)塊586944的難度值是19.15億。
所以區(qū)塊586945的難度值將調(diào)整為:19.15億 × (1-20%) = 15.32億。
區(qū)塊590698至590700觸發(fā)EDA的原理、計(jì)算過程
對于高度590698至590700的EDA觸發(fā),我們標(biāo)注上相關(guān)區(qū)塊的難度值、高度、時(shí)間戳等信息,如下圖所示:

通對過區(qū)塊590697、590698、590699的時(shí)間差分析,可以判斷區(qū)塊590698、590699、590700是否觸發(fā)EDA,引用第2部分中的定義和公式,可以得到計(jì)算過程如下:
首先分析判斷590698是否觸發(fā)EDA,
MTP1 = 區(qū)塊590697的中位時(shí)間 = 區(qū)塊590692的時(shí)間戳
MTP2 = 區(qū)塊590691的中位時(shí)間 = 區(qū)塊590686的時(shí)間戳
MTP1 - MTP2 = 24 + (7:44 - 18:04) = 13小時(shí)40分 > 12小時(shí)
根據(jù)以上計(jì)算,判斷出區(qū)塊590698將觸發(fā)EDA。
而上一個區(qū)塊590697的難度值是53.65億。
所以區(qū)塊590698的難度值將調(diào)整為:53.55億 × (1-20%) = 42.92億。
再來分析590699是否觸發(fā)EDA,
MTP1 = 區(qū)塊590698的中位時(shí)間 = 區(qū)塊590693的時(shí)間戳
MTP2 = 區(qū)塊590692的中位時(shí)間 = 區(qū)塊590687的時(shí)間戳
MTP1 - MTP2 = 24 + (7:47 - 18:07) = 13小時(shí)40分 > 12小時(shí)
根據(jù)以上計(jì)算,判斷出區(qū)塊590699將觸發(fā)EDA。
而上一個區(qū)塊590698的難度值是42.92億。
所以區(qū)塊590699的難度值將調(diào)整為:42.92億 × (1-20%) = 34.34億。
類似地,重復(fù)上述計(jì)算過程,可以判斷出區(qū)塊590700將觸發(fā)EDA,它的難度值將調(diào)整為27.47億。
區(qū)塊590804至590806觸發(fā)EDA的原理、計(jì)算過程
對于高度590804至590806的EDA觸發(fā),我們標(biāo)注上相關(guān)區(qū)塊的難度值、高度、時(shí)間戳等信息,如下圖所示:

這一輪EDA的連續(xù)觸發(fā)和590698-590700情況類似,讀者可按上面計(jì)算實(shí)例自行驗(yàn)算和推導(dǎo)。
筆者計(jì)算結(jié)果為:590804至590806都會觸發(fā)EDA,它們各自的難度值將分別調(diào)整為 21.98億、17.58億和14.06億。
如本月后續(xù)還有EDA觸發(fā),會及時(shí)更新到本文。
參考
圖片來源:
https://busy.org/@jakson/bitcoincash-calculator-and-profitable-pc-software-tool-with-earn-daily-bch-coin
文字來源:
https://bitcoincashcn.github.io/2019/05/22/bcc-eda/
END

——本文原理部分為引用,已注明來源;計(jì)算部分為原創(chuàng)
——如需要轉(zhuǎn)載或引用本文,請注明本文標(biāo)題、作者姓名、網(wǎng)址來源