比特币工作的基本原理
比特币如何运作
比特币可以发送交易,并将其纳入作为账本的公共区块链。比特币是有价值的,我们可以确定包含在账本中的交易是合法的。由于比特币网络的规模,我们可以确定这些交易不存在欺诈。本文将解释去中心化网络如何激励独立参与者在区块链上组织和创建合法交易。
去中心化的软件
一台计算机由内存和处理能力组成的。内存是储存的信息,处理能力是将输入转化为输出的能力。软件包括计算机被告知要遵循的规则。计算机接受输入,应用所给的规则,并产生输出。
比特币也是软件,但它的性质与我们习惯的不同,因为它是去中心化的。我们所熟悉的大多数软件都使用一个中心化的网络来运作。考虑一下Facebook和它的工作方式。当你登录创建一个账户时,你的信息被上传到Facebook用于存储用户信息的众多计算机中的一台。每次你发帖或评论时,这些信息都会被添加到电脑中。如果首席执行官想删除或改变你的信息,那么他就会打电话给管理电脑的人,告诉他你的名字,并告诉他如何处理这些信息。这一切之所以能够实现,是因为Facebook是一个中心化的公司。
我们所熟悉的大多数公司都是以集中的方式运作的。CEO只要一个电话就能做出这些改变,这使得公司能够有效地运作。作为对这种效率的回报,公司的利益相关者(员工、股东和客户)必须相信,CEO在做对他们所有人最有利的事情。粗略地说,公司的CEO不需要利益相关者的一致同意就能颁布变革,这使得公司在竞争激烈的市场中能够灵活地应对。
而相对的是一个去中心化的群体,通过在一群参与者之间达成共识来做出决定。在其最纯粹的形式下,这个系统不需要信任一个中央机构,因为利益相关者的意愿总是能够实现。这个过程是低效的,但对于高度受道德风险影响的行动来说是必要的。
计算时代让去中心化系统成为可能,接近光速的速度传输信息的能力使去中心化的要求变得不那么繁琐。软件成为去中心化的理想媒介。随着计算技术的进步,出现了一个新的想法,现在可以去中心化,但在操作实现上仍然可行。
去中心化的软件是能够自动化的代码,因此不需要有一个集中的所有者(如CEO)。相反它是一套规则,每个与软件互动的人都需要遵守。一旦规则被设定,它们就不能被改变,除非大多数网络参与者同意做出改变。
协议通过运行生效,软件是开放源码的,每个人都有代码副本,他们可以通过任何方式改变。但是如果一个人对自己的代码改动太多,他们可能无法与其他人的代码进行交互。每个人都可以随心所欲地改变自己的代码,但所遵循的规则是网络中大多数人选择遵循的。任何不想遵循这些规则的人都可以改变他们的代码,但这意味着他们只能与其他也做出这种改变的人互动。简单来说如果有人想改变比特币软件,那么他们需要说服大多数参与者也这样做。如果他们不能,比特币将不会改变。
比特币网络
比特币网络的存在是所有网络参与者的总和。参与者被称为节点,即一台装有兼容比特币软件的计算机连接到一个网络。网络中的每个节点都可以以多种方式参与,这取决于它使用的软件,并受到其内存和处理能力的限制。目前全球大约有10,000个比特币已知节点,如下图所示:
节点通过三个主要功能参与到网络中:路由、验证和挖矿。当一个节点收听到一笔交易时,它通过检查发件人是否有足够的比特币可以花费,他们是否在其他地方花费过这些比特币,以及他们的签名是否与他们的地址相符来验证这笔交易。如果所有的检查都成功了,节点就会把交易转给其他节点,但如果没有,它就会忘记它。采矿节点不仅验证和路由,而且还将交易添加到他们的存储池中,并试图通过解决一个计算难题(工作证明)在区块链上记录他们的存储池副本。
挖矿过程
一个新的区块被开采并包含在区块链中,需要一个挖矿节点必须解决工作证明( PoW )的计算难题。工作证明算法是通过生成一个低于难度目标的区块头项的哈希值来解决的。因为哈希函数的输出是随机的,产生一个足够低的数字的唯一方法是不断猜测。难度目标是用来增加或减少矿工解决工作证明算法的机会。难度目标越低,它就越难解决,因为可能的答案范围更小。
回顾一下前文中的区块头:
区块头有时间戳,难度目标和nonce值。
区块头哈希值 =
哈希函数(Merkle root + previous block hash + version + time stamp + difficulty target + nonce)
矿工可以通过改变他们放入nonce字段的内容来改变区块头的哈希值。因此,如果区块头的哈希值小于目标难度,该区块就被成功开采了。你不能随便选择一个低数字的原因是,哈希函数的输出是随机的(没有办法让它产生一个低数字)。
矿工们通过更新nonce字段来竞争解决工作证明的计算难题,直到产生一个小于难度目标的区块头哈希值。
最长链规则--解决分歧
一旦矿工找到一个解决方案,他们立即将其广播给他们的同伴(即他们连接的节点)。然后这些节点会验证该解决方案是否正确,如果正确,则将该解决方案广播给他们的同伴。下面的图表显示,95%的区块链将在平均约40秒内意识到这一点。
区块传播时间的概率密度函数
节点接受这个新区块,将其纳入他们的区块链副本。矿工接受这个新区块并开始挖掘下一个区块,将最新的区块加入到他们的区块链中,从而重新开始这个过程。这个周期平均每10分钟发生一次,难度目标会自动调整,保证这个周期实现。
因为难度目标平均每10分钟调整一次找到一个区块,所以我们知道,矿工平均每10分钟就会因为成功挖到区块而获得一个区块奖励。区块奖励包括节点在交易中支付的费用,而coinbase交易创造了更多的新比特币。
区块奖励=coinbase交易+区块费用
2008年时coinbase交易奖励了50个比特币,奖励每四年减半,直到2140年达到2100万比特币的最大供应。
如果来自不同节点的区块链的不同副本同时被解决了怎么办?如果节点之间有分歧,他们会遵循最长链的规则: 他们在收到的第一个区块上工作,但保存区块链的另一个分支,以防它变得更长。
一旦发现下一个区块,一条链就会变长,短链的节点就会转而去挖最长的那条链。 节点遵循最长链的规则,随着时间的推移解决所有分歧。
激励机制--工作证明(POW)算法
要回答的一个重要问题:为什么不是每隔10分钟就随机挑选一些矿工的区块?为什么我们要消耗所有这些能量运行计算机来解决这个问题?
我们知道PoW创造了数字稀缺性,但也有另一个目的-- 安全 。区块链是由那些解决算法的人扩展的。如果一个矿工解决了它,他们可以纳入那些欺诈性的交易,但是这些欺诈性的交易会被其他节点拒绝,因为它们没有通过验证。如果要使用欺诈性交易扩展的区块链,必须由有相同意愿的矿工来扩展,这将需要大于整个网络的50%的计算能力。所以挖矿的成本越高,不良行为人就越难这样做。
这样做也不符合不良行为人的最佳利益。用 中本聪 的话说:
他应该发现遵守规则,这种规则有利于他获得比其他人加起来更多的比特币,而不是破坏系统和他自己财富的有效性,这样更有利。
换句话说,如果有人成功地攻击了比特币,它将同时破坏比特币的价值(因为网络不再安全,所以没有人会想要比特币),而攻击也将毫无价值。这种博弈论上的激励是比特币对不良行为者的一个主要防御。
工作证明算法像一个测试。比特币通过其网络的安全性获得了可信度。它的安全性在于,人们确切地知道只有2100万个比特币的存在。挖矿的成本是使其确定的原因。确保比特币网络的安全意味着确保一个无信任的、去中心化的 货币 媒介,不受道德风险的影响。货币系统是经济的基础,反过来安全性也是最重要的。
比特币的规则
在了解了比特币的作用和工作原理后,我们可以总结一下比特币网络节点所遵循的规则。比特币是软件,所以如果你想知道规则,最好的办法是查看源代码。这些规则对于学习掌握比特币软件如何形成交易,将它们编译成区块,将区块固定为一条链,并确保新比特币的固定供应时间表是必要的。为了便于理解,下面的规则被划分为交易层面和区块层面,尽管有些规则并不相互排斥,可以包括在任何一个类别中。
这些规则存在于共识中,因为网络参与者们愿意接受它们。在法币系统中,规则不是通过共识出现的,而是通过法令(法币这个词的定义)。我们不对货币 政策 进行投票。相反货币政策受到政治家的影响,并由这些人控制:
美联储理事会2019年4月会议
为什么比特币如此有价值
人们购买比特币是因为它优越的货币属性,增加了它的价格。价格上涨吸引了更多的矿工,扩大了网络的计算能力,使网络更安全,从而更有价值。随着时间的推移,这进一步提高了价格。随着比特币价格的上升,它创造了一个正反馈循环,参与者相信它将继续上升。这就是应用于价值标准的网络效应的力量。这个反馈回路是以比特币的货币属性(由规则决定)为前提的,因为如果没有这些属性,人们首先就不会去投机比特币。
规则如何改变
比特币软件被称为Bitcoin Core,可以在bitcoin.org下载。这是使用最广泛的比特币软件,但也有其他有效的比特币软件版本。其他版本必须与Bitcoin Core保持最低水平的相似,才能参与比特币网络。这个最低水平是,一个节点需要以与其他节点相同的方式检查交易和区块的有效性。如果它不这样做,它创建和转发的交易/区块将可能不被其他节点接受,反之亦然。
为了改变规则,需要在三个主要利益相关者群体中达成共识:
你可以看到,每个小组都有某种形式的权力,但都没有完全控制权。请注意,有一小群
开发者
可以实际更新代码(称为提交权限),而社区的其他成员则公开提出修改。
如果有人试图控制这一小部分有提交权限的开发者呢?他们有权力制作新的软件,让社区成员自愿下载,但不能强迫他们下载。所有对软件的修改都由社区成员审查,因为它是开源的,所以任何修改都会很快被发现。
比特币规则是由社区创建,并由具有提交权限的开发者实施。节点(矿工)必须下载更新的软件,使网络接受它。而 投资 者必须继续持有和购买比特币,以使软件的改变变得重要。
比特币规则的改变需要主要利益相关者群体的共识。
我们的法币 金融 系统是由一个高度集中的团体控制的。你可以选择是遵守比特币系统的民主,还是遵守目前法币系统不断变化的规则。随着越来越多的人采用比特币系统,这个决定将变得更加容易。
本篇由Eric Yakes撰写。内容表达的观点完全属于作者本身的,不反映Bitcoin Magazine的观点。
原文:Eric Yakes
编译:比巴卜呀