作者/ERIC YAKES
翻译/章鱼哥
本系列分为四个部分,本文为第三部分。
一、《 从货币价值框架看,比特币会成为世界货币吗? 》
二、《 比特币的诞生,真的改变了世界吗? 》
比特币如何运作
比特币可以发送交易并将它们合并到作为账本的公共区块链中。比特币是有价值的,因为我们可以确定账本中包含的交易是合法的,而不是欺诈性的。由于比特币网络的规模,我们可以确定它们不是欺诈性的。本章将解释去中心化网络如何激励独立参与者在区块链上组织和创建合法交易。
去中心化软件
一台计算机由内存和处理能力组成,一些计算机比其他计算机拥有更多的内存存储信息。处理能力是将输入转换为输出的能力,有些计算机的处理速度比其他计算机快。软件包含计算机被告知要遵循的规则,计算机接受输入应用给定的规则并产生输出。
比特币是软件,但它的性质与我们熟知的不同,因为它是去中心化的。我们熟悉的大多数软件都使用中心化网络来运行。思考一下Facebook及其运作方式,当你登录创建帐户时,你的信息将上传到Facebook用于存储其用户信息的众多计算机之一。每次你发帖或发表评论时,该信息都会添加到计算机中。假如CEO想要删除或更改你的信息,那么他打个电话给管理计算机的人,告诉他你的姓名就可以做到,这一切皆有可能,因为Facebook是一家中心化公司。
事实上,我们熟悉的大多数公司都以中心化的方式运营,这是有原因的。CEO只要一个电话就能做出这些改变,这一事实使公司能够有效运作。作为这种效率的回报,公司的利益相关者(员工、股东和客户)必须相信CEO正在同时为他们所有人做最好的决策。粗略地说,公司的CEO不需要利益相关者达成共识来实施变革,这使公司能够在竞争激烈的市场中保持敏捷。
另一个极端是一个去中心化的小组,通过在一组参与者之间达成共识来做出决定。在其最纯粹的形式下,这个系统不需要信任一个中央机构,因为利益相关者的意愿将始终得到实现。这个过程效率低下,但对于制定高度受道德风险影响的行动来说是必要的。
美国的开国元勋们在构建权力平衡和我们选举官员的民主程序时就知道这一点。它使社会能够对他们选出的负责人保持高度的控制。简而言之,纯粹的去中心化系统缓慢且效率低下,但对于消除存在利益冲突的机构问题是必要的。
计算时代使去中心化系统成为可能,因为以接近光速传输信息的能力使得去中心化的要求变得不那么繁琐。软件成为去中心化的理想媒介,随着计算机技术的进步,出现了一个新的想法,现在可以去中心化,且在操作上仍然可行。
去中心化软件是足够自动化的代码,因此不需要中心化所有者(如CEO)。相反它是与软件交互的每个人都必须遵守的一套规则。规则一旦设定就不能更改,除非大多数网络参与者同意进行更改。
该协议是通过行动达成的,因为该软件是开源的,每个人都有自己的代码副本,他们可以按照自己的意愿进行更改。然而,如果一个人对他们的代码改动太多,他们可能就无法再与其他人的代码进行交互了。每个人都可以随意更改自己的代码,但遵循的规则是大多数网络选择遵循的规则。任何不想跟随这些规则的人都可以更改他们的代码,但这意味着他们只能与进行此更改的其他人进行交互。简单地说,如果有人想改变比特币软件,那么他们需要说服大多数参与者也这样做。如果他们不能,比特币就不会改变。
去中心化系统遵循一套规则。当大多数参与者下载带有规则变化的软件时,规则就会改变。如果他们不这样做,规则仍然存在,少数人必须决定是留下还是离开。
比特币网络
比特币网络是所有网络参与者的总和。参与者被称为节点。一台装有兼容比特币软件的计算机连接到网络,网络中的每个节点都可以通过多种方式参与,具体取决于它使用的软件,并受到其内存和处理能力的限制。目前全球大约有一万个比特币已知节点,如下图所示:
节点通过三个主要功能参与网络:路由、验证和挖矿。当一个节点感知到一笔交易时,它会通过检查发送者是否有足够的比特币来消费,他们是否在其他任何地方消费过这些比特币,以及他们的签名是否与他们的地址相匹配来验证它。如果所有检查都成功,节点将交易路由到其他节点,但如果没有,则会将其忘记。挖矿节点不仅验证和路由,而且还向其内存池添加交易,并尝试通过解决计算难题(工作量证明)将其内存池副本记录在区块链中。
挖矿过程
对于一个新的区块被开采并包含在区块链中,一个采矿节点必须解决工作量证明(PoW)的计算难题,工作量证明算法是通过生成一个低于难度目标的block header的哈希值来解决的。因为哈希函数的输出是随机的,产生一个足够低的数字的唯一方法是猜测。难度目标是用来增加或减少矿工解决工作证量明算法的机会。难度目标越低,它就越难解决,因为可能的答案范围更小。
回顾一下前文中的block header:
block header的时间戳、难度目标和随机数
下面的公式组合了这些项目并对它们进行哈希运算:
block header哈希=
哈希函数(merkle根哈希 +前一个区块哈希+版本号+时间戳+难度目标+随机数)
矿工可以通过更改他们放入随机数字段的内容来更改块block header。因此,如果block header哈希小于目标难度,则该块被成功挖出。你不能只选择一个低数字的原因是因为哈希函数输出是随机的(没有办法让它产生一个低数字)。
矿工们通过迭代随机数字段来竞争解决工作量证明计算难题,直到它产生一个小于难度目标的block header哈希。
最长链原则:解决分歧
一旦矿工找到解决方案,他们会立即将其广播给他们的同伴(即他们所连接的节点)。然后,这些节点验证解决方案是否正确,如果正确则将解决方案广播给它们的同伴。下图显示95%的区块链将在平均约40秒内意识到这一点。
区块传播时间的概率密度函数
节点通过将这个新块合并到他们的区块链副本中来接受这个新块。矿工接受这个新块并开始挖掘下一个区块,将最新的区块添加到他们的区块链中,从而重新开始这个过程。这个循环平均每10分钟发生一次,难度目标会自动调整以实现这一目标。
因为难度目标平均每10分钟调整一次以找到一个区块,所以我们知道矿工平均每10分钟就会因为成功挖到区块而获得一个区块奖励,区块奖励包括节点为交易中支付的费用,而coinbase 交易创造了更多新的比特币。
区块奖励 =coinbase交易 + 区块费用
2008年,coinbase交易奖励了50个比特币,并计划每四年减少一半,直到2140年达到 2100万比特币的最大供应量。
如果来自不同节点的区块链的不同副本同时被解决了怎么办?如果节点之间有分歧,他们会遵循最长链的原则:
1.他们在收到的第一个区块上工作,但保存区块链的另一个分支,以防它变得更长。
2. 一旦发现下一个区块一条链就会变长,短链的节点就会转而去挖最长链。
节点遵循最长链原则,以便随着时间推移解决所有分歧。
激励机制:工作量证明 (POW) 算法
一个需要回答的重要问题:为什么有些矿工的区块不是每10分钟随机选取一次?为什么我们必须消耗所有这些能量运行计算机来解决这个问题?
好吧,我们知道PoW会造成数字稀缺性,但还有另一个目的:安全。区块链由解决算法的人扩展,如果矿工解决了这个问题,他们可能会合并欺诈性交易。但是这些欺诈交易会被其他节点拒绝,因为它们没有通过验证。因此为了扩展具有欺诈交易的区块链,它必须由有兴趣这样做的矿工扩展,这将需要整个网络超过50%的计算能力。因此开采成本越高,坏人就越难这样做。
这样做也不符合坏人的最佳利益,用中本聪的话来说:
他应该发现按照规则行事更有利可图,规则有利于他获得比其他人加起来更多的比特币,而不是去破坏制度。
换句话说,如果有人成功攻击比特币,它会同时破坏比特币的价值(因为网络不再安全,就没有人会想持有比特币),攻击将毫无价值。这种博弈论激励是比特币抵御不良行为者的主要防御措施。
工作量证明算法就像一个测试。学生们花了很多时间和精力来参加测试,除了证明他们的知识之外,没有任何有形价值。通过这样做,学校可以从毕业生的表现中获得信誉,并让他们放心毕业,因为他们已经证明了自己的知识。
同样的比特币通过其网络的安全性获得可信度。它的安全性在于人们肯定知道比特币永远只会有2100万个,挖矿成本是确定这一点的原因。确保比特币网络的安全意味着保护一个无信任的、去中心化的货币媒介不受道德风险的影响。货币体系是经济的基础,反过来其安全性也是至关重要的,法定货币更像是一所没有考试的学校。
比特币的规则
在了解了比特币的作用及其工作原理后,我们现在可以总结比特币网络节点遵循的最重要的规则。比特币是软件,所以如果你想知道规则,最好的方法就是查看代码。如果你不知道该怎么做,下面是最重要规则的总结。这些规则对于掌握比特币软件如何形成交易、将它们编译成区块、将区块固定到链中以及确保新比特币的固定供应时间表是必要的。为便于理解,下面的规则被划分为交易层面和区块层面,尽管有些规则并不相互排斥,可以包括在任何一个类别中。
这些规则存在于共识中,因为网络参与者愿意接受它们。参与者通过下载比特币软件并使用它来接受它们。在法币系统中,规则不是通过共识产生的,而是通过法令(法币这个词的定义)出现的。我们不对我们的货币政策进行投票,相反货币政策受政客影响并由这些人控制:
美联储理事会2019年4月会议
为什么比特币具有价值
人们购买比特币是因为它具有优越的货币属性,从而提高了其价格。价格上涨吸引了更多的矿工,扩大了网络的计算能力,并使网络更安全,从而更有价值。随着时间的推移,这进一步增加了价格,随着比特币价格的上涨,它创造了一个积极的反馈循环,参与者相信它会继续上涨,这就是应用于价值标准网络效应的力量。这个反馈回路是以比特币的货币属性(由规则决定)为前提的,因为如果没有这些属性,人们首先就不会去投机比特币。
规则如何改变
比特币软件被称为 Bitcoin Core ,可以在bitcoin.org下载,这是使用最广泛的比特币软件,但还有其他有效版本的比特币软件。其他版本必须与Bitcoin Core保持最低水平的相似性才能参与比特币网络。这个最低水平是一个节点需要以与其他节点相同的方式检查交易和区块的有效性。如果它不这样做,它创建和转发的交易/区块将可能不被其他节点接受,反之亦然。Bitcoin Core是这些规则的标准,因此是比特币事实上的规则手册。
为了改变规则,需要在三个主要利益相关者群体之间达成共识:
你可以看到每个群体都有一种权力形式,但没有一个群体拥有完全的控制权。请注意有一小部分开发人员可以实际更新代码(称为提交权限),而社区的其他成员则公开提出更改建议。
如果有人试图控制这一小部分有提交权限的开发者呢?他们有能力为社区制作新的软件,让社区成员自愿下载,但不能强迫他们下载。此外软件的所有更改都由社区成员审核,因为它是开源的,所以任何修改都会很快被发现。
比特币规则由社区创建并由具有提交访问权限的开发人员实施。节点(矿工)必须下载更新的软件,以使网络接受它,投资者必须继续持有和购买比特币才能使软件更改生效。
比特币规则的改变需要主要利益相关者群体达成共识。
我们的法定金融系统由一个高度集中的集团控制。你可以选择是要遵守比特币系统的民主,还是要遵守当前法定系统不断变化的规则。随着越来越多的人采用比特币系统,这个决定将变得更加容易,然而这种采用需要对目前支持它的生态系统进行重大开发。
参考文章
1.Bitcoin and Cryptocurrency Technologies, Arvind Narayanan, Joseph Bonneau, Edward Felten, Andrew Miller, Steven Goldfeder, 195