主页 > imtoken官网安卓下载 > 比特币的潜在漏洞:最公正和渠道安全

比特币的潜在漏洞:最公正和渠道安全

imtoken官网安卓下载 2023-07-26 05:17:42

几乎所有关于加密货币和区块链的讨论都源于中本聪的白皮书:《比特币:一种点对点电子现金系统》比特币:一种点对点电子现金系统(中本聪)。

2008 年 11 月 1 日,一个密码学邮件组从 satoshi@vistomail.com 收到了这份白皮书。 2009年1月3日,从中本聪的个人电脑中挖出了50个比特币,在创世块中有一句话是永远无法修改的:

“The Times 03/Jan/2009 Chancellor on through the second bailout for banks”

就在此时,英国财政大臣达林被迫考虑采取第二枪来缓解银行业危机。 这句话是当天《泰晤士报》头版文章的标题。 区块链的时间戳服务和存在证明允许第一个区块链生成的时间和当时发生的事件被永久保存。

最早的汇率出现在2009年10月5日:1美元=1309.03比特币。 十年后,比特币的价格已经突破了 8000 美元。 按照2017年2万美元的峰值价格计算,2100万比特币的市值已经达到4200亿美元,加上各种山寨币和分叉币。 规模已经超过万亿美元。

比特币给我们带来的最大震撼是,哈耶克的想法是可行的,技术可以超越现有政府的框架,实现“去国家化的货币”,开始流通。

在币值暴涨的疯狂时代,很少有人再读中本聪的白皮书了。 九页的白皮书只是一套技术方案。 所有的篇幅都是讨论一个“币”的实现。 抛开软件技术本身,让我们更详细地审视一个更本质的问题:比特币的“去中心化”是否彻底? 它真的是一个去中心化和完全自治的系统吗? 白皮书是否还有其他缺陷,是中本聪默认忽略但实际存在的错误前提?

算力垄断≠51%攻击

目前对比特币的信仰是基于全网51%的算力难以达到的事实。 然而最近,越来越多的人开始担心拥有大型ASIC矿机的矿场已经垄断了51%的算力。

《麻省理工科技评论》2018年1月18日发布的最新研究表明,比特币和以太坊都属于开放式区块链系统,即原则上任何人都可以成为矿工,但由于这样的架构特点,自然也就形成了相应的组织集中矿产资源。

按周统计,前四位的比特币挖矿活动占整个系统挖矿活动的53%; 而以太坊挖矿活动的集中度则更为稳定,前三名矿机占整个系统的53%,每周平均挖矿活动高达61%。 算力的垄断是否动摇了比特币的“去中心化”本质?

答案是否定的。 51% 攻击不会来自比特币生态系统内部。

这是因为矿业巨头虽然集中控制了算力,但按照游戏规则付出了大量的硬件投资和电力消耗。 如果发动 51% 攻击,整个系统的价值就会崩溃,攻击获得的比特币将毫无意义。

51%的攻击一定来自系统外。

权力下放 = 为大多数人伸张正义

【白皮书摘要】:

本文提出了一种完全通过点对点技术实现的电子现金系统,使在线支付可以由一方直接发起并支付给另一方,中间没有任何金融机构。 虽然数字签名(Digital signatures)部分解决了这个问题,但是如果仍然需要第三方的支持来防止双花(double-spending),那么这样的系统就失去了它的价值。

我们在这里提出一种解决方案,使现金系统在点对点环境中运行并防止双重支出问题。 网络通过将所有交易散列到一个不断延伸的基于散列的工作量证明链中作为交易记录来为所有交易打上时间戳,除非再次完成所有工作量证明,否则已经形成的交易记录不会被更改。

最长的链不仅可以作为观察到的事件序列的证明,还可以作为包含 CPU 上最多计算工作的链。 只要绝大多数 CPU 算力不打算合作攻击全网,诚实节点就会生成超越攻击者的最长链。 系统本身需要很少的基础设施。

比特币分叉会影响比特币价格吗_808比特币创始人颜万卫 炮制比特币风险大_比特币的两个核心问题

信息以最大努力的方式在网络中传播,节点可以随时离开和重新加入网络,以最长的工作量证明链作为节点离线时发生的交易的证明。

如果你仔细阅读比特币白皮书,你会发现中本聪“去中心化”背后的潜台词是“大多数人都是公正的”,而共识机制是比特币的核心理念。

用密码学原理和工作量证明 (Pow) 取代中心化的权威信用。 但是,当一个新的交易记录产生时,总是有一个顺序的。 甚至双花也总是有一个顺序。 同一个用户不可能同时创建两笔交易。 比特币首先引入了一种基于时间戳的随机散列,使其能够形成前后相关的序列。 比特币的交易记录是一个时间序列链。 这就是为什么它被称为区块链。

为避免双花,我们只需要证明其中一条链有效并记录在交易链中,其他交易无效即可。 要在不允许中心化存在的情况下证明其中一个有效,只有一个办法:动员所有人参与这项活动,实行“多数正义”。

PoW 共识算法正是解决谁是多数的问题,“多数”的决定表现为最长的链。 新块广播到节点。 一旦一个节点收到这个区块的广播,它就会遵循“当且仅当这个区块中包含的所有交易都有效并且之前不存在,其他节点同意这个区块”。 验证块有效性”规则。

验证通过后,本节点将不再接受来自其他节点的同一个区块。 同时,该节点将终止其正在进行的包含同一交易的区块的计算,也就是说比特币的两个核心问题,它不会做无用功。 节点会在这个区块的基础上开始新的交易区块计算,以此类推,形成一条链。

由于网络延迟,如果几个节点同时收到彼此的交易块并记录同一条链(分叉),则僵局将被打破,直到发现下一个工作量证明。 运行一段时间后,总会有一个时间序列最长的区块链作为最终被识别的链。 比特币区块链处于不断分叉、放弃、分叉、合并的过程中。

共识机制取代了中介信任,那么我们来讨论一下在极端情况下会出现哪些问题?

2018年某日下午15时30分,中国海底光纤突然发生故障,国际出口受阻。 整个比特币网络仍在正常运行:国内矿池和矿场继续挖币; 国外矿场和交易所继续挖币,交易正常。

就在不知不觉中,中国比特币网络和国际比特币网络被撕成了两个子网。

故障期间,中国境内算力形成一条链,境外算力形成另一条链。 根据共识机制,取决于哪条链更长,另一条长度更短的链将被淘汰,即这条被淘汰的支链上产生的所有交易都需要重新计算,记账奖励将作废。

17时40分,故障发生2小时后,光纤故障排除,恢复国际出口。

由于中国本土算力占比高达70%,不出意外国外链将被淘汰。 故障发生后的两个多小时内,海外矿场的算力成果全部被毁,比特币海外交易全部面临重新记账,整个比特币的商业活动陷入瘫痪。

大规模的通信中断会将比特币网络撕裂成两个计算能力截然不同的分支,因此最优策略是从故障发生的那一刻起立即停止整个比特币网络,直到故障被修复。 否则,如果他们继续在孤立状态下运行,重组合并时会出现更麻烦的瘫痪。

比特币对此也有一些防御措施。 为了防止支链的干扰造成损失,比特币的一笔交易至少需要6个区块的确认。 一个区块的时间是10分钟,6个区块是一个小时。 如果故障导致的网络中断超过一小时,就会对交易产生影响,中断时间越长,影响越大。

人们对比特币容灾能力的讨论更多地集中在分布式多节点存储备份上,而忽略了共识机制本身带来的隔离和吞噬效应。

这样的想法并非不可能。 就在 2018 年 3 月 30 日,非洲国家毛里塔尼亚因海底电缆被切断而与互联网完全断网 2 天。 该事件还影响了几个邻国。 ,断网噩梦首次在现实中上演,说明全球网络基础设施并没有人们想象的那么安全。

事实上,全球97%以上的网络数据都是通过海底电缆传输的,但出于军事目的在海底电缆附近进行活动的国家也不在少数。 2013 年,三名潜水员在埃及被捕,他们被控切断海底电缆。

比特币的两个核心问题_808比特币创始人颜万卫 炮制比特币风险大_比特币分叉会影响比特币价格吗

在军事家的理论中,彻底切断海底电缆,影响国家军事通讯能力,给敌人造成经济损失和瘫痪灾难,也是一种重要的替代打击方式。

而且,拔掉网线可能并不是唯一能让比特币瘫痪的东西。

让我们探讨一些可能影响比特币网络的可能性:

大规模黑客攻击,控制骨干网设备的路由策略,发起BGP攻击。 网络设备厂商的后门权限。 针对核心路由器0day漏洞的蠕虫病毒在传播过程中,有意无意地阻断了国际出口。 电信运营商国际出境通信故障。 国家防火墙限制和拦截。

在上述场景中,发起方可以是系统外的成员,不需要消耗大量的硬件和电力资源,仅通过控制网络层即可轻松实现。 这暴露了比特币和所有加密货币最致命的缺陷:网络层本质上是高度中心化的。

忽略的默认前提条件:通道安全

区块链的底层是P2P网络通信技术,区块链本质上是一种基于P2P的价值传输协议。

比特币采用基于互联网的P2P(点对点)网络架构。 P2P是指同一个网络中的每一台计算机都是平等的,各个节点共同提供网络服务,没有“特殊”的节点。 每个网络节点以“扁平”拓扑相互通信。 P2P 网络中没有服务器、中心化服务和等级结构。

P2P网络的节点之间相互交互、相互协作:每个节点在对外提供服务的同时,也使用网络中其他节点提供的服务。

早期的互联网是 P2P 网络架构的典型用例:IP 网络中的每个节点都是完全平等的。 今天的互联网架构已经是分层架构,但IP协议仍然保留着扁平的拓扑结构。 在比特币之外,P2P 技术最大和最成功的应用是在文件共享领域:Napster 是该领域的先驱,而 BitTorrent 是其架构的最新演变。

“比特币网络”是按照比特币 P2P 协议运行的节点集合。 除了比特币 P2P 协议之外,比特币网络中还包含其他协议。 例如,Stratum 协议用于挖矿以及轻型或移动比特币钱包。 网关(gateway)路由服务器提供这些协议,使用比特币P2P协议访问比特币网络,并将网络扩展到运行其他协议的各种节点。

例如,Stratum 服务器通过 Stratum 协议将所有 Stratum 挖矿节点连接到比特币主网,并将 Stratum 协议桥接到比特币 P2P 协议。 我们使用“扩展的比特币网络”来指代所有的整体网络结构,包括比特币P2P协议、矿池挖矿协议、Stratum协议以及其他连接比特币系统组件的相关协议。

运行比特币P2P协议的比特币主网由大约7000-10000个运行不同版本比特币核心客户端(Bitcoin Core)的监听节点,以及数百个运行各种比特币P2P协议(如BitcoinJ、Libbitcoin、btcd等)的应用程序组成。 )节点。 比特币 P2P 网络中的少数节点也是挖矿节点,它们竞争挖矿、验证交易和创建新区块。

比特节点通常采用TCP协议,使用8333端口(比特币通常使用该端口号,除8333端口外还可以指定其他端口)与已知对等节点建立连接。

P2P 网络只是为所有节点提供了一种交换信息的方式,仍然使用共识算法和加密算法来做事。 但接收方必须相信数据块在传输过程中没有被任何中间方更改。 这其实需要一个“通道安全”的前提保证(这是中本聪没有明确提出的条件,但默认是必须的):

这种信任基于“网络中立”。 然而,互联网传输和承载网络建设是一项高资本投资。 因此,所有的互联网基础设施都来自于通信公司的高额投资,而互联网服务则由各大ISP及其分销商提供。

这就带来了一个比较矛盾的问题:“去中心化”的分布式系统承载在中心化的互联网服务上,但还没有被广泛认识到这种天然高度中心化的底层传输互联网具备轻易攻击和控制“去中心化”互联网的能力产品。

从比特币协议的细节可以看出,它并没有完全防止对传输层的攻击。 比特币传输协议头部都是明文,规则不变。 消息的前 4 个字节是 0xF9BEB4D9。 相信中本聪在设计协议时,将大部分精力都放在了交易过程的密码学设计上。 因为对于区块链来说,传输的数据是否加密并不影响交易本身的有效性:即使中间人窃取了消息,被篡改的交易数据也无法被其他节点接受。

