对抗性思维和攻击比特币柏拉图区块链数据智能的方法。垂直搜索。人工智能。

对抗性思维和攻击比特币的方法

一群比特币核心开发人员讨论了比特币的各种攻击媒介,以及提前计划和规避邪恶行为者的方法。

比特币2022,于 6 月 9 日至 XNUMX 日在佛罗里达州迈阿密举办,专题小组讨论题为“防止对比特币的攻击” 与三个 比特币核心 开发人员: 卢克(Luke Dashjr), 布莱恩·毕晓普 詹姆森·洛普 (代替 彼得·托德)。该小组的主持人是 忍者.

小组成员主要讨论了比特币核心开发过程中的技术和社会攻击媒介,这些攻击媒介可能会阻碍或完全破坏比特币作为不可变货币的唯一使命。公开集思广益攻击向量的目的是制定适当的防御措施,并且, 孙子的 《孙子兵法》的战略是:

“不要相信敌人不会来。相信你已做好与他见面的准备。不要相信敌人不会攻击。只靠你的能力,选择敌人无法攻击的地方。”

以下是上述小组的摘要,其中快速概述了比特币核心开发过程。

比特币核心简介

比特币核心 开发人员通过开发流程提供比特币协议错误补丁、软件优化和增强功能;然后,他们根据社区共识通过以下方式发布这些更新: 比特币改进提案 (BIP)。要成功地在技术或社会层面上设计针对开发过程的攻击,可能会阻碍(有时是关键的)协议更新并在开发人员之间灌输不信任。

澄清一下,比特币核心是比特币的免费开源软件实现 完整节点,称为客户端。尽管名称具有误导性,但比特币核心并没有对比特币网络进行集中或“核心”控制,而只是作为一种可能的客户端,人们可以自行决定自由使用。此外,比特币协议共识规则要求所有比特币全节点和经济参与者在考虑区块的有效性时必须执行这些规则。

此外,比特币核心更新不是自动下载的,而是手动下载的,因为自动软件更新为恶作剧者提供了一个攻击向量,可以一次性危害所有节点和矿工。

比特币核心开发团队不崇拜任何一个领导者或发言人——从而使客户和开发过程远离个人性格剥削,因为所有世俗领导者都固有的缺陷。例如,自恋型领导者可能会因在粉丝群中制造骚乱而被削弱,或者脾气暴躁的领导者在受到侮辱时可能会表现得不理性。要推翻一场暴发户运动,必须巧妙地除掉其领导者或瓦解其追随者。

然而,如果没有一个领导者,独立的比特币核心开发人员如何就复杂的设计选择或紧急错误修复达成一致?上述 BIP 在比特币核心开发过程中用于实现比特币协议的功能或信息,但 BIP 还致力于标准化新思想的交流,如下图所示和中所述 BIP 1:

对抗性思维和攻击比特币柏拉图区块链数据智能的方法。垂直搜索。人工智能。
BIP工作流程

我们怎样才能阻止这个过程呢?尽管通过 BIP 1 在非结构化网络中引入了一些手续,但恶意或简单的误导行为者仍有机会通过技术和社会手段颠覆开发过程。然而,通常只有事后才能认识到这种“扳手”,这使得某些攻击媒介特别难以检测和避免。如果你能躲过扳手,你就能躲开那些一心要以牺牲比特币为代价来推行他们的自私议程的异常开发者。

在实践中,实际的 BIP 实现并不像工作流程图那么简洁,并且上面的解释已被删节。然而,我们可以开始理论化邪恶的方法来颠覆去中心化的开发过程。

注:术语“共识“”是一个模棱两可的词,用于暗示超出比特币规则的几种不同事物。通常用于表示“每个人基本上都同意”某项决定,而实际上,有更准确、独特的词语可以比包罗万象的术语“共识”更好地定义对某项决定的不同程度的同意。为简单起见,本文将接近一致和普遍同意称为实现“共识”。

以前对比特币的攻击

2009 年部署的比特币网络有几个关键的 错误和疏忽 这可能会导致严重的技术攻击媒介,但这些众所周知的漏洞很久以前就得到了修复。一般来说,这些错误和疏忽很难被发现,因为代码中没有任何明显的东西。一个专门的开源开发社区自愿为代码库做出贡献 不停地工作 在过去的十年里提高了协议的完整性。通过了解过去的漏洞及其解决方案,我们可以在减轻未来缺陷方面保持警惕,并为生成最坏情况场景以寻找潜在的防御机制提供基础。

