区块链,一个把密码学算法、分布式存储处理系统、社区组织运筹学管理揉合在了一起的技术综合体,因为这几项技术的延展性关系,让多数人觉得有很多神秘的影子。
相对于比较容易理解的密码学和分布式系统,区块链的社区生态治理中采用的共识机制究竟是属于哪个范畴的技术类别,目前还是比较模糊的。我这里所说的运筹学管理,也只是一个临时的叫法而已。
共识机制是对区块生产制造验证排序规则的一般的通用叫法,也有人称这种规则为博弈。博弈也是运筹学的一个重要组成部分。
因为共识机制是目前区块链社区治理的主要表现形式,也是为多数人知道的一个基本理论,最主要的,是直到目前为止,还没有一种共识机制能够得到完全的承认,因为他们本身总是存在一些不足的成分。所以我们就从共识机制的现有主要模型里来研究这个机制无法做的完善的原因。
从最简单的角度理解区块链,可以把它看成是一个有顺序的交易记录链条,这个链条由若干的包含交易记录的“块”按时间顺序构成,这种记录采用了密码学加密技术盖上了时间戳来防篡改和不可逆,并由于使用了分布式存储处理技术而达到了最大限度的容错。
共识机制在这个纪录过程中起到什么作用呢?
当每个块记录交易的时候(这种交易可以是空白的),有两种基本的时间标记,一是同时并发,一是有先后顺序的。这就造成了块的产生是可能发生时间上的重复和冲突,而区块链要求这种冲突是不可以无序的,那么就要给块的生产方式和顺序建立一个规则,以最终确认在某个时间点上哪一个块才是有效的,这种规则,就是我们通常所说的共识机制了。
从单纯经济学角度理解这种规则,我们可以认为它是因为数据记录与点对点传递的需要而产生的。
如果从政治经济学角度来衡量,它就应该是人与人之间的分工协作的协调结果,这里可以把块的生产权看成生产力,决定这种生产顺序的共识机制,就是一种类似于生产关系中的要素协调机制。
从区块链社区生态的整体来看,这种协调机制,就相当于区块链生产关系本身的上层建筑概念了。
目前被较多采用的共识机制,主要有六种模型,这六种机制分别是POW( Proof of Work)工作量证明、POS(Proof of Stake)权益证明、DPoS股份权益证明、PBFT Practical Byzantine Fault Tolerance,实用拜占庭容错、dBFTdelegated BFT 授权拜占庭容错算法、POOL验证池。(因为这些机制的说明文章很多,这里就不赘述,读者需要可以自行去网上了解的)
从这些共识机制的应用情况来看,是有一些内在的继承性在里面的,这种继承一般是因为改进的需要,但是,到目前为止,改进都是不成功的。
我们看到的是一方面问题被改进后,新的问题随之产生了。这里面的原因是什么?
我认为是在共识机制的设计上忽略了或者是没有充分考虑机制内博弈关系的制衡作用的结果。
POW依赖机器进行数学运算来获取记账出块权,这种干得越多收得越多的机制里,计算能力成了唯一的博弈对象,却因为激励结构的僵化和没有考虑局中人的资本积累会自然造成算力集中的可能结果,实质上是等于没有博弈规则的,因此这种共识不论是在比特币还是其他采用这种机制的加密货币上面,都出现了某种形式的垄断控制,这是因为在区块链世界的多人博弈中,POW机制实际上缔造了一个二人博弈的规则,也就使得大多数小矿工作为一方成为了大矿池的博弈对像,因此就出现了囚徒困境博弈模型中的战略占优选择,结果自然会倾向于有利大矿池的权利集中结果。
POS机制只不过是在POW机制上添加了一部分权益占比,用来减弱资源消耗的影响,根本上对于POW的博弈规则是没有实质性改变的,并且通过资本的直接运用,强化了算力集中的可能性,所以结果几乎是一样的。
DPOS在POS机制上引入了代表制,是把算力部分资本化了,并且以资本作为了博弈的标准筹码,这种机制为博弈局中人创造了资本运用的充足空间,却让共识机制演变成了资本运作的赌博,其博弈规则实质可以类比为赌场中大庄家联合坐庄的中的股权共谋一样的,隐患是巨大的。
我们知道,区块链的共识机制最基本的任务,是运用数学公式模型制定的协议来约束作恶的一种治理规则,这种共识的内在运行机理实际是博弈论的多人博弈规则,多人博弈在这里要达到的最佳结果应该是零和性的,也就是说,凡作恶者必然得不到任何有利结果。但是DPOS机制里的博弈规则不是零和游戏,它的设计使得联合作恶可以得到更多。
这是一种强调纳什均衡的不动点组策略的设计,我认为是具有很大的遮掩性的伪共识机制。
当人们用资本发言的时候,区块链的透明公开与公平公正都是可望不可及的。
PBFT因为属于纯机器共识的机制,里面涉及的博弈规则是极少的,这个机制的的缺陷是显而易见的,因为它无法有效防止1/3节点怠工或联合作恶造成的系统停摆结果,记账人是近似于系统指定的,所以这里就没有多大讨论必要了。
dBFT对PBFT做了一些改进,最主要的是把静态的共识参与节点改进为可动态进入、退出的动态共识参与节点,把指定性投票决定共识参与节点改进为持有权益比例的投票机制,这使得它可以在一定程度上增加博弈在机制中的权重,但是并没有解决PBFT固有的系统性风险问题。
由于这两种机制是效率较高的区块链系统,因此他们更适合企业级应用的区块链落地,当作为企业的底层基础技术来使用时,可以不考虑过多的博弈均衡问题,这是另一个角度的考虑。
POOL验证池是基于传统的分布式一致性技术,加上了数据验证机制。在这种共识机制里(我其实不认为他是属于真正的区块链共识机制范畴的),秒级验证是他最大的优势,但是这与区块链本质没有必然联系,他是一种多方参与的应用技术而已。在这里,共识就是共识,几乎与博弈没有关系。
从这些目前比较有代表性的共识机制来看,博弈规则是没有充分发挥应有的均衡作用的,而对于区块链的生态体系来讲,均衡是最基本的。区块链技术所追求的公平和公正,首先应该是建立在系统参与各方的力量均衡上,这种均衡不是固态的,应该是在博弈规则制约下的一个可以量化的的结果,这种规则是可以用数学方法公式化的一个或多个协议的集合。
这种协议就是充分运用了博弈理论建立起来的博弈规则,这个规则里应该包含了对于区块链网络可能的涉及对象,这些对象不只限于个体与集体(被监管方与监管方博弈规则),也不只限于人与人(社区成员间博弈规则),还应该包括人与物(人机交互博弈规则)、物与物(智能设备间博弈规则)。共识只有在这种基础上达成,才是最终有效的。
这就要求我们,设计区块链的共识机制,用博弈论原理建立规则是一个方法论范畴的研究方向了。
领取专属 10元无门槛券
私享最新 技术干货