首页 >> 行业深度 >>行业分析 >> 比POW更去中心化的共识机制:PoWCF
详细内容

比POW更去中心化的共识机制:PoWCF

时间:2020-07-13     作者:金色财经【转载】

本文提出了一种比POW机制可能更加去中心化的共识机制,并在此基础上构造出了无需治理和预言机的亚稳定币。

一、现有共识机制的问题

现有的共识机制主要有PoW、PoS及混合机制这三大类。这三大类共识机制都受到矿工卡特尔的威胁。当矿工卡特尔在PoW或PoS中的任何一个环节上取得压倒性优势时,他们可以通过自私挖矿和交易审查来拒绝对他们不利的区块和交易,从而获得额外收益。某些区块链中的PoW+PoS机制貌似两个环节相互牵制,实际上,这两个环节中的任何一个环节形成卡特尔,都会导致整体上的中心化。这种PoW+PoS的设计类似于串联电路,一处故障整体不通。本文试图提出一种新共识机制,以削弱矿工卡特尔的优势。

二、新共识的设计逻辑

由于市场竞争及脆弱的同盟关系,卡特尔存在固有的不稳定性。虽然我们无法从根本上消除卡特尔产生的经济基础,但是我们可以试图将卡特尔的不稳定性最大化。

首先,我们应当改变原来的单因素决定出块模式,变为多因素决定出块模式。假如任何一个单因素上出现卡特尔的概率为p,那么在充分独立的前提下n个因素上均有出现卡特尔的概率会降为pn

其次,我们应当改变多因素之间深度干涉的模式,任何一个因素上的卡特尔都不应当对其它因素上的矿工的出块或投票行为拥有否决权。

然后,任何一个因素上的充分竞争都应当有助于瓦解其它因素上的卡特尔,而不是相反。

三、双币双因素

根据上一章所述的设计三原则,我选取工作量(Work)和资本量(Capital)作为决定出块的两个因素。这里之所以没有选取权益(Stack)作为出块因素,是因为PoS机制比PoW机制更加封闭,一旦有矿工卡特尔垄断了多数权益,挑战者几乎没有办法从外部打破垄断。顺着这个思路,将资本量作为一个因素显然应当满足这些条件:1、资本量应当在区块链中体现为一种代币;2、这种代币的价格应当与物质世界中某一类价格相对稳定的要素强关联,而与投机资本弱关联;3、矿工或投资者没有囤积这种代币的动机,都非常乐意将它出手。

自然的,我们可以想到:这种代币应该与算力相关,因为算力消耗的电力和设备与物质世界强相关而且电力价格相对稳定,并且这种代币应该严格通胀。算力在区块链中的最好体现就是挖矿难度,因此我将这种代币设计为与挖矿难度相关。为了保证这种代币严格通胀,我引进了通胀系数rr的初始值为1,每一年增长1% 。

在我设计的这个系统中有两种代币:储值币和哈希币。储值币总量恒定,且定期减产,类似于比特币。哈希币总量无法事先确定,它取决于挖矿难度和矿工间的博弈行为。区块链上的交易需要被收取矿工费,矿工费即可以是储值币,也可以是哈希币,也可以两者同时支付。

以恒定乘积做市商模型构造资产池,池中资产为储值币和哈希币。在该池中交易不收取手续费。初始时池中仅有1个储值币和1个哈希币。

设在某一区块前储值币总量为S,哈希币总量为T,资产池中有u个储值币及v个哈希币。设某一区块的挖矿难度为D,通胀系数为r,储值币的区块奖励为A个,矿工费里共有a个储值币及b个哈希币。

矿工打包一个区块需要提供一个焚毁交易和一个由区块头计算出来的哈希值。设这笔焚毁交易中包含m个储值币和n个哈希币,计算出来的哈希值为H

在某一区块前资产池的乘积为uv。在某一区块时,由于产生了储值币的区块奖励,所以资产池的乘积也应当相应地“通胀”。此时,资产池的乘积应当变为

