关于区块链POW的一些疑问

从网络了解到比特币的挖矿是对nonce的枚举,而我在比特币的网上看到的一些新增的区块的nonce都是十亿级的数字,那是不是就意味着他们枚举了几十亿次,但实际计算次数肯定不止那么少吧,所以nonce值或者说工作量证明到底和计算次数有没实际联系呢?

2个回答

特币需要每个block(区块)证明在创建它们的过程中投入了足够都的工作量,从而确保那些想篡改历史区块信息的恶意节点必须要付出更多工作量的代价,而不是只是修改一条记录那么简单——工作量证明。
将区块链在一起(hash相连相扣)使得只修改一个交易而不修改所有后续交易成为不可能。

工作量证明(Proof-of-Work)
使用SHA-256对一个value进行hash,看结果是否拥有所要求数量的前导零,比如我们要求hash得到的值为 0000……,拥有四个前导零。在比特币中,我们是对一个block进行SHA-256哈希,为此我们将一个nonce加入到block中,你可以理解为这个nonce是一个值可以变得整数,这样我们就可以不断递增这个nonce,直到整个block的hash结果拥有所要求的前导零。
这里写图片描述

有人想恶意篡改某一个block上的交易信息,因为这是一个前后相接的区块链,他就不得不把该block之后的所有区块都以他恶意篡改后的block为基准重新计算一遍,代价巨大。与一IP一票不同(恶意攻击者如果掌控大量IP发放权十分危险),比特币是一CPU一票的机制,意味着算力拥有决定权,网络中以最长的那条区块链为合法链,它代表着最大的工作量证明。如果网络中大多数(51%以上)的算力由诚实节点掌控,那么这些诚实节点产生的合法链会增长的最快,超过任何一条与之竞争长度的链,进而防止恶意发生。正如前面所说,如果一个攻击者要修改过去的某一个block,他需要重新做这个block以及它之后所有block的工作量证明,然后需要赶上并超过那条由诚实节点们打造的合法链。但是随着合法连继续添加新的block,该攻击者追上的可能性是指数下降的。

iDaybreak
Reversing 那么如果攻击者篡改的是当前链的最后一个区块,并赶在所有节点之前打包出下一个区块的话,攻击代价不就被大大降低了吗
4 个月之前 回复
u011606457
_1_1_7_ 回复gu330: 对的
大约 2 年之前 回复
gu330
NAUYNUJUG 回复u011606457: 那就是说算力小的理论上只能碰运气或者加入到大的集团来分成?
大约 2 年之前 回复
u011606457
_1_1_7_ 回复gu330: 意味着算力拥有决定权,网络中以最长的那条区块链为合法链,它代表着最大的工作量证明
大约 2 年之前 回复
u011606457
_1_1_7_ 回复gu330: 因为竞争
大约 2 年之前 回复
gu330
NAUYNUJUG 回复u011606457: 那为何现在很多矿机一秒能作几亿次hash运算了,几十亿的nonce值不是一下就出来了吗,那为何这些矿机一天也才挖到百分之几个比特币
大约 2 年之前 回复
u011606457
_1_1_7_ 回复gu330: pow那段文字已经说明很清楚了,好好体会。可以 理解“pow反映的是枚举的次数”
大约 2 年之前 回复
gu330
NAUYNUJUG 你好,还是没有解决我的问题,我想知道的是pow反映的是枚举的次数吗,如果是的话,几十亿次对计算机显然太少,如果不是,那pow和挖到这个区块计算的次数有什么关系呢?
大约 2 年之前 回复

那么如果攻击者篡改的是当前链的最后一个区块,并赶在所有节点之前打包出下一个区块的话,攻击代价不就被大大降低了吗

gu330
NAUYNUJUG 协议有最长链原则,延伸6个区块才能被承认
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