当然,对比特币社区和开发过程最引人注目的社会攻击发生在 2015 年,当时有两位备受尊敬的资深比特币开发人员, 加文·安德森 迈克赫恩,创建并推广了一个新的、不兼容的比特币客户端,标记为 比特币XT。 Bitcoin XT 提议增加每个区块可能的交易量,称为 块大小,作为与 MasterCard 或 Visa 等传统支付系统竞争的一种手段。通过采用这种不兼容的比特币版本,用户将有效地 hardfork,或者使之前无效的区块和交易变得有效,最终迫使每个人以类似的方式升级他们的客户端——否则就有风险 网络稳定性重播攻击.

比特币的创造者,匿名者 中本聪当这个有争议的项目宣布时,他早已远离比特币,而社区则被留下来破译中本聪的 注释 寻求指导,就好像它们是神圣的令状一样。 Bitcoin XT 未能达成共识,因为它 天真地 提议增加最大区块大小,其支持者试图通过以下方式颠覆用户共识: 闭门、开发商-矿工-公司勾结。无需深入了解臭名昭著的“块状战争”并产生一个 整本书,我们可以从密集观察 两年 在没有矿工支持的情况下,争论全节点(用户)协调执行新规则的关键功能 用户激活的软分叉 (UASF)。

如果比特币陷入大区块陷阱,网络去中心化和比特币的非政治性将会受到相应的影响。要了解更改看似简单的变量(即块大小限制)的后果,不仅需要了解对代码库完整性的技术影响,还需要了解隐藏的 后果 引发针对新生网络生态系统的额外攻击媒介。人们可以将这一思路延伸到今天 愚蠢的建议 将比特币转移到 验证的股权 替代 验证的工作。尽管区块大小之战的解决方案是通过 UASF 在技术上解决的,但随之而来的社会戏剧需要非技术解决方案,即保持坚定,不要在有害的软件实施上让步,无论企业或名人开发商的支持如何。

BIP激活方式攻击

达什 声称去年就发生了针对比特币核心开发过程的攻击:“快速审判》万众期待的激活方法》直根= 软叉 升级 (BIP 343)。快速试用逻辑致力于激活 BIP 实施,而不会通过在三个月的时间范围内快速成功激活或快速失败激活而产生不良链分裂的风险。一旦构建 Taproot 的工作完成,开发人员就无法就激活方法达成一致,基本上忽略了首先获得无可置疑的社区共识的关键步骤。

虽然 Taproot 成功激活并且后续提供的功能无疑对用户有利,但它的激活 方法 被认为是有争议的,并构成潜在的攻击媒介,同时为未来的 BIP 激活设置了较差的优先级。 Speedy Trial 激活机制被视为对 Bitcoin Core 开发流程的攻击,因为一些开发者脱离了社区共识,同时拒绝考虑 BIP 8 作为一种激活方法,也称为“让我们看看发生了什么”建议,在部署 Taproot 时。

快速审判方法与区块大小战争的结果相反,在区块大小战争中,争执的结论是,协调近乎一致协议的用户应该控制网络共识规则,而不是矿工。使用 Speedy Trial 且没有 BIP 8,激活的决定(或通过在部署时不发出信号来不激活)完全取决于矿工,无论 的用户共识。可以说是鲁莽的快速试验部署方法违背了社区共识,为了在未来缓解这种情况,可能需要 UASF 进行协调,除了房间角落里的几个相关人员之外,还需要足够的可行采用来对抗 BIP 的激活。

“防止对比特币的攻击”的小组成员考虑了如何评估这些历史攻击并避免未来发生类似的攻击。推动 Bitcoin XT 或 Speedy Trial 的“攻击者”的提议可能没有恶意,但显然他们的方法与部分社区坚决捍卫的某些原则相冲突——即用户拥有批准或批准的唯一权利。否决对共识规则的修改。事后看来,攻击者根本没有遵循社区所遵循的比特币原则,这导致这些攻击成为一场关于什么对比特币“最好”的主观解释战争。

