「力场 lichang.io」公链挖矿第一社区!
对于比特币来说,最重要的一点当然是它的去中心化,在上一节我们就中心化与去中心化做了一些讨论,只是这些讨论还太过于笼统,对于真正理解比特币的去中心化的帮助并不太大。所以我们需要从技术性的层面来看,首先我们需要先学习一下共识(consensus)与分布式共识(distributed consensus)的概念,然后再做深入了解。因为分布式共识是建立一个分布式的点子现金系统的关键技术问题,如果您还记得员外之前提到过的财奴币,那么您就可以把这个问题想象成财奴币的去中心化。
分布式共识
概念:分布式共识协议在一个有n个节点的系统中,每一个节点都有一个输入值,其中一些节点具有故障,甚至是恶意的。一个分布式共识协议有以下两个属性:
- 输入值的中止须经所有诚实节点来验证;
- 这个输入值必须由诚实节点来生成。
员外理解的意思就是在这个系统中,所有的节点都必须遵守这套协议,所有记录交易的节点在上链之前,都必须接受其他已经被证实是诚实的节点来验证,然后这个节点里面的数据输入值,都必须由被验证过的诚实节点来生成。
应用
分布式共识有各种应用,计算机界对其也研究了多年,传统具有启发式的应用就是提高分布式系统的可靠性。设想你在管理一个社交网络公司的后端平台,比如微信这样庞大的系统通常有几千台甚至几万台服务器,每台服务器中都会存储大量的数据,然后这些服务器组成了一个巨大的分布式数据库,数据库中记录了这个系统里发生的各种活动,而每条信息都会被记录在后端的若干个节点上,对于整个系统的状态,这些节点必须要做到同步,才能保证信息的连贯性。
一旦具备了这样的体系,我们就可以建立一个庞大的分布式键值 (key-value)存储库,该类存储库可以将任意数据如身高、名字等对应一个相应的开启键,基于此,我们就可以实现很多应用。例如,我们可以建立一个分布式域名系统,将人脑易于理解的域名与IP地址进行配对,我们也可以建立一个公钥目录,这个目录可以把公钥与电邮地址(或者其他真实世界中的身份证明)对应起来。
以上讨论在直觉上说明了分布式共识的大概含义。对于分布式共识,还是要给出一个技术定义,以此我们可以判别一个协定是否符合分布式共识的要求。
在比特币中意味着什么
那么以上概念在比特币里又意味着什么呢?想要理解分布式共识在比特币中的用途,我们需要记住比特币是个点对点的系统。当员外向天宇付款的时候,员外其实是在向构成比特币网络上的所有节点广播其交易行为。
顺便提一下,你可能注意到,当员外向整个比特币点对点系统广播时,天宇的计算机并不一定在员外广播的网络中。当然天宇也有可能在这个网络上运行着一个节点,如果天宇想在员外转币给他时及时被系统通知,运行一个节点当然是个好主意,但其实这并不重要,天宇是否运行节点并不影响他收到员外转给他的比特币。