打包过程如下:

1.将A个储值币的区块奖励全部投入到资产池中兑换为

个哈希币。兑换后,资产池中有u+A个储值币及

个哈希币。将兑换出来的哈希币全部销毁。
2.将焚毁交易中的
m个储值币投入资产池中兑换出

个哈希币。兑换后,资产池中有u+A+m个储值币及

个哈希币。兑换后,加上焚毁交易中的n个哈希币,共有

个哈希币。将这些哈希币全部销毁。
3.将上一个步骤中销毁的哈希币数量除以通胀系数
r,转换为资本对应的挖矿难度

。出块由算力和资本共同决定,决定方式类似于恒定乘积做市商模型。在理想状态下,算力和资本应当各占50%的份额,它们的乘积应当为

。根据前面计算出的资本对应的挖矿难度,我们可以计算出算力对应的挖矿难度为

。只有当哈希值

时,才能成功出块。这里T1为一个系统设定的非常大的常数。
4.区块生成哈希币的区块奖励
rD个,奖励给矿工。
5.将矿工费中
a个储值币投入到资产池兑换出

个哈希币。兑换后,资产池中有u+A+m+a个储值币及

个哈希币。加上矿工费中的b个哈希币,共有

个哈希币。将这些哈希币中的一半销毁,另一半奖励给矿工。
6.出块的过程中可能会出现孤块。当出现孤块时,矿工所作投入的算力就会被浪费掉。根据对等原则,当出现孤块时,矿工所投入的资本也应当被浪费掉。因此,失败链上的区块中的焚毁交易可以被矿工提交到主链上,并从中获得收益。设区块中包含其他矿工的焚毁交易里共有
c个储值币及d个哈希币。将c个储值币投入资产池兑换出

个哈希币。兑换后,资产池中有u+A+m+a+c个储值币及

个哈希币。加上d个哈希币,共有

个哈希币。将这些哈希币中的99%销毁,1%奖励给矿工。

下面作一点经济分析。设每1个挖矿难度所对应的算力的平均成本为Pd,每1个哈希币的价格为Ph。为方便叙述,记第2个步骤中销毁的哈希币数量为E
在完全竞争的条件下,成本与收益应当恰好相等,即



解得


当满足条件

时,我们得到了两个根,即有两个可行方案:算力份额大于50%的方案和算力份额小于50%的方案。矿工为了快速出块通常会选择算力份额较小的方案,即

。我们来看看这个方案是否合理。
首先,我们增大
PhE也随之增大。也就是说,当哈希币价格升高时,哈希币会减产,而减产有助于价格继续升高。
然后,我们减小
PhE也随之减小。也就是说,当哈希币价格降低时,哈希币会增产,而增产有助于价格继续降低。

由此可见,系统无法实现动态平衡。

所以,为了保证系统能够实现动态平衡,我们需要施加一项规则:算力份额不得低于50%,即

。此时,最佳取值为

时,方程无解。此时,无法通过调整算力与资本的份额来实现成本覆盖。这就需要区块链调整挖矿难度来达成新的平衡。

四、抵御大矿池

由于挖矿收益的不稳定性,矿工有充分的动机结成矿池来对冲风险。对小矿工而言,出块概率越低风险越大。如果我们能够降低出块难度,那么这将有助于减小矿工结成大矿池的动机。由康奈尔大学Rafael Pass和Elaine Shi创建的水果链(FruitChains)[1]较好地解决了这个问题。我在水果链的基础上提出了适用于本共识的方案。

在这个区块链中有两种类型的区块:主链区块和水果。事先规定不大的整数Nk(比如N=10)。

