======================= Cardano的委托和奖励机制 ======================= 区块链中除了共识算法以外最重要的可能就是经济系统了,经济系统的设计目的是在大家都追求利益最大化的前提下,让系统进入我们希望达到的目标均衡状态。 Cardano这方面的规则刚出草案,在正式发布之前都还有可能修改,我们可以先大体了解一下。 简单介绍一下Cardano的Ouroboros协议。首先这是一个PoS协议,每个人都可以运行一个核心节点(通俗的说就是矿工节点),即可获得与自己持有份额等比例的出块奖励。 为了让普通用户不用那么麻烦去维护一个服务器节点,Ouroboros支持委托机制,不想自己维护节点的人可以把自己的份额委托给其他人。 委托是可选的,并且是递归的,也就是说你可以选择自己挖矿,也可以选择委托别人挖矿,如果别人委托给你了,你还可以继续委托给其他人(递归的最大深度会有限制)。 也就是所谓的 `Liquid Democracy `_ 。 同时会要求交易所钱包使用不同的地址类型,禁止交易所使用用户的币参与挖矿。 总之,有这么几种角色:独立挖矿者、矿池主、代理给矿池挖矿的普通持币者。 作为一个去中心化自治系统,我们又不希望设置太多硬性规定,尽量只设定最基本的规则,其中一些参数可以交给市场去博弈出具体的值,而另外一些固定的参数也可以在未来的财政系统中由大家投票去决定。 另外,Ouroboros的委托是不需要冻结用户的币的(除了矿池主注册矿池的时候可以主动冻结一些币,后面会提到),系统会在每个epoch开始的时候计算整体份额比例,并在一个epoch过程中保持不变,但是币本身随时都可以自由交易,在目前的设定下一个epoch持续5天。 奖励规则的设计目的主要是为了: * 安全性 没有绝对的安全性,最终系统的安全性取决于各个角色攻击协议需要付出的成本,比如PoW系统的攻击成本是51%的算力,PoS系统的理论攻击成本是51%的币,但是因为有了委托的存在,矿池主用来出块的币实际上大于他本身持有的币,那么这种情况安全性上受到多大影响,是需要计算的。 * 去中心化程度和稳定性的权衡 任何一个去中心化网络要保持稳定高效的运行,需要有稳定高效的矿工节点协同工作。作为一个去中心化系统,我们希望通过规则的设置让系统能够自动达到我们希望的稳定状态。 我们先来看看其中涉及到的几个关键参数: * k 系统希望的均衡状态下矿池数量,默认值100。 * cost/margin 矿池运行需要的成本和利润抽成,矿池主的奖励计算大致逻辑是 ``cost + margin * reward`` , 如果margin为0,矿池主只拿cost数量的固定奖励,如果margin为1,矿池主拿走全部奖励。这个由矿池主注册矿池的时候设定,大家可以根据矿池主的设定选择代理给合适的矿池。 * s 矿池主注册矿池的时候主动选择冻结的币的比例,冻结越多,矿池整体奖励越高。 * σ 矿池整体拥有的stake比例。 * a0 这个系数是控制矿池主冻结份额数量对矿池整体奖励的影响程度,a0越小,影响程度越低。 * γ 如果矿池错过了出块,奖励会有减少,这个系数控制具体的减少程度。多出来的奖励并不会分给其他节点,而是全部进入财政系统。这样可以降低矿池之间彼此攻击的动机。 其实从定性的角度大体上就清楚了,具体的定量分析大家可以期待Dr. Wang的分析结果,我这里就截个图大家自己看公式把: .. figure:: images/pool_reward.jpg :align: center :width: 100% 一个矿池在一个epoch中的奖励上限 .. figure:: images/pool_reward1.jpg :align: center :width: 100% 考虑矿池不出块的惩罚