上述 Bitcoin XT 和 Speedy Trial 场景传达了 Bitcoin Core 开发过程可能引起争议的方法,强调了谨慎和深思熟虑地处理所有 BIP 实施的必要性。在以下部分中,小组成员对其他看似合理的攻击向量进行了理论分析。

比特币软件验证攻击

Bishop 在开发过程中的兴趣包括确定性构建和构建签名,可以利用它们来防止对比特币用户的某些攻击向量,即试图欺骗用户相信他们已经下载了真正的比特币核心客户端的攻击。

任何比特币客户端的用户都必须从垃圾邮件泛滥的互联网上的某个地方下载它。如果托管下载文件的网页在下载过程中被破坏或拦截,则文件本身可能已被恶意修改。该用户如何证明他们下载的版本确实是预期的比特币客户端?

常用方法提供 不可否认 软件构建的证明,或数据完整性和来源的证明,是 数字签名。数字签名是防篡改蜡封的电子和数学表亲,是大多数使用密码协议的标准元素 非对称 (公钥和私钥)用于在两个陌生人之间进行身份验证 - 但是等等!这并不能保证签名的真实性。最终,对用于验证签名的密钥不信任的身份验证是毫无意义的,因为接收者必须确保验证密钥确实属于发送者。

然后还有另一个 如果验证软件本身受到损害,则会成为狡猾的攻击媒介。聪明的犯罪分子声称自己不是某个人,但还必须通过数字签名来证明自己的主张,因此可能会植入受感染的密钥验证软件,供毫无戒心的用户下载,从而导致错误的身份验证结果。受损的软件包含一个非常微妙的错误,快速浏览一下代码,就会操纵用户推断验证软件会产生准确的结果。

虽然确定性构建不能解决数字签名所有权的身份验证问题,但它确实可以减少对单一来源或对用户已下载软件的声明所需的信任。确定性构建可以在开发过程中保护软件实现免受流氓开发人员或受损开发人员密钥的影响。这种保护是通过以下方式实现的 密码散列 开发人员在构建过程的每个步骤中对软件进行数字签名 - 有效地确保最终的软件 二进制文件 与诚实的开发人员构建的二进制文件相同,因此没有以任何形式或方式受到损害。

总而言之,通过确定性构建和构建签名,人们基本上可以追踪软件中从二进制文件到源代码再到 git 提交 由不同的开发人员进行,并确定由谁引入了哪些更改。然后可以通过以下技术进一步调查该软件的合法性 信任网 用户可以仲裁正在验证的密钥是否真实以及他们正在操作预期的比特币客户端。因此,如果不利用确定性构建和构建签名,用户很容易受到无数攻击向量的影响。

一个这样的例子:如果用户通过下载比特币客户端 HTTP 代替 HTTPS 通过公共 Wi-Fi 连接,也许在外国咖啡店或酒店,在不验证构建签名的情况下,攻击者很可能拦截用户的下载连接,并将下载文件替换为可能窃取硬币的恶意版本的比特币,监视用户或执行其他有害功能。

Bishop 发现软件构建过程的一个“有趣”部分是维护一致的开发环境变量,这有助于消除任何非确定性来源。由于开发人员正在构建的自然开放环境,非确定性来源可能会导致构建签名出现不良变化。可变性(例如各个开发人员之间的操作系统不同)会在开发过程结束时生成完全不同的哈希值。理想情况下,消除构建环境中的所有可变性来源将改善确定性构建,并随后提高对其完整性的信任。

比特币发展的刻意僵化

洛普利用他内心的孙子思想,设计了一种特别狡猾的方法来划分和操纵比特币核心,就像邪恶的开发人员在整个社区和 GitHub 存储库中散布不满情绪一样。如果一位受人尊敬的开发人员对任何和所有协议改进、补丁或更改表达极度的愤怒和愤怒,那么日益增长的普遍共识将是恐惧 朝着触及协议的方向发展。这种开发过程的“冻结”被称为 骨化 并且会使协议的持续改进实际上变得不可能。

也许实现僵化最终对协议有利,因为这意味着比特币广泛确立的主导地位,但洛普认为恰恰相反,因为僵化是一种可利用的攻击媒介,而不是有效的防御。虽然僵化可以防止对比特币协议(例如 Bitcoin XT)的有害更改,但它也可以防止有益或必要的更新,从而提供增强的点对点隐私和更强大的代码库改进。

