Login
欢迎来到未来世界

您现在的位置是: 首页 > 计算机 > 区块链

区块链

工作量证明是区块链里唯一的共识机制(简要解释区块链技术中什么是工作量证明)

区块链 加入收藏
工作量证明(Proof of Work,简称PoW)由比特币引入,可以保证恶意节点不超过51%即可达成共识,是目前区块链最经典、也是最久经考验的共识机制。其基本流程如下:1)当节点进行数据传输时,传输
工作证明(PoW)是比特币引入的,可以保证恶意节点达成不超过51%的共识。这是目前区块链最经典、久经考验的共识机制。 基本流程如下:1)节点传输数据时,传输的信息不会立即被各个节点存储,而是标记为“未确认”存储在内存池中。 2)区块链系统中每隔一段时间就会生成一个新的块,不同的区块链协议生成时间不同(例如比特币区块链中每10分钟生成一个块) 内存池中的每个节点将收集所有未确认的信息,将其打包到一个新的块中,并构造一个候选块。 由于上述问题,对于给定的信息集,每个节点块中打包的信息可能不一致。 block将信息打包后,会设置一个“密码难题”,即在信息后添加一个随机数,然后使用哈希函数将整个信息列表(包括随机数)转换成一个哈希值。 4)每个节点需要使用获得的哈希值计算随机数。 根据上面提到的哈希函数的性质,逆向计算是不可行的,只能用穷举法。所以,要计算这个特殊的数,需要大量的计算。这个过程叫做工作量证明,可以简单理解为解决“数学难题”的过程。 5)当网络中的一个节点先找出随机数时,它会向全网广播,其他节点验证其有效性。当51%的节点通过验证时,该块将自动链接到区块链的背面,验证失败的节点将重新计算。 率先完成工作量认证的人可以获得一定的奖励,既能激励全网所有节点积极存储信息,又能避免节点存储错误信息——因为验证失败后的收益远小于其成本。 例如,在比特币区块链中,区块中包含一定数量的货币基数,最先找出随机数的节点经过验证后可以获得区块中的新货币奖励。 因为这个过程类似于金矿开采,所以使用PoW机制的数字货币的生产过程被称为“开采”。 PoW的意义在于它增加了各个节点传播信息的成本,而这个成本远大于发布虚假信息的收益,所以各个节点不会有当叛徒的动力。 如果节点以任何方式修改信息,它将完全改变哈希值。哈希函数虽然不容易求逆,但是很容易验证。当51%的节点验证失败时,节点必须重做工作量证明,不仅要花费大量的金钱,而且会降低先完成的概率,从而降低获得奖励的概率。 其次,由于计算谜题的第一个节点是随机的,我们无法知道下一个赢得记录权的节点,每个节点也无法控制它将获得哪个块的记录权。 上述过程通过PoW机制解决了单个块中信息存储的一致性问题,但不能保证系统(整个区块链)的最终一致性。 因为两个不同的节点同时挖出块(解谜),所以也有可能发生(因为网络通信问题,各个节点的块信息可能不一致)。此时,区块链将发散,网络的每个节点需要就哪个区块链事务可以被确认达成共识。 整个区块链的共识遵循最长链条原则,只有最长链条上的交易才能得到确认,也就是工作量最大的区块链。 “分叉链”不可持续。在接下来的块竞争中,每个节点将选择在某个分叉链上争夺下一个记账权。由于工作量巨大,两个节点同时挖出块的概率会成倍下降。所以“最长链”很快就会出现,最长链上的交易都会得到确认。同时,较短链上的交易信息也将被释放并重新标记为“不” 但是PoW机制并不是完美的,它有以下三个缺点:1) 51%攻击:当攻击者已经掌握了全网51%的计算能力时,他的攻击总能成功,因为他总能让自己的链条最长。 所以全网节点越多,抗攻击能力越强,安全性越好。 2)高延迟:分块出现时间的间隔不能太短,分块交付时间太短意味着挖掘难度降低,会增加多个节点同时算出答案的概率,导致频繁分叉。 但发货慢意味着确认时间长,延迟高。 3)资源浪费:计算机计算密码拼图需要大量的计算能力、高性能的计算机设备、大量的功耗等资源。 根据digiconomist的评估,比特币2018年的二氧化碳排放量达到3473万吨,相当于丹麦的碳排放量;用电量达到7312万千瓦时,与奥地利相当;产生9.8克拉的电子垃圾,相当于卢森堡的产生量。
图集详情底部广告位