导航:首页 > 比特币区 > 比特币有哪些共识机制

比特币有哪些共识机制

发布时间:2024-12-18 23:08:24

❶ 姣旂壒甯佺殑鎸栫熆鍒板簳鎸栫殑鏄浠涔

姣旂壒甯佺殑鎸栫熆鏄涓绉嶉氳繃姣旂壒甯佺綉缁滅殑鍏辫瘑鏈哄埗鈥斺斿伐浣滈噺璇佹槑锛圥oW锛夋潵鑾峰緱姣旂壒甯佺殑杩囩▼銆傚湪杩欎釜杩囩▼涓锛岀熆宸ヤ滑闇瑕佽В鍐冲嶆潅鐨勬暟瀛﹂棶棰橈紝绗涓涓瑙e喅闂棰樼殑鐭垮伐灏嗚幏寰楁柊鐢熸垚姣旂壒甯佷綔涓哄栧姳銆傝繖绉嶅栧姳鍖呮嫭涓ら儴鍒嗭細鍖哄潡濂栧姳鍜屼氦鏄撹垂銆傚綋鍓嶆瘮鐗瑰竵浠锋牸绾︿负3900缇庡厓鏃讹紝鎸栧埌涓涓鍖哄潡鐨勭熆宸ュ彲鑾峰緱澶х害48750缇庡厓鐨勫尯鍧楀栧姳鍜6000缇庡厓鐨勪氦鏄撹垂锛屾昏$害54750缇庡厓銆
姣旂壒甯佹寲鐭跨殑鍘熺悊绫讳技浜庝竴涓鏉戝簞鐨勫喅绛栬繃绋嬨傚湪杩欎釜鏉戝簞涓锛屾潙闀块氳繃涓绉嶇壒娈婄殑鏂瑰紡璁╂潙姘戣揪鎴愬叡璇嗭細閫氳繃鎺ㄥ法鐭虫潵鍐冲畾涓鍗堝悆浠涔堛傚湪姣旂壒甯佺綉缁滀腑锛岀熆宸ヤ滑鈥滄帹宸ㄧ煶鈥濇潵瑙e喅鏁板﹂棶棰橈紝绗涓涓瑙e喅闂棰樼殑鐭垮伐灏嗚幏寰楃綉缁滅殑璁ゅ彲锛屽苟璁板綍涓嬬浉搴旂殑浜ゆ槗锛岃幏寰楀栧姳銆
鏈鍒濓紝姣旂壒甯佺殑鎸栫熆鏄鍩轰簬CPU鐨勶紝浣嗛殢鐫鎸栫熆闅惧害鐨勫炲姞锛孋PU鐨勮$畻鑳藉姏宸叉棤娉曟弧瓒抽渶姹傘傚洜姝わ紝鐭垮伐浠寮濮嬩娇鐢ㄤ笓闂ㄤ负閫氱敤璁$畻璁捐$殑鏄惧崱鏉ユ寲鐭裤傛樉鍗℃嫢鏈夋暟鍗冧釜娴佸勭悊鍣锛岄潪甯搁傚悎杩涜屾寲鐭挎墍闇鐨勯氱敤璁$畻銆傝繖灏卞ソ姣旇10涓鑰佸笀鍜屽皬瀛︾敓涓璧峰啓鏁板瓧1锛屽皬瀛︾敓鍥犱负浜烘暟澶氳屽畬鎴愬緱鏇村氥傛樉鍗℃寲鐭垮洜姝ゆ垚涓轰竴绉嶉珮鏁堣幏寰楁瘮鐗瑰竵鐨勬柟寮忋
鏄惧崱鎸栫熆鐨勬祦琛屽规樉鍗″競鍦轰环鏍间骇鐢熶簡宸ㄥぇ褰卞搷銆傚湪姣旂壒甯佷环鏍奸珮浼佹椂锛屽ぇ閲忕熆宸ュ拰鐭垮満娑屽叆甯傚満锛屾帹楂樹簡鏄惧崱鐨勯渶姹傚拰浠锋牸銆備絾闅忕潃姣旂壒甯佷环鏍肩殑鍥炶惤锛屾寲鐭挎敹鐩婂噺灏戯紝澶ч噺鐭垮崱娴佸叆浜屾墜甯傚満锛屾樉鍗′环鏍间篃闅忎箣涓嬮檷銆傜劧鑰岋紝鐢变簬鏄惧崱鎸栫熆鐨勭壒娈婃э紝璁稿氫汉涓嶅缓璁璐涔颁簩鎵嬬熆鍗°
鎬讳箣锛屾瘮鐗瑰竵鎸栫熆鏄涓涓澶嶆潅涓斿姩鎬佸彉鍖栫殑杩囩▼锛屽畠涓嶄粎鍏崇郴鍒版瘮鐗瑰竵鐨勭敓鎴愶紝杩樺奖鍝嶇潃鏄惧崱甯傚満浠锋牸鐨勬尝鍔ㄣ傚逛簬鎯宠佸姞鍏ユ寲鐭胯屼笟鐨勪釜浜烘潵璇达紝闇瑕佽皑鎱庤冭檻锛屽洜涓哄競鍦哄彉鍖栧彲鑳戒細甯︽潵宸ㄥぇ鐨勯庨櫓銆