洛普描述的攻击向量很难当场评估开发过程中的积极对抗是对协议的攻击还是合法的建设性分歧。这与前一点相一致,事后看来,攻击在事后变得更加明显。如果不能完全了解每个开发人员的真实意图,开发过程就会陷入进退两难的境地。

防御技术攻击,如上述早期的错误和疏忽,其解决方案相对简单且合乎逻辑。然而,当引入不稳定的人为因素时,我们就开始玩一场危险的游戏,其可预测性要低得多。社会工程攻击通常与模糊的解决方案打包在一起,并且很可能必须在它们出现时进行处理。有针对性的模因或主流叙事攻击可能完全不引人注目,而确定针对它们的防御措施在很大程度上是一个灰色地带。

战争是欺骗的哲学。可以说,对于潜在对手来说,最合乎逻辑的攻击媒介可能是 煽动社会不满和表情包战争。洛普解释说,故意强迫僵化是完美的攻击,因为许多用户会认为这是一种防御。

对比特币核心开发者的司法攻击

持续盛行 克雷格·赖特,一个自称匿名中本聪的人,以及他的 密码滑稽动作 司法恐吓 比特币核心开发人员的攻击代表了对比特币核心开发过程的直接攻击。尽管 越来越多的证据 克雷格·赖特 (Craig Wright) 不是中本聪 (Satoshi Nakamoto),但他继续造成严重破坏,收取数百万美元的法律费用,并有效高于辩方的出价,因为克雷格·赖特 (Craig Wright) 通过 针对公众参与的战略诉讼 (SLAPP 套装)。回想一下聪明的犯罪分子声称自己不是他们的人,但还必须通过数字签名来证明他们的说法; 这正是上演的场景 但由于非对称密码学的深奥本质,一直未能说服司法系统。

因此,比特币核心开发者应该采用匿名贡献方式,否则可能会面临昂贵且繁琐的诉讼程序。这些匿名方法最终取决于个人的隐私实践,例如完全避免参加比特币 2022 和会议以保持匿名。然而 针对所谓匿名个人的诉讼仍然是可能的 如果存在与该开发人员的假名相关的 IRL 名称或个人识别元素。然而,私人捐助的需求本身就是开发商及其家庭当前和未来的负担。

最终,如果这些对比特币核心贡献者的司法攻击持续存在或 杰克·多西 比特币法律辩护基金 如果资源枯竭,开发人员将被赶出该领域,并进一步加剧协议僵化,因为在无休止的诉讼中烧钱并不是很有吸引力;正如忍者雄辩地总结的那样,“千刀万剐”。

比特币开发中的未来攻击和复杂性

如果比特币不仅要在本世纪生存和繁荣,而且要在许多个世纪等等中生存和繁荣,那么就必须采取谨慎的步骤来制定防御机制,以防止对比特币核心以及比特币生态系统的预期和意外攻击。如果它在你死前变得一文不值,你就无法拥有多代财富工具。

尽管小组成员对于攻击比特币用户是否等同于攻击比特币协议持有不同观点,但针对用户的攻击媒介仍然存在,例如前面提到的欺诈性数字签名和正在进行的克雷格·赖特法律传奇。其他媒介包括不良的钱包构建实践或恶意的主流叙事对用户进行洗脑,这可能对我们认为至关重要的比特币的某些原则造成严重损害。

尽管比特币私钥管理取得了进步,称为 钱包,仍然存在不良行为者故意构建不遵循最新也不理想的钱包的可能性 安全措施 可供他们使用。例如,仍然有钱包实现 使用单一地址发送和接收比特币 - 从而暴露用户可能拥有的任何隐私。

同样,尽管不一定是故意的,而是其局限性的结果,但任何类型的轻钱包(本身不作为完整节点运行的钱包)都需要连接到完整节点才能进行交易通信。轻钱包特别受休闲用户欢迎,具有简单易用的界面的双重性,但也存在容易受到攻击的安全漏洞。这些钱包的用户的交易通信很容易被潜在的不法分子拦截。对于这个向量,一个简单的解决方案(但对某些人来说不切实际)是放弃使用轻钱包,转而使用全节点钱包。

