跳转到正文
型号与参数核对
联系业务人员

如何防止毒块攻击

本文将解释与链上网络扩展,块传播和其他主题相关的技术概念。 2009年,世界上第一个比特币节点诞生了。在这里,节点是指运行可以为比特币网络提供服务的特殊软件的计算机。然后,该交易将存储在一个块中并发布到网络,然后该块将传播到网络上的所有节点。由于用户对比特币的需求不断增加,一个区块可能无法尽快传播到各个节点。使用密集的块摆脱通信难题并解决其他新问题。比特币核心开发人员已经意识到了上述问题,并开发了一种称为密集块的解决方案。这个方案很简单。密集块方案仅宣布交易标识符列表,而不是宣布比特币网络上的每笔交易。由于几乎所有事务都是由每个节点存储的,因此接收公告信息的节点可以找到已识别的事务并基于该事务构建一个块,然后安全地验证该块的有效性。如果缺少任何事务,则该节点还可以从关联的节点申请这些事务的数据。密集块可以减少带宽需求,但是它引入了可能的新步骤来申请丢失的交易数据。由于缺少的新交易的数据需要双向通信,因此可能会导致延迟。比特币无限计划减少了申请丢失交易数据的需求。例如,如果一个块需要来自某个节点的数据,则包含所有已知事务的布隆过滤器将发送一个应用程序。通过这种方式,发送数据的节点可以预测该节点申请数据的事务丢失,并将事务标识符列表发送回后者。这种操作也称为Xtreme薄块或Xthin传播。毒块攻击延迟了块传播。上面的协议和另一篇文章中提到的Graphene协议都依赖于可以传播事务信息的节点,从而提高了块传播的效率。但是,如果没有交易数据,这些协议最终将无法提高区块传播的效率。实际上,矿工可以选择将交易存储在尚未发布到网络的区块中,即所谓的有毒区块。这不仅使无法加速块传播成为可能,而且故障块的加速传播也将延迟实际信息的共享。因此,中毒的区块将导致网络结结。一些节点可能已更新了先前创建的某些块的信息,并且某些块需要跟进。在这种情况下,中毒的区块更有可能成为孤立区块,并被网络忽略。毒块只能由矿工创建。但是,考虑到经济诱因,矿工通常不愿制造有毒块。换句话说,网络具有足够的灵活性以抵抗毒物阻止并维持网络的正常运行。