比特币的两个核心问题_808比特币创始人颜万卫 炮制比特币风险大_比特币分叉会影响比特币价格吗

然而,这种高度依赖通道安全性的高度信任的协议极易受到网络底层发起的攻击。 治愈攻击是一种可以瓦解比特币信仰的攻击方式。

合并攻击

治愈攻击,简而言之,就是通过“撕裂”,将区块链网络隔离成两条可以超过“共识阈值”(比如POW的51%)的独立链,然后经过一定时间(超过交易确认)时间),让两条链“愈合”,使用合并对冲强行放弃其中一条已经有大量交易的链。

healing攻击实际上是Partition attack + Delay attack的连续组合攻击方式,其破坏力远超DDos攻击和IP blocking。

DDos 和 IP 地址封锁等针对节点和矿工的攻击是短暂的。

无论对任何IP地址发起DDos攻击,受害者都会意识到,因为节点和矿工会立即意识到他们无法与任何人通信。 被攻击者可以通过切换IP快速响应。 攻击对整个区块链网络造成的损害并不明显,因为节点切换IP后仍然可以与其他节点通信,保证交易确认,不会对区块链网络造成破坏性影响。

治愈攻击直接撕裂了网络,形成了两个大局域网。

两个网络中的节点可以相互通信,没有网络断开的感知,因此无法采取预防措施。 它利用网络层在愈合的那一刻瓦解“共识机制”:如果所有节点都遵守“Code is Law”,那么分裂链必然会被吞噬; 如果不遵守代码协议,就需要人工分叉,从而推翻信念。 更致命的是,治愈攻击可以高效率地反复进行,分而治之,比特币网络就会瘫痪。

治愈攻击不仅对比特币网络有效,而且对以太坊等加密数字货币也构成威胁。 虽然以太坊对通信协议进行了一定程度的加密,但这只是为了保护智能合约的安全,并不是以消除通信协议的身份识别特征为目的的加密。

只要利用网络通信中的长链路、冗余心跳机制等数据和行为特征,攻击者仍然可以通过隔离网络进行精准打击和治愈性攻击。

因此比特币的两个核心问题,无论是哪种数字货币,只要通信底层的数据和行为特征没有被抹去,这种攻击还是有效的。 近年来被广泛炒作的山寨币,包括莱特币、门罗币、比特币现金、量子链等,也未能幸免。

进一步看,所有的共识算法,包括PoW、PoS、DPoS,都需要保证无干扰传输。 因为分布式系统的共识算法本质上是解决通道安全前提下的一致性和正确性问题。 一旦网络通道的安全前提没有建立起来,共识算法所保证的“一致性”和“正确性”就会崩溃。

BGP劫持

治愈攻击是瓦解区块链,实施治愈攻击的技术手段,最常用的是BGP劫持。

什么是 BGP 劫持?

矿机与矿池的正常通信应该包括以下步骤:

矿机 -> 网络运营商 A -> 网络运营商 B -> 网络运营商... -> 矿池

由于比特币矿池的跨地域性,矿机与矿池之间可能存在多个网络运营商(ISP)作为跳转。 这是极不安全的,任何链接都可能被黑客通过边界网关协议(BGP)劫持。

808比特币创始人颜万卫 炮制比特币风险大_比特币的两个核心问题_比特币分叉会影响比特币价格吗

边界网关协议 (BGP) 是 Internet 的关键组件,用于确定路由路径。 BGP 劫持是使用 BGP 来操纵 Internet 路由路径。 网络犯罪分子和国家防火墙都可以将此技术用于他们自己的目的,例如误导和拦截流量。

BGP 是一种网络协议,用于在 Internet 上的网络之间交换路由信息。 通常,它用于确定在独立运营的网络或自治系统之间路由数据的最佳路径。 因此,它也经常被用来寻找从 ISP 到 ISP 的路由数据的路径。 需要注意的是,BGP不是用来传输数据的,而是用来确定最有效的路由路径的。 实际的传输工作是由其他协议完成的,比如TCP/IP协议栈。

808比特币创始人颜万卫 炮制比特币风险大_比特币的两个核心问题_比特币分叉会影响比特币价格吗

现在,假设我需要将数据发送到世界的另一端。 最终,这些数据肯定会离开我的 ISP 控制的网络,所以必须使用 BGP。 当然,路由路径不能由单个自治系统决定,需要其他BGP对等体或邻居的参与。 这些对等点是自治系统,已手动配置为共享路由信息。

当自治系统学习新路由时,此信息会进一步传播到其他对等方。 通过梳理从 BGP 对等体收集的路由信息​​,处理这些数据的路由器可以找出最佳路径。 这些最佳路径基于多种因素的组合,包括路由器管理员实施的距离和配置设置。

由于传播路由的对等体是手动配置的,因此需要黑入边界路由器广播外部BGP通告,从而实现互联网级BGP劫持。 虽然很难做到,但BGP劫持攻击确实在现实世界中出现过。

比特币分叉会影响比特币价格吗_808比特币创始人颜万卫 炮制比特币风险大_比特币的两个核心问题

因为BGP决定了数据从源端到目的端的传输方式,所以必须注意协议的安全性。 通过操纵BGP,攻击者可以按照自己的意愿修改数据传输路由,从而达到拦截或修改数据的目的。 为了在 Internet 级别劫持 BGP,需要将边界路由器配置为发送没有分配给它的前缀的通告。

如果恶意广告比合法广告更具体,或声称提供更短的路径,则流量可能会被定向到攻击者。 攻击者经常使用过时的前缀进行劫持,以免引起合法所有者的注意。 通过广播包含虚假前缀的通告,被攻击的路由器可能会污染其他路由器的路由信息​​库。 污染其他路由器后,恶意路由信息可能进一步传播到其他路由器、自治系统甚至骨干Internet。

近年来,记录了许多BGP劫持攻击。

比较出名的是2013年巴基斯坦封杀Youtube的事件,由于巴基斯坦电信部门错误地将封杀的youtube加入到BGP中,导致该协议上的所有AS都被封杀。 换句话说,世界上所有其他国家的人都无法访问Youtube,因为数据包被淹没到巴基斯坦,而巴基斯坦只是屏蔽了Youtube。

在 Renesys 记录的案例中,2013 年 BGP 劫持被用于在到达目的地之前通过任意指定的国家/地区重新路由数据。 其中,一个攻击案例中的数据流量实际上是绕道墨西哥到美国再到白俄罗斯,才到达原目的地。 通过分发伪造的 BGP 广播,白俄罗斯 ISP 成功地将非法路由传播到互联网。

在这种情况下,这很可能是企业或国家间谍活动。 然而,有迹象表明,即使是非国家级的对手仍然可以发起 BGP 劫持攻击。

在 2014 年 Dell SecureWorks 分析的一个案例中,BGP 劫持被用来拦截比特币矿工与矿池服务器的连接。 通过将流量重新路由到攻击者控制的矿池,攻击者能够窃取受害者的比特币。 这次攻击在两个月内收集了价值 83,000 美元的比特币。

2015 年 7 月,监控软件提供商 Hacking Team 遭到黑客攻击。 泄露的内部邮件显示,2013 年意大利政府曾与 Hacking Team 合作。 同时,一家意大利ISP也购买了该公司的BGP劫持服务。 由于托管 Hacking Team 命令和控制服务器的 IP 在 IP 被阻止后已脱机,因此恶意软件与命令和控制服务器的连接仍然无法访问。 通过发布托管命令的控制服务器的虚假 IP 前缀,Hacking Team 意外地重新获得了对受害者机器的访问权限。

这是西方政府使用 BGP 劫持的第一个记录在案的案例。

“拜占庭将军问题”和“两军问题”

比特币是分布式系统中前所未有的社会实验,也被誉为解决“拜占庭将军”问题的成功范例。 这里我强烈建议大家百度或者维基百科看看“拜占庭将军”和“两军问题”这两个理论的原型。

比特币分叉会影响比特币价格吗_808比特币创始人颜万卫 炮制比特币风险大_比特币的两个核心问题

