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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

区块链共识笔记 --- POW 难度计算(ethereum)

發布時間:2024/5/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 区块链共识笔记 --- POW 难度计算(ethereum) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從前一節對區塊鏈先驅bitcoin的POW分析,挖礦的本質就是求解一個謎題,給定一個難度(difficulty),他可以動態變化,他決定了難題的題解空間,用窮舉的方式,再題解空間中找到解決謎題的解。

以太坊的難度計算公式是

翻譯一下就是:

blockDiff = parentDiff + parentDiff / 2048 * max(1 - (blockTimestamp - parentTimestamp)/9, -99) +??2^((blockNumer - 3000000) / 100000 -2)

難度計算對應到以太坊源碼:

ChainOperationParams::ChainOperationParams():m_blockReward("0x4563918244F40000"),minGasLimit(0x1388),maxGasLimit("0x7fffffffffffffff"),gasLimitBoundDivisor(0x0400),networkID(0x0),minimumDifficulty(0x020000), // 131072difficultyBoundDivisor(0x0800), //2048durationLimit(0x0d) // 13 { } u256 calculateEthashDifficulty(ChainOperationParams const& _chainParams, BlockHeader const& _bi, BlockHeader const& _parent) {const unsigned c_expDiffPeriod = 100000;if (!_bi.number())throw GenesisBlockCannotBeCalculated(); //創世區塊不計算auto const& minimumDifficulty = _chainParams.minimumDifficulty; //即創世區塊難度131072auto const& difficultyBoundDivisor = _chainParams.difficultyBoundDivisor;//2048auto const& durationLimit = _chainParams.durationLimit;//13bigint target; // stick to a bigint for the target. Don't want to risk going negative.//以太坊有不同的發展階段,不同的發展階段適用的難度調整方案不同if (_bi.number() < _chainParams.homesteadForkBlock)// Frontier-era difficulty adjustment// Frontier階段,難度調整是父區塊難度+/- 父區塊難度/2048target = _bi.timestamp() >= _parent.timestamp() + durationLimit ?_parent.difficulty() - (_parent.difficulty() / difficultyBoundDivisor) :(_parent.difficulty() + (_parent.difficulty() / difficultyBoundDivisor));else{//當前區塊與父區塊的時間差bigint const timestampDiff = bigint(_bi.timestamp()) - _parent.timestamp();// 動態平衡調節因子,Homestead階段和Byzantium階段不同,Byantium階段比配到了協議中的公式bigint const adjFactor =_bi.number() < _chainParams.byzantiumForkBlock ?max<bigint>(1 - timestampDiff / 10, -99) : // Homestead-era difficulty adjustmentmax<bigint>((_parent.hasUncles() ? 2 : 1) - timestampDiff / 9,-99); // Byzantium-era difficulty adjustmenttarget = _parent.difficulty() + _parent.difficulty() / 2048 * adjFactor;}bigint o = target;unsigned exponentialIceAgeBlockNumber = unsigned(_parent.number() + 1);// EIP-1234 Constantinople Ice Age delayif (_bi.number() >= _chainParams.constantinopleForkBlock){if (exponentialIceAgeBlockNumber >= 5000000)exponentialIceAgeBlockNumber -= 5000000;elseexponentialIceAgeBlockNumber = 0;}// EIP-649 Byzantium Ice Age delayelse if (_bi.number() >= _chainParams.byzantiumForkBlock){if (exponentialIceAgeBlockNumber >= 3000000)exponentialIceAgeBlockNumber -= 3000000;elseexponentialIceAgeBlockNumber = 0;}unsigned periodCount = exponentialIceAgeBlockNumber / c_expDiffPeriod;//難度符號加到最后的難度值上if (periodCount > 1)o += (bigint(1) << (periodCount - 2)); // latter will eventually become huge, so ensure// it's a bigint.o = max<bigint>(minimumDifficulty, o);return u256(min<bigint>(o, std::numeric_limits<u256>::max())); }

對于不同的以太坊階段,有不同的難度調整算法,Byzantium階段匹配了協議中的算法

總結

以上是生活随笔為你收集整理的区块链共识笔记 --- POW 难度计算(ethereum)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产麻豆一级片 | 国产三级在线看 | 99久久久无码国产精品性色戒 | 在线成人免费 | 日本美女日批视频 | 天堂色网 | 污动漫网站| 国产精品性 | 国产一级片中文字幕 | 国产精品久久久久影院老司 | 色成人综合网 | hd性videos意大利精品 | 国产人妖ts重口系列网站观看 | 91最新入口 | 91免费视频免费版 | 李宗瑞91在线正在播放 | 国产成人免费看 | 又色又爽又黄 | 伊人网av在线| 中文字幕第八页 | 亚洲一级二级片 | 午夜精品国产 | 欧美片免费网站 | 精品99999| 亚洲成人看片 | 五月婷婷狠狠干 | 西西久久 | 天天爽夜夜 | 99热8 | www.色哟哟 | 欧美黄色三级视频 | 噜噜狠狠狠狠综合久久 | 国产同性人妖ts口直男 | 青青草华人在线视频 | 无套内谢的新婚少妇国语播放 | 丝袜老师让我了一夜网站 | 美日韩久久 | 国产真实老熟女无套内射 | 中文一区二区在线播放 | 五月深爱网 | 国产精品theporn动漫 | 亚色视频在线观看 | 男女视频免费观看 | 17c在线观看视频 | 差差差30分钟 | 亚洲伊人av | 黄色免费在线播放 | 黑人性生活视频 | 亚洲在线天堂 | 五月天婷婷色综合 | www视频在线免费观看 | 中文字幕日韩视频 | 久久性精品 | 污污内射久久一区二区欧美日韩 | 中文字幕成人在线观看 | 亚洲视频一区二区三区四区 | 日韩污视频在线观看 | 男女污污视频在线观看 | 国产成人亚洲综合a∨婷婷 台湾a级片 | 久久精品店 | 亚洲av成人无码网天堂 | 国产精品mm | 名人明星三级videos | 日韩在线激情视频 | 精品蜜桃一区二区三区 | 日本 奴役 捆绑 受虐狂xxxx | 久久久国产精品成人免费 | 国产白嫩美女无套久久 | 日韩黄色片网站 | 91嫩草精品 | 电影91久久久 | 美女色网站 | 黑人玩弄人妻一区二区三区影院 | 快播色图 | 日韩av无码一区二区三区 | 伊人色图| 久久精品性 | 免费中文视频 | 你懂的在线观看网站 | 天天干狠狠干 | 国产一级二级三级 | 国产三区四区视频 | 国产免费二区 | 国产剧情在线一区 | 欧美性生活网站 | 狠狠爱综合 | 久久在线视频免费观看 | 亚洲永久无码精品 | 在线免费黄| 久久综合av | 老女人性视频 | 久久狠 | 色综合天天射 | 波多野结衣在线视频播放 | 五月激情六月丁香 | 国色天香一区二区 | 美女隐私无遮挡 | 欧美粗暴se喷水 | 色牛av|