水果是一种特殊的区块,它被包含在主链区块中。水果与主链区块一样包含区块头和交易。水果的区块头中包含水果的标识(与主链区块区分开)、之前的某一个主链区块的哈希值、一笔焚毁交易、水果区块头的哈希值和其它信息。水果的区块头指向的主链区块与水果被包含的主链区块之间间隔不应当超过k个区块。水果的区块大小不应当超过主链区块大小限制的1/N
主链区块按顺序包含区块头、不超过
N-2个水果和交易。主链区块头中包含前一个主链区块的哈希值、一笔焚毁交易、主链区块头的哈希值和其它信息。

设主链区块的总区块难度为D,包含了MM≤N-2)个水果。主链区块中每个水果的挖矿难度为D/N,不得包含不符合该条件的水果。主链区块的挖矿难度(不考虑水果)为D(N-M)/N

水果中的交易不得与它的区块头指向的主链区块以及之前区块中的交易冲突,不得与自身交易冲突。但是,同被包含的不同水果中的交易可能会出现冲突,水果中的交易也可能与它的区块头指向的主链区块之后、它被包含的主链区块之前的主链区块中的交易冲突。如果发生冲突,那么按照打包的顺序,先被打包的交易为有效交易,无效交易会被忽略。

矿工奖励与哈希币销毁的规则可照上一章内容类推。

我将这个共识机制称为带水果的工作量和资本量证明(Proof of Work and Capital with Fruits),简称PoWCF。

五、亚稳定币

从长期来看,储值币严格通缩,哈希币严格且严重通胀。这两种币都不是理想的货币。一个自然的想法就是,将两种币对冲来生成更理想的货币。我将这两种币的资产池的流动性代币作为这种货币。用户可以向资产池等比例地注入两种资产来获得流动性代币。

经过简单计算可知,当其中一种资产的价格短时间内变为原来的r倍时,其流动性代币的价格仅为原来的

倍。可见,流动性代币能够很好地抹平价格波动。

我将这种价格相对稳定的流动性代币称为亚稳定币。

六、抵御矿池?

我注意到,有些区块链项目引进了抵御矿池的挖矿算法。其原理是,打包时必须要使用私钥,因此矿池中的矿工可能会窃取出块奖励。这种方案是很容易被击破的。一个简单的办法就是保证金模式:矿工必须事先向矿池质押一笔保证金,并且每个矿工都在不同的地址上挖矿,如果矿工窃取出块奖励,那么保证金就会被没收。实际上,小矿工连续出块的概率非常小,因此由于连续出块而造成的矿池的损失几乎可以忽略不计。另外,对矿工作实名认证的做法也可以解决这个问题。

且不论抵御矿池在技术上是否可行,抵御矿池这种想法本身是否合理呢?乍一看,抵御矿池实现了更好的去中心化,所以这是非常合理的。细想一下,其实不然。

Ittay Eyal和Emin Gün Sirer发表了一篇令人震惊的论文[2],论述了大矿工如何获得不正当优势。在算力极度分散的状态下,作恶的大矿工会吸引越来越多的小矿工在作恶的链上挖矿,而不是在诚实的链上挖矿。

这一点也可以用政治来作类比。一般而言,只有强者才能制衡强者。一群过度分散的弱者对抗强者往往是以卵击石,即使它有一个民主的形式。所以,现代成熟的西方国家通常会采用联邦治理模式而非大一统的人民直选模式。实际上,抵御矿池的想法与法家的弱民主张颇有几分相似。

过度集中是灾难,过度分散是更加严重的灾难。两害相权取其轻。我认为,不抵御矿池是更加不坏的选择。

所以,虽然我主张抵御大矿池,但是我不赞成抵御矿池。

七、其它去中心化技术

1.激励用户运行节点,如Monero的RPC-Pay。

2.小区块和第2层网络,如Bitcoin。

3.压缩区块,如Bullet Proofs。

4.改进挖矿算法,降低生产ASIC矿机的门槛。

5.改进底层通信协议。

6.支持轻量客户端,以增加节点数量。

7.对存储空间征税,如Nervos和Ergo。

8.项目的社区化运作。

综合应用以上技术能够实现更彻底的去中心化。