主页 > imtoken官网唯一地址 > 比特币:乌合之众的共识(3)

比特币:乌合之众的共识(3)

imtoken官网唯一地址 2023-02-24 06:22:02

(1) 双花:一币碎成两朵花

我们先考虑一个简单的问题。 中国的A持有一个比特币,需要支付给商家B。A然后向全网发送这样一条交易消息:

A 转移到 -> B : 1 比特币 (1)

此时A可以通过美国的代理节点向全网同时广播另一笔一对一的交易,但接收者换成了他控制的另一个钱包地址A',类似于马甲发给自己,试图将之前的交易反转给B:

A 转账至 -> A':1 比特币 (2)

比特币节点说法错误的是_以太币比特币是骗局吗_云比特是比特币分支?

这两个事务消息显然是冲突的。 这是一个典型的双花问题(double spending),即一枚硬币碎成两朵花。

上面的第一条交易消息至少需要 0.3 秒才能到达美国。 在这0.3秒内,第二笔交易消息很可能已经被北美大部分地区的比特币网络节点接收到。 反之亦然,在第二条消息到达中国之前,第一条消息已经被中国及附近地区的比特币网络节点接收到。 此时,全网不同区域的节点收到的交易信息是不一样的,相互冲突的。 当然,过了一段时间,这两个相互矛盾的消息最终会到达每个比特币节。

所以,在某个时候,在比特币网络中有:

1)不同节点收到的交易信息存在冲突。

2)同一节点收到的交易信息也有冲突

(2)不知对错,只遵守规定

比特币记账节点在面对两条相似且相互冲突的双花消息时应该怎么做? 应该记录哪一个?

比特币节点说法错误的是_以太币比特币是骗局吗_云比特是比特币分支?

比特币将交易记录成块,一个块相当于账本的一页。 该分类帐平均每十分钟添加一个新的交易页面。 任何记录在账本上的交易都等同于对交易的确认。

比特币只保证每一个新加入的账本(区块)中的交易彼此不矛盾——不与自己矛盾。 它还将不包含与任何一项历史交易相矛盾的交易——不与历史相矛盾。 也就是说,上述双花形成的两笔交易不会出现在同一个区块中。 对于每一个新加入的区块,里面的交易不会与区块链上已有的历史交易形成双花。 这样的两笔双花交易永远不可能同时被确认。 一个确认,另一个必须放弃。

因此,从一个参与比特币记账的矿工节点来看,当他同时收到上述两条相互冲突的交易消息时。 他不在乎谁该付钱,他也没有办法判断。 他采用最简单的原则,选择对自己最有利的交易(比如交易手续费多的交易)。 只要有两个不矛盾的计算,一个是打包交易不矛盾,一个是和历史交易不矛盾。

此功能相对容易实现。 只要每个矿工产生的区块都受到控制,就需要保证它们是合规的。

(3) 挖矿:争夺记账权

云比特是比特币分支?_比特币节点说法错误的是_以太币比特币是骗局吗

另外一个问题,不同的比特币记账节点(矿工)有不同的账户,或者产生的区块不同,应该以哪个为标准?

答案是,“实力+运气”,不争气。

全球数以千计的矿工竞相产生新的区块,谁做得好又快,谁就以他产生的区块为标准。 并奖励他固定数量的比特币,目前是12.5个比特币,外加交易手续费。 这就是我们通常所说的“挖矿”。

注意这里有些文章写的是选择其中一个矿工来生成最新的区块,并不严谨。 因为被挑选出来的不是矿工,而是他们生成的区块。

有两个标准可以选择,一个是好,一个是快。

“好”是指区块是正确的,不仅包括上面提到的两个不矛盾,还包括所有其他比特币规则中对一个合格区块的描述。 正是这个块符合规则。 这里的关键是找到一个数字(我们称之为挖矿种子数),让整个区块都可以用这个数字进行固定的数学公式运算,得到的结果满足特定的格式(前面有多少位是0 ).

这个结果没有意义,就是给大家制造困难,给这些矿工找事情做。 因为没有别的办法,每个矿工只能用最笨的办法,就是把所有可能的数字一个一个试一遍,不断修改比特币节点说法错误的是,直到找到符合标准的。

当然,算力强的矿工可以同时尝试更多的数字,所以他们有更大的机会率先找到合适的数字。 但是,算力强并不一定就一定能挖出区块,因为毕竟都是在猜,猜得快未必比猜得慢先得奖。

“快”是指全网最早产生的区块将被全网识别为最新挖出的区块。 当然,这里生成的块必须满足上面的“好”标准。

因此,每个人都在努力工作。 付出如此高昂的代价换来了被选中的机会,千万不能犯错。 否则,之前的所有努力都会付之东流。

(四)记账权

每个矿工在生成区块时拥有三个重要的权力:

1)在第一笔交易中,给自己发行的比特币,给自己区块中所有的交易手续费。

2) 选择区块中包含哪些交易。

3)选择当前比特币区块链上最长链的最后一个区块作为自己区块的父区块。

这是首次发行费用的固定选项。 每个矿工将发行费和交易费转入自己的钱包地址,作为自己的收入。

对于第二点,如前所述,同时,每个节点都可以看到很多未确认的交易,它们很可能是不同的,所以每个矿工产生的区块中包含的交易可能是不同的。 交易入块意味着作为一个理性的矿工,会从合规的交易中选择交易手续费高的交易打包进区块。 否则,自己生成的区块要么不合格,要么没有实现自身利益最大化。 虽然比特币网络中没有第三方对矿工打包的区块进行监督检查,但如果打包了不合格的区块,其他矿工是不会认可的。

第三点,每个区块必须选择一个父区块,选择标准是当前最长链上的最后一个区块。 这本质上是对之前已经生成的区块的识别和押注,因为你需要选择必须正确且最新的父区块,即区块链中最长链的最后一个区块。 而这种认可是有机会成本的,因为一个区块只能有一次机会选择父区块。

(五)记账权是否会被滥用

既然矿工有记账权和区块写入转账交易的权利,那么这种权力会不会被滥用呢?

答案当然是否定的!

在矿工产生的区块中,第一笔交易是给自己12.5个比特币和这个区块的所有交易手续费,之后再进行其他交易。 如果该区块出于任何原因不具有合法性,则奖励也将不具有合法性。 值得注意的是,矿工挖矿获得的巨额资金需要等到区块被99个区块确认后才能使用。

在这段时间里,区块会经历很多很多的测试。

首先,这个新区块的其他节点,除了羡慕嫉妒恨之外,马上验证这个区块是否合法。 , 开始构建下一个区块。 因为区块链增长了一个区块,链的末端变长了。 原来的父块有了子块,就变成了祖父块。

当然,如果有人认为这个区块是非法的。 然后他可以忽略它并继续他之前的工作。 因为规则很明确,即使有人串通一气,坚持认为这个区块是合法的。 大部分没有被收买的矿工,依然会沿着之前的最后一个合法区块向下延伸。 只要被贿赂和串通的矿工算力不超过50%,合法区块就会比非法区块增长得更快,非法区块最终会失效,因为比特币的规则是最长的合法链作为主链。 因此,如果矿工串通一气,将面临巨大的风险和机会成本。

同时,大家每一次争夺下一个区块的记账权,选择父区块,都是在做选择,是对父区块所在的链的考察和评价。 因此,比特币区块链上的交易数据不断被比特币网络上的所有矿工审查和评估。 这些检查和评估是以巨大的计算能力为代价,并冒着失去巨额奖金的风险进行的。 这点谁也不会开玩笑,毕竟用金钱和价格表达的意见是靠谱的。

考虑到这些选择和评估,你要经过99轮的选择和评估,所以我们可以认为比特币的记账权不会被滥用的概率很大。 这也是为什么在过去9年多的时间里比特币节点说法错误的是,小怪的比特币网络能够顺利形成共识并运行良好。

结尾

中本聪设计的比特币网络共识机制将如此庞大的一群互不认识、不信任、甚至没有人群界限的暴民组织起来,形成一个协同管理超过100个资产的价值存储和转移的系统亿美元。 ,但没有任何个人或组织作为中心负责。 这本身就是区块链技术的美妙之处。 笔者虽然经历过一两次,但还是觉得自己没有表达清楚,继续学习输出。 谢谢阅读。

往期文章: