本文提出了一种比POW机制可能更加去中心化的共识机制,并在此基础上构造出了无需治理和预言机的亚稳定币。
一、现有共识机制的问题
现有的共识机制主要有PoW、PoS及混合机制这三大类。这三大类共识机制都受到矿工卡特尔的威胁。当矿工卡特尔在PoW或PoS中的任何一个环节上取得压倒性优势时,他们可以通过自私挖矿和交易审查来拒绝对他们不利的区块和交易,从而获得额外收益。某些区块链中的PoW+PoS机制貌似两个环节相互牵制,实际上,这两个环节中的任何一个环节形成卡特尔,都会导致整体上的中心化。这种PoW+PoS的设计类似于串联电路,一处故障整体不通。本文试图提出一种新共识机制,以削弱矿工卡特尔的优势。
二、新共识的设计逻辑
由于市场竞争及脆弱的同盟关系,卡特尔存在固有的不稳定性。虽然我们无法从根本上消除卡特尔产生的经济基础,但是我们可以试图将卡特尔的不稳定性最大化。
首先,我们应当改变原来的单因素决定出块模式,变为多因素决定出块模式。假如任何一个单因素上出现卡特尔的概率为p,那么在充分独立的前提下n个因素上均有出现卡特尔的概率会降为pn。
其次,我们应当改变多因素之间深度干涉的模式,任何一个因素上的卡特尔都不应当对其它因素上的矿工的出块或投票行为拥有否决权。
然后,任何一个因素上的充分竞争都应当有助于瓦解其它因素上的卡特尔,而不是相反。
三、双币双因素
根据上一章所述的设计三原则,我选取工作量(Work)和资本量(Capital)作为决定出块的两个因素。这里之所以没有选取权益(Stack)作为出块因素,是因为PoS机制比PoW机制更加封闭,一旦有矿工卡特尔垄断了多数权益,挑战者几乎没有办法从外部打破垄断。顺着这个思路,将资本量作为一个因素显然应当满足这些条件:1、资本量应当在区块链中体现为一种代币;2、这种代币的价格应当与物质世界中某一类价格相对稳定的要素强关联,而与投机资本弱关联;3、矿工或投资者没有囤积这种代币的动机,都非常乐意将它出手。
自然的,我们可以想到:这种代币应该与算力相关,因为算力消耗的电力和设备与物质世界强相关而且电力价格相对稳定,并且这种代币应该严格通胀。算力在区块链中的最好体现就是挖矿难度,因此我将这种代币设计为与挖矿难度相关。为了保证这种代币严格通胀,我引进了通胀系数r,r的初始值为1,每一年增长1% 。
在我设计的这个系统中有两种代币:储值币和哈希币。储值币总量恒定,且定期减产,类似于比特币。哈希币总量无法事先确定,它取决于挖矿难度和矿工间的博弈行为。区块链上的交易需要被收取矿工费,矿工费即可以是储值币,也可以是哈希币,也可以两者同时支付。
以恒定乘积做市商模型构造资产池,池中资产为储值币和哈希币。在该池中交易不收取手续费。初始时池中仅有1个储值币和1个哈希币。
设在某一区块前储值币总量为S,哈希币总量为T,资产池中有u个储值币及v个哈希币。设某一区块的挖矿难度为D,通胀系数为r,储值币的区块奖励为A个,矿工费里共有a个储值币及b个哈希币。
矿工打包一个区块需要提供一个焚毁交易和一个由区块头计算出来的哈希值。设这笔焚毁交易中包含m个储值币和n个哈希币,计算出来的哈希值为H。
四、抵御大矿池
由于挖矿收益的不稳定性,矿工有充分的动机结成矿池来对冲风险。对小矿工而言,出块概率越低风险越大。如果我们能够降低出块难度,那么这将有助于减小矿工结成大矿池的动机。由康奈尔大学Rafael Pass和Elaine Shi创建的水果链(FruitChains)[1]较好地解决了这个问题。我在水果链的基础上提出了适用于本共识的方案。
在这个区块链中有两种类型的区块:主链区块和水果。事先规定不大的整数N和k(比如N=10)。
水果是一种特殊的区块,它被包含在主链区块中。水果与主链区块一样包含区块头和交易。水果的区块头中包含水果的标识(与主链区块区分开)、之前的某一个主链区块的哈希值、一笔焚毁交易、水果区块头的哈希值和其它信息。水果的区块头指向的主链区块与水果被包含的主链区块之间间隔不应当超过k个区块。水果的区块大小不应当超过主链区块大小限制的1/N。
主链区块按顺序包含区块头、不超过N-2个水果和交易。主链区块头中包含前一个主链区块的哈希值、一笔焚毁交易、主链区块头的哈希值和其它信息。
设主链区块的总区块难度为D,包含了M(M≤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.项目的社区化运作。
综合应用以上技术能够实现更彻底的去中心化。
本文来源于社区伙伴:gentledog