一、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号区块的难度值十六进制表示为:0x0000000000000003A30C00000000000000000000000000000000000000000000
这个数字在二进制表示下前60位均是0,如果要增加难度只需要减小这个值,随着难度值的减小,起始0的个数增多,可寻找的哈希值范围减小,挖矿难度就越大。
难度的调整是在每个完整节点中独立自动发生的。每2016个区块,所有节点都会按统一的公式自动调整难度。如果区块产生的速率比10分钟快则增加难度,比10分钟慢则降低难度。
公式可以总结为:新难度值=旧难度值×(过去2016个区块花费时长/20160分钟)
优点
缺点
1:挖矿过程为什么要计算两次哈希值?
中本聪在设计比特币的挖矿算法的时候,考虑到SHA2-256算法存在被破解的可能,虽然在理论上并未出现对SHA2-256算法的攻击。为了减弱攻击的威胁,区块头数据要对SHA2-256算法运算两次。
2:如果所有节点都从0开始尝试Nonce值,那不就永远都是算力高的节点先计算出有效的结果,算力低的节点永远没希望挖矿成功?
区块头大部分信息都是一样的,但是Merkle Root对于每个节点必然是不同的,因为每个节点都会有自己的Coinbase交易,该交易中存在节点矿工的地址,此地址对于每个独立挖矿节点都是不同的,根据哈希函数的雪崩效应可知每个独立节点的Merkle Root必定有显著的区别。
3:如何解决拜占庭问题?
通过工作量证明就增加了发送信息的成本,降低节点发送消息速率,这样就以保证在一个时间只有一个节点在进行广播,同时在广播时会附上自己的签名。工作量证明其实相当于提高了做叛徒(发布虚假区块)的成本,只有第一个完成证明的节点才能广播区块,竞争难度非常大,需要很高的算力,如果不成功其算力就白白的耗费了,整个系统也因此而更稳定。
二、POW、POS共识机制的优缺点是什么啊哪位大神科普下
POW:Proof of Work,工作证明。比特币在Block的生成过程中使用了此机制,找到合理的Block Hash需要经过大要得量尝试计算,计算时间取决于机器的哈希运算速度。POS:Proof of Stake,股权证明。简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在POS模式下,持币有利息。DSC(动态权益)共识算法:公链项目Penta的独创。分三层:第一层进行代表选举,第二层通过三列筹钱算法挑选议员和观察员组成若干共识组,第三层从候选区块中通过散列抽签算法选取正式块。
三、什么是PoW共识机制
在之前我们已经讲过共识机制是区块链网络中所有节点都要遵守的一种规则,当前主流的共识机制分为两种。一种是pow共识机制,另一种则是POS共识机制,今天我们就来介绍一下什么是pow共识机制。所谓pow机制全称是ProofofWork,也就是工作量证明。
最开始这个技术是被用来解决垃圾邮件的问题,不过后来中本聪发现这个技术能有效解决拜占庭将军问题,于是便把它引进了比特币区块链网络中,慢慢的pow机制就变成当今区块链中的主流之一,简单来说,PoW机制主要是通过竞争记账的方式来解决区块链网络中各个节点的一致性问题,它的原理是这样的,我们都知道区块链中的每个节点都能自由的参与数据处理,也就是打包区块,
为了保证网络中的各个节点能达成一致,Pow规定,当一笔交易产生后,每一个想要记账的节点都需要依靠自己的计算能力与他人竞争争夺记账的权力,竞争的方式就是每过大约十分钟的时间就会进行一轮算力竞赛参与的节点,通过算力不断寻找一个随机数Nonce,谁先找到满足一定条件的Nonce值,且通知全网获得认可,谁就能获得记账的权利。最终获得记账权的人,她所打包的区块会连接到区块链的链上同时它处理的数据也会被全网的其它节点进入各自的小账本中。
pow机制在比特币网络中,就是比特币的挖矿原理,它会给获得记账权的接点一定的比特币作为奖励,从而激励更多的人加入进来,pow机制的优势在于,它让每个节点的算例都加入进了网络的交易认证中,使得网络的去中心化性更强,节点的作恶成本更高。
理论上,除非有人能掌握全网51%以上的算力,否则整个网络的任何东西都是无法被篡改的,所以加入的人越多,全网算力就越大,也就越难被人掌握超过51%的算力,整个网络也就越安全,当然pow机制不是完美的,他为了保障网络的强去中心化,付出了很多的代价。像比如被大家诟病的浪费大量资源,性能效率较低等等,但他也确实去中心化的互联网落地成为可能。或许未来随着技术进步,共识机制能够打破去中心化,效率,安全的不可能三角,让我们拭目以待吧。
四、什么是POW和POS,二者区别联系
POW:全称Proof of Work,工作量证明。
POS:全称Proof of Stake,权益证明。
这两者都区块链的共识机制,是数字货币的记账方法。
区别是:
1、POW机制:工作量证明机制即对于工作量的证明,是生成要加入到区块链中的一笔新的交易信息(即新区块)时必须满足的要求。在基于工作量证明机制构建的区块链网络中,节点通过计算随机哈希散列的数值解争夺记账权,求得正确的数值解以生成区块的能力是节点算力的具体表现。
2、POS机制:权益证明要求证明人提供一定数量加密货币的所有权即可。权益证明机制的运作方式是,当创造一个新区块时,矿工需要创建一个“币权”交易,交易会按照预先设定的比例把一些币发送给矿工本身。权益证明机制根据每个节点拥有代币的比例和时间,依据算法等比例地降低节点的挖矿难度,从而加快了寻找随机数的速度。
扩展资料:
比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。
与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。
参考资料:百度百科-共识机制
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://www.ssyg068.com/biquanzx/3680.html
发表回复
评论列表(0条)