这种事情能发生在您的区块链上吗?您的区块链社区的精英,包括矿池,区块浏览器和托管节点,可能协调得很好。他们很可能都在同一个电报群和微信群中。如果他们真的想对协议规则进行突然更改以促进自己的利益,那么他们可能会这样做。以太坊区块链曾在十小时内完全解决了一个共识失败;如果您的区块链只有一个客户端实现,并且您只需要将代码更改部署到几十个节点,那么协调更改客户端代码的速度就可以更快。使这种协调的社会攻击无效的唯一可靠方法是通过去中心化社区的积极防御,也就是用户。 想象一下,如果用户正在运行验证区块链的节点(无论是直接还是通过更高级的间接技术),并自动拒绝破坏协议规则的区块,即使超过90%的矿工或质押者支持该协议,结局会怎么样。如果每个用户都运行一个验证节点,那么这种攻击将很快失败:一些矿池和交易所将分叉,但这看起来很愚蠢。但是,即使只是某些用户运行了验证节点,该攻击也不会为攻击者带来胜利。相反,这将导致混乱,因为不同的用户会看到不同的链。至少,随之而来的市场恐慌和可能持续的链分裂将大大降低攻击者能够获得的利润。要解决冲突所需要的大量时间成本本身就会让攻击者放弃攻击想法。 让我们搞清楚一点:你对恶意协议更改的抵抗来自于一种由用户验证区块链的文化。而不是PoW或PoS——Hasu这一点可以看Hasu怎么说的 如果您的社区由37个节点运行者和80000个被动听众组成,他们负责用于检查签名和区块头,那么攻击者将获胜。 如果您的社区的每个人都在运行节点,那么攻击者将会失败。 我们不知道针对协同攻击的“牛群免疫”的确切阈值是多少,但是有一件事情是绝对清楚的:节点越多越好,节点越少越糟糕,我们肯定需要不止几十个或几百个。 那么,我们需要全节点完成多少工作? 为了最大化可以运行节点的用户数量,我们将重点关注常规的消费级硬件。 可以通过要求一些容易购买的专用硬件(例如,从Amazon购买)来增加一些网络容量,但是实际上这并没有给扩展性带来太多增加。 全节点处理大量交易的能力存在三个关键限制: 计算能力:在安全运行一个节点的情况下,需要占用多少百分比的CPU能力?带宽:考虑到当前互联网连接的现实情况,一个区块可以包含多少个字节?存储:我们可以要求用户存储多少GB磁盘? 另外,读取速度要求多快? (HDD机械硬盘可以用吗?还是说需要固态硬盘?)许多对使用“简单”技术可将区块链扩展到多远的错误观点,是由于对这些数字中的每个都过于乐观。 我们可以一一介绍一遍这三个因素: (责任编辑:admin) |