传统 的pos的有一个很大的问题,就是容易形成寡头现象。就会出现所谓的强者恒强。
基于cosmos/tendermint这类的Pos机制来说,越先建立节点,staking越多的币。那么以后的收益就会越高。准备上主网的smartbch的共识内核是tendermint,所以节点上得越早,背后的金主爸爸(stake bch)越牛逼,节点获得的收益就越高。
但这个现象的弊端也很明显,太容易形成寡头了。就像无论是一人一票的绝对民主,还是钱多了说的算的自由民主,在完成体系治理的时候,都不可避免的被巨头与舆论操纵。
Npos
NPOS 机制为了解决上述的问题,采取了一种新的共识方式,来表达相对少数派的“民意”。其采用的算法为 phragmen,这一算法来源自瑞典数学家 Lars Edvard Phragmén 所解决的一个数学问题。当时的瑞典国会席位都是被主流党派所占据,这部分程度上影响了政治的平衡,通过 phragmen 算法,可以使得少数党派获得之前不能够得到的席位。波卡团队通过对 phragmen 算法进行了改良,于是产生了目前的 NPOS 机制。
从经济模型上一句话解释,NPOS的优点:
每个被选上的节点的收益趋向于平均值。
下图是波卡目前的validators的截图,可以看到前10个节点里的收益几乎都一致。从利益最大化的角度来看,假如每个节点获得的奖励都差不多和他们都几乎99%能被选上,我肯定投staking最小的那个节点,因为和我分钱的人少。这个巧妙的经济学模型,成功地解决了寡头现象。
如何获得最大收益
假设我是一个nominator,我要投票给多个validator,如何最大化收益是一个组合优化问题,首先我们考虑对validators的被选上的成功率建模,随后需要定义total stake,稳定性等。具体需要参考的因素我还在思考,但暂时想到的数学模型是最大化这个投票的组合期望。
emmm,整个优化模型还没想好。但,这是一个组合优化问题应该是确定的。如果是reward是静态的话,就是01背包动态规划问题。但难题就在于reward是动态的,并且节点也不是稳定的。
(未完待续。。。