我们第一次研究这个裂痕的时候,发明 Qtum、Particl、Navcoin、HTMLcoin 和 Emercoin 这五种暗码学钱币都存在这个裂痕,即,在将区块提交至内存或硬盘之前,无法对 coinstake 生意业务举办验证。这五种加密钱币的配合之处是它们都回收了比特币的「区块头优先」 法则,将区块分成两类独立的信息——区块体和区块头——举办流传。只有当节点确认了某个区块的区块头通过了 PoW 验证、而且该区块跟在最长链(或更长链)之后,才会请求区块体的信息。由于 coinstake 生意业务仅存在于区块体而非区块头中,节点无法做到只验证区块头,于是直接将区块头存储在了内部数据布局(mapBlockIndex)里。因此,任何网络进攻者,纵然不持有任何权益,也可以恶意填满一个节点的内存。
比特币的代码库不支持第二个要领,纵然它支持,这也会增加特另外存储本钱(比特币的节点机能依赖于大幅减少不须要的数据)。比特币代码库今朝正是回收第一种要领来处理惩罚重组的。然而,常常回滚的价钱也是很昂贵的,因此,回滚和完全验证不会在一有分叉的时候就产生,而是比及分叉链上的事情量证明真的高出当前主链的时候才会举办。因此,当一个对等节点第一次吸收到一个非最长链上的区块或区块头时,我们将跳过完全验证并将这个区块生存在当地存储区。
假如吸收的不是区块头而是区块体,需要执行劈头验证也会差异。抱负环境下,因为 coinstake 生意业务就包括在区块体中,节点软件应该先对其举办验证,再将区块体提交至硬盘。可是,如上所述,假如这个区块是在一条分叉链上,节点要会见 coinstake 生意业务所耗费的 UTXO 会可贵多。也许是出于这个原因,这些代码库并没有验证 coinstake 生意业务。
权益证明(PoS)类加密钱币,出格是那些基于链上PoSv3(第三版权益证明)的加密钱币,它们与比特币很相似,都利用未耗费的生意业务输出(UTXO)模子和最长链共鸣法则。主要的区别在于前者用代币的所有权证明替代了事情量证明(PoW)。PoS 的潜在利益包罗可以或许低落对情况的影响以及加强对 51% 进攻的抵挡性。许多加密钱币实际上是比特币代码库的分叉(至少是衍生物)而且插手了 PoS 的成果。可是,由于它们盲目复制了比特币的一些设计理念,留下了安详隐患,因此呈现了一些在原先代码库中并不存在的新裂痕。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。