❷ PoW共识机制的原理

比特币的共识机制就是PoW共识,借鉴了HashCash的处理方法, 下面就来说说比特币如何进行PoW共识的。

从区块头的结构中可以看到一个4 bytes的Nonce值,Nonce值的变动会影响整个区块头的哈希值,挖矿节点即是通过尝试不同的Nonce值(通常从0开始每次加1),寻找一个哈希值小于Difficulty Target指定的难度值。

PoW证明过程,这也就是俗称的挖矿过程, 找到合适的哈希值。
这里不详细说明区块打包过程, 区块通过一定的算法被生成, 当然生成是需要一定的代价的。
区块头里的各个值并不是随机的, 而是由固定的算法得出, Merkle根哈希值就是把交易打包变成一颗Merkle树, 最后得出根的哈希值, 难度值是根据算法不断调整, 要维持出块速率是10分钟出一个块。

首先我们把所有交易打包生成Merkle树, 计算Merkle根的哈希值, 然后组装区块头, 把区块头不断进行SHA256(SHA256(区块头))双重哈希操作, 然后判断是否小于网络目标值, 这里其实就是把它变成2进制, 二进制前面有多少位是没有0的, 因为有1的话, 这个十进制的值肯定是很大的, 就不会符合条件。 如果大于这个目标值, 说明前面的位数没有满足前多少位为0的条件 哈希不成功, 那么就改变随机数值,组成新的区块头,继续哈希。
这是就是是挖到矿了,其他节点验证的话也简单,只要做一次SHA256(SHA256(验证区块头))来判断。

比特币挖矿难度调整方式非常简单,难度目标调整即不断将256位的难度值减小,如277315号区块的难度值十六进制表示为:
这个数字在二进制表示下前60位均是0,如果要增加难度只需要减小这个值,随着难度值的减小,起始0的个数增多,可寻找的哈希值范围减小,挖矿难度就越大。

难度的调整是在每个完整节点中独立自动发生的。每2016个区块,所有节点都会按统一的公式自动调整难度。如果区块产生的速率比10分钟快则增加难度,比10分钟慢则降低难度。
公式可以总结为:新难度值=旧难度值×(过去2016个区块花费时长/20160分钟)

优点

缺点

1:挖矿过程为什么要计算两次哈希值?
中本聪在设计比特币的挖矿算法的时候,考虑到SHA2-256算法存在被破解的可能,虽然在理论上并未出现对SHA2-256算法的攻击。为了减弱攻击的威胁,区块头数据要对SHA2-256算法运算两次。

2:如果所有节点都从0开始尝试Nonce值,那不就永远都是算力高的节点先计算出有效的结果,算力低的节点永远没希望挖矿成功?
区块头大部分信息都是一样的,但是Merkle Root对于每个节点必然是不同的,因为每个节点都会有自己的Coinbase交易,该交易中存在节点矿工的地址,此地址对于每个独立挖矿节点都是不同的,根据哈希函数的雪崩效应可知每个独立节点的Merkle Root必定有显著的区别。

3:如何解决拜占庭问题?
通过工作量证明就增加了发送信息的成本,降低节点发送消息速率,这样就以保证在一个时间只有一个节点在进行广播,同时在广播时会附上自己的签名。工作量证明其实相当于提高了做叛徒(发布虚假区块)的成本,只有第一个完成证明的节点才能广播区块,竞争难度非常大,需要很高的算力,如果不成功其算力就白白的耗费了,整个系统也因此而更稳定。

阅读全文

与比特币有哪些共识机制相关的资料

热点内容
XQB100一BTC1288现FC 浏览:519
比特币有哪些共识机制 浏览:606
比特币涨4倍 浏览:829
区块链防伪技术缺点 浏览:539
比特币合约是怎么收割韭菜的 浏览:83
如何离线存储比特币 浏览:108
防范虚拟货币区块链 浏览:40
20以内进位加法算力水平测试成绩查询 浏览:732
空中俱乐部比特币 浏览:285
虚拟货币挖矿机详解 浏览:234
比特币怎么放到钱包呢 浏览:290
比特币多少天出一个 浏览:325
比特币分了几次 浏览:938
uupool矿池如何注册 浏览:790
货币BTC体现 浏览:880
比特币发掘机 浏览:719
比特币到底在计算什么 浏览:401
BTC短期崛起的三大原因 浏览:477
发送邮件要求支付比特币 浏览:237
普通人可以挖多少比特币 浏览:800