什么是比特币51%的攻击问题

billtush btc算力 2022-03-29 17:17:04 莱特币51 攻击

  51%的攻击问题是最困难的挑战之一,也是最有价值的解决方案之一。比特币白皮书告诉我们,“只要诚实的节点共同控制的

  比特币是一种经济系统。在谈到可能的攻击者时,再次提到白皮书:“不难发现,遵守规则比破坏体系和自己财富的有效性更有利可图,这些规则让他获得的新代币比其他人加起来还要多。”

  然而,我们知道,并非所有参与者都是理性的。这些参与者有可能是国家资助的实体,拥有几乎无限的资金,或者是愿意投资/损失巨额资金以获得某种战略或其他利益的公司。

  如果我们能够创造一种方式,让诚实的矿商达成分布式共识,即使面对恶意的多数派,也能扩大账簿,这将是比特币的一个巨大进步。

  比特币的目的是提供一个分布式账本,支持未经许可的个人对个人(p2p)现金。51%的攻击是危险的,不仅因为它会造成重复消费,导致商家赔钱,还因为它可以摧毁整个系统。

  由于大部分持续的hashpower,攻击者可以连续(或周期性)调用区块链重组(“reorg”),从而破坏网络的可靠性。在极端情况下,它们可以永远挖掘空块,并只在自己的块上扩展链,将所有其他块排除在外,导致链完全不可用。

  Gavin Andresen提出,我们可以防止恶意的矿商发布需要包含优先事务的共识规则的空块。但这似乎是一个不完美的解决方案。资金充足的攻击者不仅肯定能够创建自己的事务,而且这通常也不能防止重新组织攻击。

  ZenCash提出了一种针对延迟块的惩罚系统,在该系统中,攻击者的块的工作证明被一个惩罚因子所减少。虽然这类系统可以阻止某些攻击,但它们也有缺点。它们可能仍然允许深度重组,这会损害0-conf的可靠性。攻击者还可以通过同步的块攻击将此方案翻转到诚实的挖掘者身上。

  在这种攻击中,恶意挖掘者会从相同的块高度秘密地挖掘2条有效链,并从不同的节点上同时广播它们。一些诚实的矿工会先得到A区,然后相信B区就是攻击点,而其他人会看到相反的情况。两组人会互相惩罚,可能永远不会收敛。

  如果惩罚只适用于一定数量的块,那么大多数攻击者可以继续挖掘,直到它们再次拥有最长的链。

  下一个合乎逻辑的方法是允许矿商简单地使看起来可疑的无效块,然后进行彻底的突破。当一个块无效时,从该块延伸出来的链是无效的。这是一次彻底的决裂。

  识别恶意的重组块的一个简单尝试可能是设置一个时间限制,但正如我们将发现的那样,这是有问题的。

  例如,如果链的顶端块高度为100,并且进来了一个高度为100的重复块,如果节点在相同高度的现有块之后的N秒内观察到该块出现,我们可能会说该块是无效的。

  但是N应该是多少呢?假设没有网络或传播问题,大多数情况下块标头可以在大约一秒钟内广播到大多数节点。假设我们选择一个更大的值,例如15秒。那么也就是说任何在15秒后出现的内容都是无效的。

  这听起来很简单,但是如果一个块恰好在15秒处出现呢?有些节点可能比其他节点早一点或晚一点获得它,因此一半的网络可能认为它是有效的,一半可能认为它是无效的。

  这是一个矛盾的方面,因为无论你设置多大,这种情况仍然存在,当一个块正好落在所选的时间标记上时,它可能意外地分割链或被有意利用。直观上看,节点应该能够使用一些常识性设置来判断块是否来得太晚。

  下一个合乎逻辑的问题是,我们能否确定一个块的深度,超过了这个深度,就禁止重新组织。例如,任何深度超过4个块都可能是无效的。但这也遇到了阈值计时问题,因为如果尝试重组3块,而另一个挖掘器也在广播第4块,那么一些节点将认为它是有效的,而另一些节点将认为它是无效的,从而再次导致链分裂。

  中本共识(Nakamoto Consensus)是一个术语,用来描述比特币使用最高的工作证明链来识别正确版本的账簿。它总有一个独特的、可衡量的、无可争议的数字来使各块达成共识。

  拜占庭将军问题描述了一群将军,他们想要进攻一个城市,但是他们没有一个简单的方法来协调他们的进攻。在比特币中,我们可能会把每一个已解决的区块视为一个“将军”,其他部队可以效仿。因此,从事这项工作的矿工就被指定为有机会扮演将军角色的人。

  我们开始意识到将工作证明作为分布式时间戳机制使用的天才,以及创建不依赖于工作量证明、权益证明或其他区块链协议。

  如果区块链工作的基本思想是,挖掘人员一次解决一个块并扩展分类,那么我们希望识别并惩罚绕过该系统的不良行为。

  比特币需要定期处理大量重组块,这种说法多少有些荒诞。大多数孤立块来自同一个社区。偶尔会出现一个2块孤立链。这几乎是闻所未闻的。更多的重组块只会因为软件错误而发生,而不是因为正常的网络活动而发生。

  这些知识可以帮助我们处理大小无界的重组快;我们只需要能够在实际范围内处理它们即可。

  另一个重要的考虑因素是,严格使用最长链规则允许新节点准确地看到发生了什么,并知道应该遵循哪条链。他们不需要知道重组快、后期块等等。因此,如果允许在线节点就正确的诚实链达成一致,那么放弃这方面可能是一种可以接受的折衷方案。

  如果我们设想一个简单的解决方案,不允许重组超过6个块,那么我们知道,与新块同时出现的6个块重组可以拆分链。不过,细心的矿商很容易发现并重新设定这种分裂。

  这需要人为干预,或许还需要诚实的矿工之间的协调。因为它不是完全自动化的东西。

  这可以作为一个实际问题的解决方案,但它不是一个完全分布式的解决方案。如果当前存在一组相互信任的诚实池,那么它是有效的。但在一个没有人能确定自己可以信任谁的环境中,这种情况在全球范围内是行不通的。

  另一个非分布式解决方案是允许一组受信任池(可能是5个签名中的3个)使块无效。这可以通过节点观察重新组织发生的方式来实现; 。

  比特币现金客户ABC 0.18.5使用惩罚和最大重组深度,这样一来,攻击既昂贵又困难。这不是一个完美的解决方案。如果交易所需要至少10个以上重组块的确认,破坏网络将比没有这个补丁更难。

  很明显,51%的攻击不是一个容易解决的问题。但是,我们应打破常规的思维,来实现突破。

  上面我们讨论了51%攻击的问题,以及这个为什么很难解决。在这里我想提出一个可能的解决办法。(免责声明:我没有花太多时间来分析这个问题,所以可能有一些明显的大缺陷。)

  这个解决方案非常简单。节点将惩罚任何基于延迟尝试重新组织的链。以前已经提出了延迟惩罚和延迟证明工作方案。

  从节点看到重组块的时间到节点再到相同块深度的前一个块的时间,每秒钟的时间将受到0.1%的惩罚。

  目前,在正常情况下,当同时发现2个块时,每个节点都会遵守第一个节点看到的规则。在这种情况下,不会有多大变化。例如,如果一个节点在5秒后获得块,那么该链的代价是0.5%。当在任何一条链上发现下一个块时,它仍然是决定性的。

  现在让我们进入另一个极端:假设攻击者等待10分钟并尝试重组块。“很明显恶这是恶意重组。在这种情况下,惩罚将变成60%。这意味着他们需要重组3个区块来克服1个区块,或者重组5-6个区块来克服2个区块。

  如果重组攻击发生在1000秒,那么它的权重就为0%。其他在999秒内看到它的节点会给它一个非常小的重量,所以它很容易被超越。

  在20%,30%,50%的情况下,也会受到一些处罚。这可能会创建一个竞争的情况,但只有在重组深度较浅的情况下才会发生。竞争很快就会结束,同样重要的是,攻击者不能欺骗诚实的节点,让它们互相攻击,因为它们会看到类似的惩罚。

  最后,我们回到中本共识。当比赛结束,并且最长的工作链证明最终超过攻击者链(不管多长时间),它将以最纯粹的意义最终确定下来。

  惩罚是通过对延迟的实时分析来应用的,但是重复的链工作可以通过发布(例如到块资源管理器)重复的工作块来证明。

  接收块的时间将被节点和矿工看到,也可以被发布。同步的节点可以识别竞争条件,并等待它被解决。

  数字新基建助推能源互联网“一体两翼”区块链中台应用建设思考 精选资料分享

  当前“新基建”已从社会范围的讨论走向社会共识和国家战略,并写入了2020年《政府工作报告》:加强新型基础设施建设,发展...

  2021年是 IBM 与 SAP 合作的第 49个年头。在 SAP 刚刚举办的 2021年度大中华区....

  如何处理区块链技术安全框架中各个层之间的关系交织,提炼各个层的安全要求的问题。

  NFT(非同质代币)基础设施平台获选用于DigitalArt4Climate气候倡议,以帮助艺术家....

  区块链作为一项新兴技术,具有不可篡改、匿名性等特性,在给国家发展带来机遇、给社会生活带来便利的同时,....

  1. 技术背景溯源技术中产品溯源是将当前先进的物联网技术、自动控制技术、自动识别技术、 互联网技术结合利用,通过专...

  挖矿就是指用比特币挖矿机获得比特币,也就是用于赚取比特币的计算机。如果能够获取比特币,是能够赚钱的。这类计算机...

  感谢分布式资本提供研究支持,以及摩联科技等代表性企业的交流分享。基于区块链的物联网市场前景:万物互联时代,数据...

  一、区块链+医疗行业(一)解决医疗最大的问题除了金融行业之外,现在看来受益于区块链技术最大的行业应为医疗行业。因...

  P1 Linux下Go安装 P2 搭建go-ethereum P3 搭建区块链底层技术 P4 区块链技术与应用 P5 搭建Fabric(实践中),...

分享: