大约 3 周以前,超过 30 位闪电网络的开发者和研究者齐聚日本东京,在三天中讨论了许多跟闪电网络协议(以及相关的比特币 P2P 协议和共识协议)当前的状态和未来的发展有关的问题。
本文上半部分为 David A. Harding 在 Bitcoin Stack Exchange 问答网站上的回复,解释了 “时间扭曲攻击”。时间扭曲攻击是 “共识清理(The Great Consensus Cleanup)” 软分叉提议尝试解决的一种共识层面的弱点。然而,在应用共识清理软分叉的
本文分析了比特币中存在的时间扭曲攻击及其变种。时间扭曲攻击利用区块时间戳规则和难度调整机制,通过恶意控制时间戳来降低挖矿难度,从而使攻击者能够更快地生成区块并获得更多奖励。文章介绍了两种不同的攻击方式,并提出了通过软分叉对时间戳提出额外要求来缓解此类攻击的建议。
本文提出了一种评估去中心化金融网络中攻击缓解策略的框架,并通过闪电网络中的通道阻塞攻击为例,展示了该框架的应用。文章提出了一种结合无条件手续费和基于节点行为的本地声誉系统的新方案,以有效缓解通道阻塞攻击。通过分析和模拟证明,该方案在保持网络激励兼容性、用户体验和隐私性的同时,能够显著提高网络的安全性。
去中心化金融网络的用户会遇到新形式的安全性爆破。在这样的网络中,无法应用基于身份的欺诈防范方法,这与其面向隐私的设计哲学相矛盾。因此需要新的缓解策略。然而,推出新的方法可能会伤害网络的其它有用属性。
我希望用这篇文章激发对共识清理提议希望解决的协议 bug 的讨论。
本文讨论了比特币默克尔树构造中的安全弱点,包括区块熔融性漏洞和针对轻客户端的攻击。区块熔融性允许攻击者创建与原区块具有相同默克尔根的无效区块,从而导致共识分裂。针对SPV客户端的攻击则允许攻击者欺骗客户端,使其相信一笔无效交易已在区块中得到确认。文章还探讨了已有的和潜在的缓解措施,以解决这些漏洞,像是禁用64字节的交易。
比特币的区块头中包含了一个对该块所确认的交易集合的承诺,这是用交易的 id(交易的连续两次 SHA256 计算的哈希值)构造出一棵默克尔树、然后在区块头中包含树根,来实现的。相应地,凭借它,我们可以向一个比特币轻客户端证明某一笔交易被某一个区块确认,办法是提供从树根到交易的默克尔路径。
本文回顾了Matt Corallo的“共识清理”提议,评估了该提议旨在解决的bug的严重性,并探讨了改进措施。作者认为时间扭曲漏洞非常糟糕,最差情况下的区块验证时间令人担忧,并建议修复BIP30验证以及限制传统交易体积上限。此外,还讨论了使用64字节交易的默克尔树攻击,并提出了更多清理建议,以确保软分叉能够尽可能细致地分析所有可以加入的修复措施。
本文深入探讨了比特币Layer2扩展方案,特别是依赖于限制条款的方案,分析了通道、虚拟UTXO等设计模式,以及闪电网络、Ark等具体实现。文章还讨论了交易池策略、软分叉提议(如OP_CAT、CTV、SIGHASH_ANYPREVOUT等)以及各种攻击向量,并对未来的发展方向提出了建议,例如优先激活共识清理和CTV软分叉。