拜占庭将军问题是2013年图灵奖获得者Leslie Lamport在1980年的论文The Byzantine Generals Problem中提出的分布式领域的容错问题,是分布式领域中最复杂、最严格的容错模型。分布式领域。 Lamport 是分布式系统的鼻祖,广为流传的故事是:

拜占庭位于现在的土耳其伊斯坦布尔,是东罗马帝国的首都。 由于当时拜占庭罗马帝国幅员辽阔,为防御起见,各支军队都隔得很远,将军们只能靠使者传递消息。 战争期间,拜占庭军队中的所有将军和副官必须达成共识,决定自己是否有胜算,然后才能进攻敌方阵营。

但是,军队中可能出现内奸和敌特,影响将领的决策,扰乱全军秩序。 做共识时,结果不代表多​​数意见。

此时,拜占庭问题就形成了,即已知一些成员会叛乱,剩下的忠诚将军如何在不受叛徒影响的情况下达成共识。

拜占庭将军问题不考虑信使是否会被拦截或无法传递消息。 Lamport 已经表明,通过消息丢失的不可靠通道传递消息是不可能达成共识的。

另一个比“拜占庭将军问题”更基础、更广为人知的问题是“双将军问题”:

两支军队,每支军队由两名将军率领,正准备进攻一座坚固的城市。 两支军队都驻扎在城市旁边的两个不同的山谷中。 两军之间隔着第三个山谷,两位将军唯一的交流方式就是跨过第三个山谷送信。

问题是第三个山谷被城池守敌占据,通过这里寄出的信件可能会被守城敌人截获。 两位将军虽然约定同时攻城,但并没有约定具体的攻城时间。 为了保证胜利,他们必须同时进攻,否则单独进攻的军队可能会全军覆没。 他们必须相互通信,确定一个同时攻击的时间,并同意在那个时候进行攻击。 两个将军需要对方知道对方知道他同意作战计划。

两军问题是为了说明试图在不可靠的通信链路上通过通信达成协议是有缺陷和困难的。 这个问题经常出现在计算机网络的入门课程中,解释TCP协议不能保证通信两端的状态。 一致性。 然而,两军问题也适用于任何可能存在通信失败的两点通信。

对比两个故事,我们会发现,两支军队的问题与拜占庭将军的问题类似,但必须注意的是,信使要经过敌人的山谷,在此过程中可能会被捕,也就是说,两军之间的问题是中路不靠谱,里面没有汉奸论。 这就是两军问题和拜占庭将军问题的根本区别。

两军问题是计算机通信领域第一个被证明无法解决的问题。 由此也可以推导出,信道不可靠条件下的“拜占庭将军问题”也是无解的。

这意味着我们传输的信息仍然可能丢失、被拦截或更改。 也许只有未来的“量子通信”才能解决加密通信的问题。

抛开各种加密货币共识算法优劣的争论,我们必须看到本质问题,即共识算法离不开通道安全的前提。

比特币的理论缺陷在于网络通信层的安全性。 人们过于执着于时间戳签名、哈希链等区块链技术在密码学方面的贡献,而忽视了其作为分布式系统的网络层安全性。 事实上,这项技术仍处于早期阶段。 虽然比特币在过去的十年里被预言过数百次死亡,现在还活着,但作为科技的本体,不应该盲目相信。

如果把世界看成一层一层的协议,那么底层协议就会控制和影响上层。 比特币作为一个应用层,必须由下一个网络层来控制。

网络层代表提供网络服务的运营商。 它是一个完整的社会结构,直接受到现实世界的金融和法律影响。 这个世界最后的约定,也就是最终的掌控者,其实是政治层。

对于非国家化的加密货币,底层仍由国家的网络设施控制。

这个事实看起来有些悲观,但从另一个角度来看,区块链也是需要运维的。

虽然这种观点似乎与追求“保持开放、免许可、分布式”的理念有点格格不入。 但当百亿资本涌入那些加密货币时,专业的攻击者也将目光瞄准了这片“无人区”。 产业要发展、要保护,更需要呼吁和推动政府部门尽快出台相关法律法规和监管政策,规范、保护和约束良好的生态环境。返回搜狐查看更多