在每一个新的区块生成之后, 节点所在的网络体系都必须去完成整整一轮的安全校验工作。这项校验工作包含了很多方面的内容, 比如要去检查密码学的签名情况, 要看交易的内容是否合法, 还要去对照符合共识规则的所有要求。
如果这其中的任何一个环节出现了疏漏或者差错, 那么很有可能会导致一些无效的区块被错误地写入到那个区块链上面去, 从而引发出分叉的情况, 甚至还会导致数据被篡改这样的严重后果。
新区块安全验证怎么做
节点在收到候选区块之后, 会依次检查区块头哈希、Merkle根、交易签名链。这是为了确认所有交易都经过合法授权, 且没有重复使用。PoW网络还要验证难度目标值是否达标;PoS网络则是检查提议者的质押状态以及出块顺序。整个过程通常控制在秒级内完成。如果超时未通过验证的区块会被直接丢弃。
在实际进行部署的时候, 验证逻辑是不是完整, 这主要就取决于那些节点实现代码的内在质量了。社区那边一直在维护开源节点软件, 它们会每隔一段时间就发布一些安全补丁什么的。但是如果大家自建节点的话, 长期都不去更新, 那么就可能给那些已知漏洞的破坏行为留下入口啊。
新区块安全有哪些攻击面
双花攻击和最长链分叉是两种典型威胁, 这个话的意思是说, 攻击者其实是在试图去在侧链上面快速地堆出好几个区块出来, 这样做就是为了去诱惑那些部分的节点, 让这帮节点去接受那个虽然比较短, 但是看起来更像是完整的那个链条的一段, 而像是51%算力攻击、自私挖矿、时间戳操纵这些手段呢, 其实都是那种利用在验证窗口里面的时间差来做文章的事情。
相关的缓解手段是把出块频率调快, 也就是缩短出块间隔, 把重组的代价提高上去,还有引入一个专门做隔离验证的层级, 这些办法都能起到一定的作用。

不过需要承认的是, 关于安全方面的设计并没有一种能够一劳永逸的解决方案, 随着底层同意协议不断更新发展, 可能遭到攻击的路径和风险也会跟着发生相应的变化, 在这样的情况下, 不断地进行专业审计工作以及施加高强度的压力测试就是绝对必要的步骤。
协议是在进行迭代的, 威胁模型也在发生更新的变化。关注安全问题的时候, 不能仅仅只是去看一看能不能出块, 还要把注意力集中在出块之后那一小段时间里面的每一个验证细节上面。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://www.zmdyd.cn/gwimqb/11140.html
