您的位置 首页 > 德语词汇

codecheck是什么意思?用法、例句 比特币现金添加的Checkpoint到底是什么?

各位老铁们,大家好,今天由我来为大家分享codecheck是什么意思?用法、例句,以及比特币现金添加的Checkpoint到底是什么?的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

免责声明:本文不构成任何投资建议。

Checkpoint就是指定一个区块高度的区块哈希必须等于某个哈希值。

codecheck是什么意思?用法、例句 比特币现金添加的Checkpoint到底是什么?

在11月份BCH的硬分叉升级时,产生了两个币,BCH和BSV。abc开发组为BCH添加了一个叫Checkpoint的东西,BSV社区各种嘲讽。本文解释Checkpoint到底是啥。

第1章比特币节点如何验证一个区块

任何一个下载并安装运行的完整节点都会从比特币网络中获取区块,并验证区块,以此更新节点的账本。当一个节点通过p2p网络获得一个新区块时,都会执行验证程序,以识别这个区块是不是有效的区块。比特币区块的验证标准如下:

以上就是比特币节点(BTC、BCH、BSV都一样)标准的验证区块程序,这部分代码叫CheckBlock函数。

第2章增加Checkpoint检查点验证规则

比特币节点在绝大多数情况下都是按上面的标准的验证区块程序进行验证区块的,但可以加入额外的规则,就是加入一个Checkpoint。

Checkpoint就是节点验证区块中的一个补充规则。这个补充规则是:

Checkpoint是一个数据,这个数据就是一个区块高度值和对应的哈希值构成,所有Checkpoint会被存储在一个叫CheckpointData的数据块里。下面是BCH网络上的历史Checkpoint值。

们可以看到,在11111高度就有一个Checkpoint,这是在2009年4月16日挖出来的,这估计是中本聪他们最早的几个人挖的。

上图中最后那一个Checkpoint就是11月15日BCH硬分叉时添加的,区块高度556767就是BCH和BSV分裂后BCH挖出的第一个区块高度,这个区块被BSV拒绝了。

Checkpoint是由开发组写入节点软件的,也可以是开发编写一个函数指定出现某种情况后就由函数添加一个Checkpoint。节点软件在验证区块时,就会搜索CheckpointData数据,以确定某一区块高度是否需要加入Checkpoint这个验证规则。

Checkpoint里指定的区块高度那肯定是在写入之前就已经挖出来的。

当节点软件搜索CheckpointData发现了某个区块高度是一个Checkpoint时,那这个节点在验证这一个区块时,就会在上一章的5条验证规则中加入第6条,即这个区块的hash值必须等于Checkpoint里指定的哈希值。如果不相等,那就是一个废块,会被抛弃掉。

第3章Checkpoint有什么用?

一个节点只要承认了Checkpoint的区块为合法的区块,那就可以避免这个高度以之前的所有的区块被其他力量重组,特别是可以避免被51%优势算力攻击重组区块。

我们必须确认的是一个区块的哈希是无法伪造的。当指定一个区块高度就是某一个哈希值,这意味着这个区块高度的区块就是无法更改了。哪怕是你拥有超过51%的算力,也是不能让这些拥有Checkpoint的节点软件服从你更改这个区块。

任何一个区块中又包括了前一个区块的哈希值,这样就相当于执行Checkpoint的节点认定了指定的区块,也就认定了此区块之前的所有区块。

Checkpoint在一定程度上改变了最长链为有效链的原则,改成了只有包含了Checkpoint的最长链才是有效链。

Checkpoint可以用来部署协议分叉,所有节点都统一运行带有Checkpoint的完整节点软件,然后一旦Checkpoint的区块被挖出,那此后所有的协议就可以被统一更改。这也是UAHF的原理,这是BCH从2017年8月1日分裂出来后每一次分叉升级都使用Checkpoint来部署。

带有Checkpoint的协议变化,就是明确告诉整个生态在此区块高度后协议就会有变化了,你们要注意升级。

第4章Checkpoint有什么不好?

需要澄清的是,很多人认为Checkpoint给了开发者更高的权力,我认为没有。因为节点软件都是开发者写的,Checkpoint只是开发明确标记了一个接下来协议会怎么改。这相当于我们写文章的人,使用加粗标红高亮来标注一个重点内容。Checkpoint是用来告诉矿工和其他生态节点,我们要明确改一些什么东西,并且改的这些东西还不允许通过51%算力来进行链上否决。

请注意,上面讲的是“链上否决”,就是一旦有算力选择认同了Checkpoint的节点软件,那无论这部分算力是多大,那这条带Checkpoint的链都是可以独立挖下去的,不可能会被更大的算力通过51%攻击的方式重组掉这个Checkpoint之前的区块。只能重组之后的区块。

这就意味着,Checkpoint本身是一个链下的治理工具。大家通过链下讨论是否接受Checkpoint以及之后的所有协议规则更改,如果接受,并且部署,那就没有回头路了。

所以Checkpoint有什么不好?那只能是针对热爱纯粹的通过链上算力投票的矿工来说是不好的,信算力有决定权的人会认为Checkpoint不好,而热爱链下治理的人则会认为Checkpoint是一个好工具。

祝世界和平,祝BCH、BSV社区和平共处,阿门。

文章声明:本文为火星号作者作品,不代表火星财经观点,版权归作者所有,如需转载,请提前联系作者!

文章来源:比特币现金添加的Checkpoint到底是什么,有什么影响?

如果你还想了解更多这方面的信息,记得收藏关注本站。

本站涵盖的内容、图片、视频等数据,部分未能与原作者取得联系。若涉及版权问题,请及时通知我们并提供相关证明材料,我们将及时予以删除!谢谢大家的理解与支持!

Copyright © 2023