区块链之共识机制

in #blockchain9 years ago

1、区块链世界

区块链是一个集合分布式、博弈论、密码学、网络协议等技术的综合学科,每一项技术都是一个非常庞杂的学科,需要我们用一辈子的时间去研究。

区块链技术的伟大之处是将这些博大精深的技术有效组合在一起,即将为人类开辟一个全新的互联网世界,为人类从现实世界往虚拟世界迁徙创造了一个公开、透明、高效、自由、民主,比现实世界还可信的互联网世界。

今天我们一起学习区块链世界里最重要的一个概念,共识机制。正因为有了共识机制的思想,才使得区块链世界可以脱离现有的中心化组织运转(注意是现有的中心化组织)。

2、分布式计算

在谈共识机制之前,我们先了解一下分布式计算。由于计算机硬件能力和实际业务需求之间差距越来越大,更多的信息系统需要通过分布式计算来解决现实问题。

比如我们现在使用的搜索引擎百度、Google、滴滴出行、淘宝都不是单台服务器所能解决的问题,实际情况是分布在全国甚至全球的计算机共同服务的。

哪问题就来了,这么多计算机共同服务,怎样保证各个计算机之间的一致性就是一个非常重要的问题。

举个例子,航空公司售票系统。某个航空公司旗下有两个售票服务窗口,总票数一共是100个。如果张三通过窗口1购买机票,李四通过窗口2购买机票,那么售票系统怎样确保现在的机票还没有买完?

由于实际系统中存在网络延迟、系统故障,因此这个机制比较复杂,在牺牲可用性的情况下,保证一致性是适合售票系统的共识机制。

大家看到这里可能会比较懵,没关系,你不一定要完全搞懂,只需要知道结论就可以了。在售票系统中,所谓的并行计算其实是在保证业务不出错的前提下,牺牲系统的可用性。再通俗点来说就是,只要没有超卖机票,即使系统暂时不可用也可以。

3、共识机制

区块链本身就是个分布式系统,由所有参与工作的节点共同组成,要对某一个交易保持一致,同样需要通过共识机制共同达成。

去中心化采用的机制有点类似英国的“公投”,看起来也不是那么难,对吧,区块链世界的共识机制实际上是采用了这样的方式。

但是在看似民主的“公投”过程中,有没有可能出现一些人为了自身利益联合更多人进行投票,我想应该有吧!

在区块链世界里,共识机制采用的是拜占庭将军问题理论模型。

拜占庭将军问题是由Leslie Lamport在1982年提出的,在拜占庭有许多将军,这些将军都有各自的军事计划,由于这些将军距离比较远,对于每次战事,需要通过传递消息达成一致的决定。但这些将军中有可能存在叛徒,干扰一致性的达成。拜占庭问题就是解决如何让忠诚将军们的军事行动达成一致。

在拜占庭将军问题中,将军相当于区块链世界中的节点,由于提案的成本较低,任何时候都有可能存在多个提案(攻打、撤退、投降)。

在区块链世界里采用了优化的解决思路POW、DPOS机制。

POW(Proof of Work)工作量机制是比特币、以太坊采用的共识机制,在这种共识机制里,各个节点需要解决复杂的数学问题,耗费大量的算力(比较耗电)来限制提案个数。从概率上来讲,即使有人想搞破坏,也要付出比绝大数诚实节点多的算力才能达到结果。由于比特币是全球节点参与工作,因此搞破坏是需要付出巨大代价的。但严格意义上来讲,比特币没有办法完全杜绝作恶。比如现在各大矿池已经拥有了绝大多数的算力,一旦他们联手,有可能又变成了另外一种中心化机构。

DPOS(Delegated Proof of Stake)是采用投票选举的方式产生共识参与者,理论上任何人都可以参与共识机制,同时DPOS使用经济惩罚的方式来制约做恶者。我们前面提到的EOS就是采用这种共识机制,采用股权代理证明方式可以极大程度上提升区块链的交易效率,但却限制了节点的数目,在某种程度上无法避免被中心化。

因此,在这个世界,绝对的去中心化其实是不存在,区块链的真正意义是在于节点的自由。在区块链世任何人都可以随时参与,也可以随时撤离,不需要受制于其它节点控制。区块链世界才是西方国家这么多年倡导的自由、民主的社会,在真实的世界里所谓的自由、民主是不存在的,但区块链这项技术却可以极大程度上加速人类文明的进度。

Coin Marketplace

STEEM 0.05
TRX 0.33
JST 0.079
BTC 63469.67
ETH 1683.58
USDT 1.00
SBD 0.41