克雷格·赖特 | 2020年5月19日 | 比特币和区块链技术
有人错误地认为哈希率本身就是一种安全功能。这里的错误源于相信您永远不会追上来。这种想法是有限的,并且错过了计算增长的指数性质。每美元电力的计算量成倍增加,在正常的计算机系统中,每18个月增加一倍。在像比特币这样的系统中,正处于快速发展阶段,其增长速度甚至更快。
Some people mistakenly believe that Hash rates are a security feature in and of themselves. The mistake here is believing that you will never catch up. This idea is limited and misses the exponential nature of calculating growth. The amount of electricity calculated doubles every dollar and doubles every 18 months in a normal computer system. In a system like Bitcoin, it's growing fast, even faster.
举个例子,一个流氓矿工可以重新创建从充实到2017年底(八年期)的整个比特币生命周期内表示的整个哈希率,仅用一个问题即可获得当前比特币哈希率的50%个星期。更糟糕的是,您认为现在网络上可用的潜在哈希率数量超过了当前比特币哈希率的三倍。凭借超越摩尔定律的进步,比特币的功率和容量几乎每12个月翻一番。在价格方面,整个BTC网络保持了将近5至6个月的时间。然而,与此同时,仅基于散列的计算能力已大大提高。
For example, a rogue miner could recreate the entire hash rate expressed over the entire bitcoin life cycle, from enrichment to the end of 2017(eight years) , and get 50% of the current bitcoin hash rate in just one question. Worse, you think there are more than three times as many potential hashes available on the network than are currently available on Bitcoin. With advances beyond Moore's law, the power and capacity of Bitcoin have doubled almost every 12 months. In terms of price, the entire BTC network was maintained for approximately five to six months. At the same time, however, hashing-only computing power has been greatly enhanced.
仅基于散列能力,无赖政府或其他攻击者将能够在攻击比特币方面赚取比网络所能承受的更多的钱。实际上,通过做空硬币(比特币),既可以从攻击中获取直接的货币价值,又可以为维持这种攻击而支付费用。比特币,每个比特币十万美元,仅基于散列能力,每天可能会遭受约10到2000万美元的获利攻击,可能返回价值的100倍。在诸如BTC网络之类的比特币破损副本中,有限的块大小会使同类攻击变得更加简单。
Based solely on hashing capabilities, rogue governments or other attackers will be able to make more money attacking bitcoins than the network can afford. In effect, by shorting coins (BITCOINS) , you can both get a direct monetary value from the attack and pay to sustain it. BITCOINS, $100,000 per bitcoin, based on Hash capacity alone, may be subject to a profiteering attack of about $10 to $20 million per day, possibly returning 100 times their value. In a broken copy of a Bitcoin, such as a BTC network, a limited block size makes the same type of attack much easier.
有种原因导致此类攻击无法进行的原因。在世界上几乎每个国家,以这种方式有意地做空资产进行攻击都是非法的。不是散列使网络安全。并不是哈希计算会阻止51%的矿工两年前重新计算区块链。比特币的主要安全结构在于区块链的公共性质。比特币是安全的,因为哈希是公开且广泛分布的。网络中涉及的人员可以轻松地检测到任何攻击。
There are reasons why such attacks can not be carried out. In almost every country in the world, it is illegal to intentionally short an asset in this way. It's not hashing that makes the network secure. It's not that Hasche's calculations will prevent 51% of miners from recalculating the blockchain two years ago. The main security architecture of Bitcoin is the public nature of the blockchain. BITCOIN is safe because Hasche is open and widely distributed. Anyone involved in the network can easily detect any attack.
该网络由商业节点(矿工)系统管理。此类实体充当分布式受托人,控制并确保比特币网络的完整性。他们充当代理,并为他们的任务付费。他们不拥有网络或数据库。他们按照单方面协议或合同行事,遵循一系列规则,在这些规则中,他们同意验证交易并创建区块以换取付款。
The network is managed by the commercial node (miner) system. Such entities act as distributed trustees to control and ensure the integrity of the bitcoin network. They act as agents and pay for their assignments. They don't own networks or databases. They act in accordance with unilateral agreements or contracts and follow a series of rules in which they agree to validate transactions and create blocks in exchange for payment.
响应攻击需要时间。因此,该过程的第一部分是由成熟期组成的:节点发现的块直到它们再旧100个块之前,才能被声明为收益和花费。这种老化过程可以确定并隔离正在攻击网络的任何节点,其方式应允许诚实节点实施控制并“冻结”攻击者。当我实施警报密钥时,它将使大多数网络矿工能够迅速看到并响应攻击,并由其他保护网络的人员通知,从而允许他们实施控制。
有一个神话,一个不产生块的实体可以被认为是一个节点。在我的白皮书中非常清楚地指出,节点创建了块。完整节点将验证其他节点产生的块中的事务-通过创建块的过程来完成验证。如果您没有创建被大多数节点接受的区块,那么您就不会在比特币内验证交易。比特币上存在的唯一完整节点是那些定期创建块的节点。尽管有神话,但在BTC网络上也有不到20个节点。
图:2020年4月21日BTC网络的分布。
尽管分布随时间变化,但仍然有五六个矿工继续控制大多数哈希率。这不成问题; 这是比特币设计背后的方法。没有比特币无法控制的不可逆哈希函数;只是这些价值的出版。人们无法理解的原因是没有阅读白皮书中的两个关键参考文献:参考文献二和参考文献三。两者都详细说明了设计安全时间戳服务的过程。论文的作者创建了一个中央时间戳服务器,该服务器允许外部各方通过其发布来验证哈希链的完整性。
[2] H. Massias,XS Avila和J.-J。Quisquater,“以最小的信任要求设计安全的时间戳服务”,在荷比卢三国第20届信息理论研讨会上,1999年5月。
[3] S. Haber,WS Stornetta,“如何为数字文档添加时间戳”,载于《密码学杂志》,第3卷,第2期,第99-111页,1991年。
1990年代的论文详细介绍了现在称为区块链的早期概念。不同之处在于作者不相信在每个节点之间都可以形成分布式共识。在这里,网络的用户不同于时间戳服务,时间戳服务类似于比特币,因为节点与网络的用户不同。比特币的区别在于,我设法找到一种允许网络上的不同个人来来去去的方法。这样,系统变得健壮。如果任何单个节点发生故障或受到攻击,则网络上的其他节点将直接接管。与先前尝试制作“时间链”或90年代早期用于标记文档的区块链不同,比特币可以抵抗网络上任何实体的失败。
Massias等人发布的系统。其他则依赖于一系列哈希值的发布,这些哈希值将每天向公众发布。为了实现这一目标,他们使用了诸如基于报纸的出版系统之类的系统。因此,哈希的数量被限制在每天出版物数量所设定的水平上。该系统还限制了地理出版率。更重要的是,所提议的系统没有方法允许一个以上的当事人作为主要的时间戳记来源。
该系统的结果是不可靠的。生存能力研究表明,这种形式的串联故障可能导致大规模倒塌。尽管该系统优于先前尝试使用公钥基础结构发布的系统,但仍无法通过限制其使用和扩展到其他系统来达到足够的安全性或弹性。
为了具有弹性,系统必须支持多个节点。每个节点必须能够来去去去,而其他节点必须能够同时经受住一个节点而不是多个节点的故障。这样的可生存性研究使我们朝着确定一个更具弹性的整体系统发展。我们创建比特币节点作为网络代理,以这种方式允许无论有多少代理失败,比特币都能继续运行。实际上,比特币的历史是随着多个节点的失败而完成的。在比特币长达十年的生命周期中,节点公司来来往往。
在先前的时间戳系统和与公钥基础结构关联的系统中,关键控制节点的故障导致相应系统的崩溃。如果在比特币中发生同样的事情,整个货币体系将崩溃。它将镜像与过去的集中式和分散式数字货币相关的系统。当主系统出现故障时,eCash,DigiGold,Mondex,e-gold,Liberty Reserve,Mojo Nation以及无数其他尝试创建数字货币的尝试均会失败,因此,比特币需要能够应对此类失败。诸如Liberty Reserve和Mojo Nation之类的分布式系统由于类似原因而失败。通过创建一个网络代理系统,该系统将按照一组定义的规则工作,比特币将以其他系统以前没有的方式变得具有弹性。
关键是必须以无法更改的方式形成基本规则集和分布式单方面协议或合同。代理能够执行规则,但不能创建规则。因此,在其余时间里,比特币的规则是固定的。这样,就不会有可能导致整个网络故障的中央实体。同时,没有任何代理(节点)的重要性足以永久损坏网络。
诸如以太坊之类的系统重新引入了故障的初始临界点,并具有规则主体,该规则主体的故障可能会影响网络的其余部分。更改系统和运行区块链的数据库的能力是控制系统的能力。节点不控制系统。节点不添加新代码。在BTC网络和其他系统(例如以太坊)中,由中央开发人员小组充当合作伙伴来设置规则,并根据需要进行更改。然后,同一小组或阴谋集团可能会在系统中引入更改,就像我们在BTC网络中引入隔离见证所看到的那样,这是比特币的副本,通常称为比特币核心。一小组开发人员设置规则,然后其他节点必须运行这些规则。
这样的开发人员使用所谓的软分叉的方法来实现更改并控制协议。该过程通过嵌入不会随着代码升级立即激活的更改来工作。这是一个无害的诱饵和切换过程,它通过允许节点实施逐渐的小变化来隐藏网络中的根本变化,从而隐藏劫持和控制系统的整体能力。
这样,诸如Bitcoin Core之类的系统的开发人员便可以秘密地引入更改,然后由节点引入这些更改。这里,通过一系列次要变更来包含和引入主要变更。在已经进行许多更改之后,才在稍后的时间进行主要更改,从而增加了节点投票的外观。然而,现实是节点没有获得投票,协议投票也没有成为比特币的一部分。比特币节点按照看到的顺序对块进行投票,但它们不是通过有意识的过程来投票的。短语“用比特币投票”是指由系统执行的自动化过程,该过程宣布整个网络中发生的交易顺序的影响。
该过程允许网络向未遵循预期交易顺序的任何叛逃者或系统发出信号。遵循交易顺序的节点会孤立所有被确定为错误或会攻击网络的块。我们将在后面的内容中进行详细介绍,但是必须说,不诚实的节点包括支持设计者节点的节点,即使这些节点不会直接受益。但是,建立在不诚实节点块上的节点正在从另一个实体的恶意和可能的犯罪活动中受益。根据法律,此类不诚实的节点将受到各种诉讼。
那么,工作量证明有什么作用?
问题就变成了,为什么我们要完全使用工作量证明?这并不是因为工作量证明本身就是一种安全机制,也不是因为哈希本身就可以保护网络。这两种情况都不正确。工作量证明增加了创建块的成本。工作量证明解决方案的创建提出了一个不对称信号,该信号使少量实体(商业节点)产生的东西很难创建且创建成本很高,但同时却需要简单且廉价的验证。每个竞争节点因此可以快速地验证每个其他节点的工作。此外,通过统计审核或抽样,外部各方可以验证节点整体的行为。这样的其他各方不需要验证整个区块链,而可以依靠已经通过网络发布的块头。
实际上,比特币是一种信号游戏。与大多数信号游戏不同,比特币不依赖两方玩家系统。相反,比特币是一个多领导者,多跟随者的Stackelberg游戏。它也是一种无限的游戏,每个单独的节点都可以随意移动,但是游戏本身却可以无休止地继续下去。在任何时间点,整个Stackelberg游戏都可以建模为简单的两人游戏。在这里,攻击者可以针对诚实节点进行建模。在时间点上,可以将跟随攻击者的任何节点视为攻击者的一部分,因为要建模的唯一问题是与对抗攻击相比,支持攻击的计算能力。
由于任何攻击都是公开的,而且可能会遭到反对,因此我们所拥有的是带有时间限制的信号游戏。攻击者需要能够进行未被发现的攻击,并允许他们完成一组将在老化的区块中成熟的交易[1]。
在信令游戏中,涉及比特币的节点根据其他节点发出的信号形成策略。在该系统中,将基于依赖于信息的信号来得出知情的玩家策略。此类信息可能包括经过验证的攻击证据,警报密钥广播后的公告或多个竞争块的创建。信息可以扩展到法院命令,使用警报系统的变体并引入与每个法院相关的高级数字签名,这些命令将在整个比特币网络上发布。当然,这种信号需要高级知识,而在比特币的早期是无法实现的。
Zahavi(1975)[2]提出了信号游戏的早期实现,并涉及跨动物的信号策略。类似于孔雀在尾巴中浪费能量,尾巴在交配之外没有生存的目的,比特币节点使用工作量证明来表明保持诚实的意图。在这里,诚实节点可能被认为更合适。换句话说,它能够比其他节点更有效地产生有效块。在我们的模型中,在孔雀模型中充当老虎的当事方相当于执法。
障碍原则
类似于动物如何通过一系列可观察的显示特征(本身会降低适应度)来传达适应度,比特币节点积极浪费投资来显示适应度。在比特币中,目的是显示诚实。节点争相说他们是诚实和高效的。这样,每个节点都会产生有效地处于风险中的投资。比特币节点依赖固定数据中心,具有高连接性,长期电力合同以及大量昂贵的设备。该系统易于检测。与恶意僵尸网络系统和网络攻击者不同,很难甚至几乎不可能检测到任何规模的比特币节点。
尽管运行在较低投资水平上的早期节点可能会恶意行为,但随着比特币的扩展,恶意行为的成本会随着整个网络的投资而增加。由于需要固定的长期设施,攻击者难以摆脱攻击。该场景导致能够轻松地对不诚实的一方采取行动。即使在像比特币这样的全球系统中,诚实节点也可以轻松地控制任何攻击。它不是法律之外的系统,而是使用法律来确保创建诚实系统的系统。理想情况下,比特币的日常操作不需要法律互动;这种互动的威胁仅会限制某些交易。
以我们的孔雀为例,比特币节点在工作量证明上消耗能量的方式与孔雀在保持低效附属物的方式上消耗能量的方式相同。在这两种情况下,我们都通过缓解闲聊游戏来减少双方之间发信号的需求。就孔雀而言,尾巴长的不健康动物成为当地食肉动物的食物。在老虎身上,长长的孔雀尾巴象征午餐。同样,大型采矿设施会制定法律目标。随着比特币节点(或矿工)规模的扩大,政府和监管机构将以主要参与者为目标。目前,仅需要三个或四个节点操作员来执行法院命令和犯罪命令收益。节点可以选择保持较小,在这种情况下,它们可以简单地跟随较大节点的动作。小型节点无法以任何成功率单独攻击网络。更大的节点会随着它们的增大而受到检查。
大型业务受到监管机构和税务部门的审查。工作量证明消除了被称为廉价谈话的条件。廉价对话游戏是一种个人玩家的偏好保持独立于其他玩家表达的信号的游戏。在节点可以随意移动且不需要正式监管的任何环境中,没有成本的系统都会导致玩家背叛和违反规则。通过创建不容忽视的成本,工作量证明增强了节点之间的诚实性。比特币并不仅仅是为了盲目的创建哈希难题而分发给节点,而是随着任务的成功完成而分发:验证和在比特币网络中传播的交易的时间顺序。
基于分布式,基于区块链的系统只有在效率低下时才能运行。如果工作量证明算法要解决一个有价值的问题,那么节点将能够对冲作弊的成本,并创建一种情况,即通话费用低廉,而信令不再确定哪个节点是诚实的。
使用比特币,区块链和节点之间的交互被广泛发布,并且可以由系统的所有用户进行审查。因此,方便地确定系统内的作弊变得简单。寻求攻击网络的一方在公众监督下进行了攻击。在医师办公室的医学学位框架中可以看到另一个类比。它是一个信号,使医疗专业人员可以让他的客户知道他是医学专业的合格成员,但并不完美,因为知道医生学习的地点并不能证明该人是好医生。
在大多数情况下,医学界及其监管机构无需介入。但是,如果医师虚假陈述了他的资格,社会和法律将对个人处以重罚。与任何有学位的人一样,不要求医生展示他的所有资格和文凭,但是如果该人显示伪造的学位,则将成为可起诉的犯罪[3]。
同样,处理无效交易的比特币网络中的一个节点将很快被其他节点驱逐,这些节点作为其代理机构的一部分对网络进行自我维护。这种安排对于每个这样的节点都是有效的,因为发现无效块会增加所有剩余节点的报酬。对于节点而言,针对不断尝试欺骗或篡改系统的节点发起犯罪行为也变得越来越有效。大多数国家/地区都有涉及计算机攻击和恶意使用计算机的法律。此类节点不执行根据此类法律的刑事诉讼。由于诚实节点会对不诚实的节点造成重大损害并承担刑事责任,因此,诚实节点会对任何不诚实的节点增加不对称成本。检测到不诚实节点攻击网络时,必须花费金钱通过法律措施保护自己,这是一项高成本的活动。诚实节点只需要报告不诚实节点的犯罪活动。成本差异严重偏向诚实。
可验证的信息
比特币通过允许任何参与者(无论是节点还是用户)来验证和验证网络上任何节点的消息,从而扩展了信号游戏。这样的消息不仅提供了工作量证明解决方案,而且还对应于有效的,按时间顺序排列的块的创建,该块适合并执行网络规则。“可验证的信息游戏”的真实示例可能涉及一个人,当一个人在房间里知道小提琴,并且知道可以要求他们演奏时,声称自己已经熟练地拉过小提琴。
Grossman(1981)[4]研究了公共和私人披露以及优质产品创造的作用。通过创建一个所有参与者都可以轻松验证他人行为的系统,比特币激励了高质量区块的创建。这样,它是一个支持诚实金钱的系统,可以很容易地被拦截以阻止洗钱和大规模犯罪与欺诈。
创建块后,每个节点都会创建事后可验证的公开内容并对其进行操作。在这里,谈话很昂贵。块的创建需要大量投资来寻找易于验证的工作量证明解决方案。需要几分之一秒的时间来验证块哈希。在块中验证消息可能需要更长的时间,但仍然只需要几秒钟。理论上,攻击块可以使用几秒钟来获得少量但可量化的优势,但这是有代价的。在比特币区块内围绕其已验证交易创建工作量证明的投资是昂贵的,远比交易验证和区块的时间顺序昂贵。因此,比特币节点必须花费大量资金才能创建可快速验证的攻击。将块到期时间设置为100个块(占一天的大部分时间),节点无法从攻击中获利。建立工作量证明解决方案的任何投资最好用于诚实地验证交易。
甚至可以很容易地检测到两次攻击,即对网络的一种攻击形式。与工作量证明成本相比,节点的事后验证成本和通信成本均可以忽略不计。在诸如Grossman(1981)[4]的私人披露信号博弈等模型中,使信息可公开验证非常重要,包括第三方审核和验证信息的能力。他们验证所有信息不是至关重要的,而是他们可以验证任何特定的可用信息源,并且能够通过以警告其他人注意错误的方式报告无效信息,从而能够轻松地对无效信息采取行动。
大块的成熟度可作为保证。用户可以开始信任区块中的信息,因为他们知道创建区块的每个矿工实际上也保证了同一区块的准确性和完整性。简单地说您已找到一个街区并不便宜。即使给定了标头本身,充当第三方的用户也可以简单地下载块标头并验证工作量证明哈希,而无需验证所有交易。
该方案导致了多个级别的事后验证。仅使用简化支付验证(SPV)进行交互的用户只需验证区块头即可确保该节点以合适的方式参与。在某种程度上,每个这样的用户都知道他们可以信任区块链中的数据,因为每个节点都受到激励在发现的区块中发现任何错误。在发现块解决方案时,每个节点都需要验证所有事务。可以对它们进行哈希处理和建立索引,以便即使节点之间的顺序发生了变化,或者由于诸如地理距离之类的情况而已以某种形式在节点之间接收到交易时,节点也可以将交易的单纯哈希值与知道区块中的交易与他们已验证的交易完全相同,
寻求投资的任何一方都可以进入与运行节点相关的活动。诚实节点使用工作量证明作为一种披露,将其与网络中的不诚实个人区分开。换句话说,诚实的节点不会与不诚实的节点混为一谈,因为该协议的一部分涉及公开其工作质量。任何个人或第三方都可以简单地区分传输数据块和充当网络诚实代理的能力。
补贴和费用
比特币的设计方式迫使其扩大规模。如果链上发生的事务数量没有增加,则系统将设计为结束。特别是,比特币的设计方式导致可以形成竞争提供服务的商业实体。比特币没有让监管机构去监视每个代理,而是创造了一种场景,即信息的公开披露允许系统的用户,节点本身和第三方都可以验证系统的完整性。更重要的是,激励节点查找和删除不诚实的参与者。每当工作量证明发现率降低时,
同样地,卡特尔的形成也很容易被发现。如果一大批节点试图排除诚实的参与者以增加该组的获利能力,则所有操作都可以公开查看并采取行动。证据仍然可用。“孤儿链”已被广泛出版,可以用作勾结的证据。如果一组具有低哈希率的诚实矿工不断发现块,但发现节点被共谋小组拒绝,则分析此类拒绝并显示由共谋小组进行的一系列系统行为将非常简单。导致一系列不公平的商业行为,并违反了比特币的基本规则。因此,大型矿工需要通过不断改善其运营来竞争,或者知道他们将被迫退出市场。一个大型的比特币节点以垄断方式行事还不够。他们必须证明比竞争对手更好。
在这里,补贴和费用发挥了作用。每四年,向节点提供的补贴减少一半。比特币将不会继续以指数形式“上升”;它是一个价值物流系统,最终将通过使用来评估。这样,如果比特币节点没有通过获利的交易水平获得收益,它们将变得过时。结果,需要扩展比特币交易。比特币与替代金融系统竞争:它的主要优势是能够以前所未有的水平提供小额支付和其他小额交易。如果费用水平提高,那么与现有金融系统竞争的能力就会丧失。因此,比特币只能通过扩大交易总数来成功。
为此,节点需要同时提高其他节点与其自身之间的生产率水平以及事务处理的水平。在单独的任务上消耗的能量之间有一个平衡:在投资他们的钱时,比特币节点需要在解决工作量证明难题,验证和订购交易以及传播交易之间进行选择。随着补贴的减少,变得越来越有必要大大增加处理的交易量。这样做的节点必须将投资从解决工作量证明难题中转移到与事务验证和传播相关联的更多计算能力上。如果节点不这样做,也就是说,它们不会按块大小扩展,然后费用将增加,导致使用比特币不再盈利的情况。因此,比特币唯一可获利的用途是洗钱和犯罪活动,而比特币是无效的。
随着比特币按价格缩放而不是按区块大小缩放,追踪和追踪资金变得更加容易,并且执法工作也将越来越多。实际上,比特币网络的增长导致节点要么专业化并遵循现有法律法规,要么成为主动目标,成为犯罪洗钱的来源。比特币的博弈论构成是导致二进制结果的一种:要么比特币在链上大规模扩展,在这种情况下,它需要大型数据中心和商业运营,或者成为目标并且很容易因犯罪而被关闭活动。
谨慎选择了比特币的非对称设计,以确保该系统将成为具有竞争力的实体商业团体,它们竞争提供诚实的交易处理。
参考和注释
[1]重要的是要注意,直到一个区块成熟,才向节点付款。要成熟,一个块必须深100个块。从用户的角度来看,块和孤立的顺序无关紧要。如果发展链的竞争分叉,则来自网络用户的交易将最终出现在每组块中,任何单个块的孤立都不会以任何重大方式影响用户。
[2] Zahavi,A.(1975)。配合选择-残障选择。J Theor Biol,53:205-214(请参阅:http://www.eebweb.arizona.edu/Faculty/Dornhaus/courses/materials/papers/other/Zahavi%20sexual%20selection%20handicap%20model%20signal.pdf ; 2020年5月19日访问)
[3]有关信令的更多信息,请参见:https : //econweb.ucsd.edu/~jsobel/Papers/Signalling(于2020年5月19日访问)。
[4] Grossman,S.(1981)。保修和私人披露有关产品质量的作用。法律经济学杂志,24:461–483。
更多背景
米尔格罗姆(美国)(1981)。好消息和坏消息:表示定理。Bell J Econ,21:380–391。(请参阅:https://econpapers.repec.org/article/rjebellje/v_3a12_3ay_3a1981_3ai_3aautumn_3ap_3a380-391.htm;访问时间为2020年5月19日)。