我们曾在前一节中提到,互联网更擅长的是“信息分享”而非“价值转移”。
而且现实生活中,为了实现在互联网上的“价值转移”,出现了很多中心化的第三方或者政府信用背书的中介机构。
因此,在“信用”问题上,我们似乎是别无选择的需要信任这些机构。
那么,假如这些中介机构出现了信用问题呢?
从小范围来看,一个企业很可能会出现系统宕机问题;
从大范围来看,部分国家战乱冲突不断,不同政党交替执政,法定货币可能瞬间成废纸
等等情况,如何避免呢?
让我们来看看区块链技术是如何规避这些风险的。
在介绍区块链时,你肯定听说过“分布式记账”这个说法。
顾名思义,就是分布在不同地方的个体一起进行记账。
我们需要把我们输送的所有信息记录到一个账本上,就像一个公司的财务工作一样,需要记录公司所有的出入账,所以得有一个账本。
而常听到的“节点”,其实就是一台计算机。
如何实现这个分布式记账操作呢?
在区块链系统中,所有节点同时各自记录各自的账本肯定是不行的,我们需要记录同一个得到大家认可的账本作为某一个团体的唯一账目凭证。
但是以谁的账本为标准呢?
这个就需要所有参与记账的节点达成共识,也就是我们常常听到的“共识机制”。
这个机制目前的常规标准是:谁记账记得又好又快,就让谁负责某一个时间段内的账本记录工作,然后由他把这段时间内的账目打包成一个块,即我们常听到的一个区块(block)。
这个时间段就是我们一般所说的一个区块打包确认的时间,从几秒到几十分钟不等,时间长短一般取决于系统计算难度的大小。
当这个块里的账目记录好后,这个节点会把这个块同步发送给其他节点,其他节点核实无误后,将这个块儿的内容都记录到自己的账本里,紧接着这些节点再开始下一轮记账竞争,争夺下一个时间段记账的权利。
为什么要竞争呢?
因为又好又快的那个,会获得系统预先设定好给他的奖励。
以比特币为例,成功一次,奖励12.5个BTC,按照现在的市值,大家应该明白这笔奖励还是非常丰厚的,所以这也是这些节点有竞争动力的原因。
我就觉得自己才是最好最快的那个,怎么办呢?
首先,我们的共识其实就是选择最优秀的记账者,这种选法一定是绝大多数记账人同意的,所以才能形成这个共识;
其次,假如有部分人不认可这个共识然后自行去记录自己的账本,不会获得绝大多数节点的同意,系统也不会给奖励;
再者,系统计算的过程是非常快的,假如耗费精力去做只有自己或少数人认可的事情,就意味着会失去很多在被认可的账本上争夺记账权力的机会。你的这个块,就会成为一个孤立在外的块,即常说的“孤块”。
那么耗费精力花费成本却没有意义的事情,为什么要做呢?
上述过程中,不停的记账这个过程可以理解为是传递有价值的信息的过程,比如转账或者传递一些重要商业信息,隐私信息等的过程。
是的,竞争“共识机制”必会造成带宽和存储空间的浪费。
关于这点,可以理解为是“去中心化系统”的运作成本,只能节约,无法避免。
为什么要舍弃当前已经成型的社会体系,去使用区块链来搭建所谓的高度安全性体系呢?
回答我们文章开头的问题,原因有三个:
其一、这个系统分布在全球各个角落,部分系统宕机,其他所有节点依然记录了每一笔账目,所以不会影响整个系统的运作。
其二、每个节点的账本数据一模一样,避免了篡改数据,数据造假。
区块链数据确认规则:如果两个账本对不上,默认以账本数量多的那个节点为准。
而这些个账本都是大部分也就是超过50%以上的记账参与者(节点)同意的。
所以,如果你想要篡改,至少要控制系统中50%以上的节点才行,这也就是常听到的“51%攻击”。
其三、我们再来说一下要成功的进行51%攻击的难度:
首先,节点总数量高达成千上万甚至数十万,且还在不断增加中;
其次,节点分布在世界各个角落,要控制世界上的大多数电脑,才能篡改其数据;
再者,这个攻击是需要构建出跟原先账本中一样多的节点后,再比原先的节点数量更多的情况下才能被认可;
而且再加上计算难度,电力等等成本,据统计要实现的这样一个攻击,所付出的成本高达270亿美元;
最后,即使攻击成功,由于全网所有节点发现自己的数据跟这个新数据不一致,会导致这些节点认为自己手中的数据信息不可靠,因此原先的数据会不再拥有高价值,那么系统中的代币也就毫无价值,所以,发动攻击者最后付出270亿美元的成本,却根本无利可图。
综上,区块链利用不分国界的全民全网参与方式,解决了跨国国情不同以及中心化平台做信任桥梁导致的问题,又利用环环相套去除被攻击风险的方式,解决了中心化系统的安全“信用”问题。
形成了一个成本低、去中心化、去第三方、集体协作的网络体系。因此,也被《经济学人》比喻为“信任的机器”。
解码区块链系列小课堂:
下一节课,我们要开始针对区块链的实际应用来给大家分享一些案例。
【今天作业】
周末了,知道你们不会写作业的!放假!!!
领取专属 10元无门槛券
私享最新 技术干货