Shinobi 设想了另一种攻击媒介,这些攻击媒介源于针对比特币的简单虚假信息活动,然后迅速演变为政府游说采取法律行动和严格监管。其中一个明显的虚假信息活动是毫无根据的观念,即权益证明是工作量证明的可行替代方案。如果所有司法管辖区,主要是那些拥有廉价且丰富能源基础设施的司法管辖区,都陷入了权力争夺的多米诺骨牌效应,绝望地通过彻底禁止比特币开采来遏制比特币的践踏,也许可以通过 检查独特的电网功率调制 可以识别比特币采矿设备,然后将所有现有的哈希算力重新部署到离网的地方将证明是相当具有挑战性的。

更换和采购必要规模的离网能源的过程(尤其是秘密的)并不是一件容易的事。例如,由于太阳能和风能固有的可变性和间歇性发电,太阳能电池板和风力涡轮机仍然受到太多限制,无法充当等效替代品并完全承担全网络向离网比特币挖矿的过渡。 Dashjr 提出了一种潜在的解决方案,只有在情况足够严重的情况下才会偏离当前的工作量证明标准。如果区块链因某种难以想象的政治命令或哈希算法而停止(SHA256)用于保护比特币的安全被破坏,那么共同寻找解决方案可能是可能的,并且对所有网络参与者都有利。

正如我们所知,修改工作量证明的提议本身就是比特币可能发生的意外攻击的一个典型例子,以及在这种可怕的情况下,比特币核心开发过程中不可避免的有争议的决定。

继续沿着需要时间敏感的 BIP 实施的假设情况的路径,也许可以想象到的最坏情况是 SHA256, RIPEMD-160 ECDSA 机制无疑受到了损害——但即便如此,问题仍然是可行的替代方案是什么?洛普开玩笑说,量子证明算法会让每个人都高兴,但这种厚颜无耻的反应可能会在遥远的未来的某个时候成为现实,因此有必要围绕实际的防御机制进行令人讨厌的硬分叉讨论。 利用非对称密码学的量子计算.

比特币是一种非政治货币,是对现行腐败货币政权的和平抗议。由于比特币面临的对手即美元的性质,可能会发生针对比特币的无情的技术和社会攻击, 如果尚未开始。 Bishop 将比特币完全自愿的社区与自我开发的“免疫系统”联系起来,该社区随时准备坚定地捍卫比特币,这可能是比特币最强大的防御和进攻机制。

关闭的思考

综上所述, 比特币绝不是无敌的。如果不积极考虑所有潜在的攻击向量并寻求相应的解决方案,永远等待的对手可能会发现代码或社区本身的弱点。无论攻击是来自共谋方、假冒比特币软件、蓄意僵化、通过司法系统进行有针对性的攻击,还是来自未来某种未知的灾难场景,比特币人都必须共同努力,团结起来,堵住任何可能成为比特币终结开始的缺口。

该小组的目的不是向观众灌输厄运或悲观情绪,而是通过比特币开发和网络很可能受到的攻击来描述适当的现实 前进时可能会遇到。如果我们决定生活在对这些攻击媒介的无知之中,那么忽视这一点将对比特币的整体安全造成极大的损害。如果历史能告诉我们什么的话,那就是除了比特币之外,所有现有和以前的货币制度都屈服于人类制度的错误。让我们努力不让比特币经历类似的命运。

人类受到货币激励的理性驱动,这使得比特币的开源、伪匿名、货币性质能够利用大量技术熟练的黑客,从而有机会获得稀缺货币比特币的奖励。自相矛盾的是,发现和利用可能危及比特币的缺陷会减少攻击者新发现的财富,从而从理论上鼓励黑客继续支持比特币网络并负责任地报告错误和漏洞。

尽管讨论了攻击比特币核心开发过程和更广泛的生态系统的方法,但几乎没有现成的解决方案来准确确定和防止这些攻击,Bishop 在小组结束时发表了一篇令人心酸的声明,谈到了最大的动机:金钱。他表示:“比特币是有史以来最伟大的漏洞赏金计划……祝你好运。”

这是冈田的客座文章。 所表达的意见完全是他们自己的,不一定反映 BTC, Inc. 或 比特币杂志.

时间戳记:

更多来自 比特币杂志