卡尔达诺中的权益池 - 我们的方案

本文为IOHK博客文章,由Mihori 米猴莉翻译

原文连结
完整分析文件


在权益证明( PoS ) 的区块链协议中,分类账本是由在其账本中持有资产的权益持有者来共同维护。这也让权益证明( PoS )与工作证明( PoW )或其他类型的区块链协议相比,权益证明( PoS )区块链将会使用更少的能源 。然而,这个一个要求也带给了权益持有者相当的负担。你需要大量的人长时在线,并保持着足够良好的网络连结,这样才能验证收集交易,并让他们的 PoS区块能够到达其他的网络节点,同时不会出现大量的网络延迟。因此,任何 PoS的分类账本都将受益于稳定可靠,勤快维护,持有权益的服务节点。

权益池的论据

财富通常根据如帕累托分布(Pareto distribution)的幂律(power-law)来分布,因此运行可靠的节点和执行 PoS 协议,可能仅仅适用于一小撮富裕的权益持有者来进行,而大多数人都无法运行此类服务。这完全是不可取的; 如果每个人都有能力为分类账本的维护做出贡献则会更好。而修正这个问题的方法是允许创建权益池。具体而言,这是指权益持有者将其权益合并成为单一实体(权益集合)的能力,该实体可以使用其成员的总权益来参与 PoS 协议。权益池将有一个管理者负责运行处理交易的服务。同时,权益池管理者不能够花费他们权益池所被委托的权益,而委托权益池的成员应该也可以任意地改变主意,并在他们想要到另一个权益池的时候,可以重新分配委托他们的权益。最后,也是最重要的,任何权益持有者都应该渴望成为一个权益池管理者。

参与 PoS 分类帐的维护会产生成本。当然这不会像 PoW 协议那样高 ,但成本仍然是很重要。因此,权益持有者的整体社群,应该以某种方式激励那些愿意通过设置服务器和处理交易来支持维护分类帐本的人。这激励可以通过分类账本使用付费(交易费形式)和增加硬币流通供应量的通膨(让新的硬币进入流通),两种组合方式来实现。

在比特币的模式下,我们也有着上述两种机制,激励和矿池。一方面,采矿是通过交易费用以及出块奖励来获得激励的,这奖励是固定但随着时间会依几何比例而逐渐减少。在另一方面,矿池能够通过将许多参与者出块所需的工作分开,并单单使用“部分” PoW (代表着比当前分类帐本状态还略简单的PoW)来促进矿池的参与度。

在 PoS 设置中,很直截了当地应用了类似的激励机制。但是,你应该先问问自己,比特币类型的机制(或任何相关的机制)究竟是否能够最终汇合到一个理想的系统配置。这也带来了一个重要问题: 理想的系统配置 究竟 是什么? 如果唯一的考虑是将交易处理成本最小化,那在一个无故障的环境中,以经济上最优化的配置将会是中心化式配置。有一方提共分类帐本维护的服务,而其他所有人都参与这一方所创建的权益池。这显然不是一个理想的结果,因为单池的领导者也将成为系统中的单点故障,这正是分布式分类帐本所应该避免的结果。许多池的共存,换句话说,去中心化,应该是分类账本中激励机制的理想特征 。

PoS的奖励分享方案

那么在 PoS 设置中的奖励分享方案会是什么样子呢? 它应该要定期地提供奖励,而权益池管理者应该先留住一部分奖励作为权益池维护费用,然后再分配剩余奖励给各个权益池参与者。鉴于我们可以通过参与者的权益密钥,来追踪分类帐本中权益池的成员资格,那分给每个权益池的奖励就可以被编写在智能合约中,并成为分类帐本中维护服务的一部分。但首先,权益池管理者应该因为他们的营运创业获得奖励利润。而每个池在分类帐本上发布的权益池创建凭证,上面将会说明每个池的自订利润,也就是权益池的奖励扣除营运成本,而这份说明也应该成为权益池创建凭证的一部分。成本说明则应该时常被更新调整,才可以吸收加密货币对法币成本的任何价值波动,也才能体现实际的营运成本。同时,权益池创建凭证,这是由权益持有者提供的单个或多个的权益密钥所支持,也必须声明究竟有多少数量的权益”站在”权益池的身后,这数字可以作为此权益池是否为一个真实并拥有单个或多个权益持有者的权益池指标,也可以作为一种保证遵守正确协议行为的抵押。

[(总奖励 x 权益池规模比例) – 营运成本 ] x (1 -利润比率) x 成员权益池中的比例 = 成员奖励收益

鉴于上述的设置,比特币类的机制在去中心化的目标表现如何? 在比特币中,假设每个人都遵循协议,矿池奖励分成与每个池的大小成比例。例如,拥有20%总哈西算力的矿池预计将能获得20%的奖励。这是因为奖励与矿池获得的区块数成比例,而区块数又与矿池的挖掘能力成比例。这会引向一个去中心化的系统吗? 而经验证据似乎暗示着:在比特币中,矿池几乎接近(有时甚至超过)50%的门槛,这是一个确保分类账本还可以防错的上限值。而有一个简单的论证,可以在我们的奖励分享方案框架内,用经验观察来验证:也就是如果权益池奖励和它们的规模成比例,而又和参与成员在权益池中的权益比例成比例,那么非常理所当然的事情就是把所有权益通通集中到一个权益池内。可以试想,首先,我们可以合理地预期,任何足够有钱的玩家都可以通过设置或租用服务器设备来推广他们的池子,这样可以吸引更多的成员来参与,也使得他们的奖励份额增加。而不是其他权益池管理者的一般权益持有者,将会寻找一个能够让他们收益最大化的权益池,也就是一个具有最低成本和最高利润的权益池。而池与池之间为了获得参与成员的竞争,将会把利润压缩到一个非常小的值。但即使利润为零 ,其他的池也将输给这个最低的成本的池。假设池与池之间没有联系,这一个权益池将会吸引所有的权益持有者。而最后,其他权益池的管理者,将会意识到他们加入这个权益池远比自己维护营运权益池还来得好,因为他们将能获得更多的利润。最终,系统将汇聚所有权益到一个中心化的权益池。

图1显示了这种假设情况的图形表示。这来自于我们团队在寻找有效的奖励分享方案的过程中,所进行的众多模拟之一。在实验中,许多权益持有者遵循着被动过程,他们试图根据当前系统配置获得最大化其收益。该实验最终引导到了一个中心化的单一权益池,这验证了我们对上述类比比特币方案的理论观察。从去中心化的角度来看,这是公众的悲剧:尽管参与者认为去中心化放是一个抽象的概念,但他们中没有一个人愿意承担它的成本。

stake-pools-fig1
图1。在100个权益持有者的模拟中,类比特币的奖励分享方案展示了中心化 。最初,权益持有者创建了大量的池子。然后,权益持有者试图最大化他们的收益并且改变策略,导致最终只存在单个池的汇聚点。

更好的奖励分享方案

很显然地,我们必须比中心化做得更好! 第一个观察是,如果我们要实现去中心化,奖励和规模之间的线性应该在一定水平之后逐渐减少。这是因为,虽然当池子很小并且想要吸引权益持有者时,线性是有吸引力的,但是如果我们想要让小型池子更具有竞争力,那么在一定程度之后,它应该要会减少。因此,我们将根据池的大小,将奖励分享方案的行为划分为两个阶段:成长阶段,遵守线性时,以及当池子足够大时的稳定阶段。转换发生的点将被称为”饱和点”,并且已经通过此点的池子将呈现饱和。我们可以在饱和点之后将奖励固定成为恒定,因此如果饱和点为1%,则总权益为1%和1.5%的两个池子都将获得相同一样的奖励。

要从单个权益持有者的角度来理解这种动态如何工作,请考虑以下的范例。假设有两个池,A和B,由Alice和Bob管理,运营成本分别为25和30个硬币,每个池的利润为4%。进一步假设要分配的总奖励为1,000个硬币,并且奖励分享机制的饱和点为20%。在预定的时间点,Alice的池具有总权益的20%,所以它是在饱和点上,而鲍伯的池是19%。池成员Charlie持有1%的权益,并正在考虑加入哪个池。加入Alice的池将使其总权益达到21%,并且因为它已经超过饱和点,奖励将为200个硬币(即总奖励的20%)。扣除运营成本后,Alice和池成员之间的奖励分配为175个硬币。在扣除Alice的利润并考虑到Charlie在池中的相对权益比例后,他将获得8.3个硬币作为奖励。

[(1000 x 20% ) – 25] x (1-4%) x (1/21) = 8

如果Charlie加入Bob的池,总奖励将会是200个硬币 ,或着扣除运营成本后的170个硬币。然而,考虑到Charlie的权益是 池子的 5%(1/20) ,那么事实证明他将获得比他加入Alice的游泳池多2%的硬币。因此,如果Charlie如果希望最大化他的奖励,他将应当加入Bob的池。

[(1000 x 20% ) – 30] x (1- 4%) x (1/20) = 8.16

现在,让我们看看假设当Charlie在的整个过程的早期阶段,面临同样的决定时会发生什么事。假设Alice的池已经占总权益的20%,而Bob的池只有3%。在这种情况下,Bob拥有一个非常小的池,而与之前的案例相比,其参与成员可获得的总奖励要少得多。因此,如果Charlie为Bob的池做了相同的计算,那么他的1%权益将导致池子的总权益增加到4%,但是,如果进行计算,他将获得仅仅为加入Alice池子奖励的30%。

[(1000 x 4%) – 30] x (1- 4%) x (1/4) = 2.4

在这种情况下,理性的决定是加入Alice的池,尽管他的加入将使Alice的池超过饱和点。而有关具体数字,请参阅下表1。

stake-pools-table1
表格1。持有总股份1%的 Charlie正在考虑加入由Alice,Bob,Brenda和Ben经营的权益池。他的奖励以加入每一个的硬币计算。总奖励池为1,000,饱和点为20%。

有远见的事情

以上似乎是矛盾的。要了解Charlie需要做什么之前,我们必须先了解以下的事实。在第二种假设场景中(Bob小型池),Charlie加入Alice池的选择是合理但非常短视的(也称近利)。事实上,只要在Bob的池子达到饱和点之前,Charlie待在Bob的池子会更好,也正如第一个场景所证明的那样。因此,如果Charlie认为Bob的池将有天将达到饱和点,理性的选择应该是支持它。其他权益持有者也应当这样做,这样Bob的池子就将会迅速达到饱和点,使得参与其中的每个人都会更好,同时这也支持了去中心化的理想:Alice的池不应该不断地增长,反而应该让池子停在饱和点,其他的池也将被赋予可以成长到相同规模的能力。这种代表权益持有者的战略思维更具有远见 (即非短视),并且正如我们将看到的,它有能力帮助各方融合到系统的理想去中心化配置。

值得注意的是,不可避免的是,系统在其演变过程中将达到关键时刻,对于权益持有者来说,进行有远见的思考至关重要,如上面的情况,其中Alice的池达到饱和点,同时其他的池子规模仍然相当小。原因在于,由于每个权益池管理者的特殊情况,运营成本在所有权益持有者的利益人口之间是可变动的。因此,我们可以预期,从没有存在权益池的零点开始,运营成本最低的池也将是最先成长的池。这是很自然的,因为低运营成本可以让池成员之间分配更高的奖励。我们也可以预期到系统有天将达到如上面所说的第二种情况,其中最具竞争力的池(运营成本为25的Alice)将先达到饱和点,而第二最具竞争力的池(运营成本为30的Bob) )仍然处于一个小型的规模。

人们可能也会试图以长远方向思考类比特币的奖励分享方案,并认为它也有助于融合到去中心化。不幸的是,这种情况并非如此。在类比特币的方案中,与我们奖励分享方案的饱和点恰恰相反(没有饱和点),在Alice 和Bob两者的池子之间,并不会有任何一点会让Charlie觉得Bob的池子更具有吸引力。事实上,如果没有饱和点,Alice更大的资源将永远为Charlie提供更多的奖励:这源于Alice的运营成本较小,因此所有权益持有者能得到更多回报。这将使鲍勃的池子不会有任何成员,并且最终,如上所述,Bob也将做出理性的选择 - 解散他所营运的池子并加入Alice,使得Alice成为系统的中心化者。

回到我们的奖励分享方案,我们已经确定非短视的战略思想能够促进了去中心化; 尽管如此,仍有一个重要的观点存在。在关键时刻,当非短视的权益持有者Charlie,理性地决定放弃加入Alice的饱和池时,他可能会有一些有志气的池子可供选择。例如,当Bob的运营成本为30且利润比率为4%的时候,Brenda可能会有一个运营成本为33且利润比率为2%的池,以及Ben的运营成本为36且利润比率为1%。而理性的选择是跟随即将达到饱和点的那个; 但有没有办法能够告诉哪一个会是最好的选择? 在我们的完整分析文件中,我们提供了一个明确的机制,根据池的可取性来对池子进行排序,并使用分类账中记录的关于每个权益池的信息,它可以帮助权益持有者在任何特定时刻做出最佳选择。在我们的例子中,如果Charlie想要最大化他的奖励,那应该就是加入Brenda的池(参见表1)。为了帮助卡尔达诺用户 ,池子的排序机制,将内建于代达罗斯钱包(和其他卡尔达诺的兼容钱包),并会利用权益池登记的分类帐本信息,提供视觉表示给权益持有者来做出现有最好的选择,

实验评估

那么我们的奖励方案将如何在去中心化上取得成功呢? 在完整的分析论文中,我们证明了存在一种去中心化的系统配置,即“非短视的纳什均衡”。这个均衡策略意味着权益持有者拥有一种特定的方式来选择创建池子,设置其利润比率和/或委托给其他池子,所以从长远来看,没有一个利益持有者会因为采取不同的策略而比其他人得到更好的收益。此外,我们也通过实验证明,非短视思维的权益持有者之间的反应互动,会在少量迭代中汇聚至这种均衡,如图2所示。

stake-pools-fig2

图2. 我们的奖励分享方案在100个权益持有者和10%饱和点的模拟中展示了去中心化权。池子由权益持有者逐渐创建。轮流地,权益持有者试图以非短视的方式来最大化其收益,导致最终的汇聚点存在10个池,而每个池占总份额的相等份额。最后,不会有任何理性的权益持有者想要改变此时系统的状态。

我们方法的一个特点是,池的数量只是奖励分享方案描述的一部分,因此系统不会对权益持有者强制执行。这意味着权益持有者可以自由地尝试池创建和权益委托,而不必遵循任何预定的系统架构。这与在诸如EOS的 PoS 系统中采用的其他方法形成强烈对比, 其中参与者的数量是共识系统的硬编码参数(具体地,21个池)。同时,我们的方法允许全体权益持有者通过自由加入和离开权益池来表示其意愿,在获得有保障的参与奖励情况下,同时可以目睹他们的行为将如何对 PoS 分布式 账本的管理产生可量化的影响, 无论他们的权益多寡。这也与在以太坊 2.0 等 PoS 系统中采用的其他方法形成鲜明对比,其中分类账本的维护是根据注册验证者(锁仓用户)的抵押进行,而没有内置让权益持有者(不锁仓用户)也能进行的帐分类本维护。

那么一个符合逻辑且由卡尔达诺奖励方案支持的池子数量会是多少呢? 鉴于去中心化是我们的主要的目标,将此参数设置为尽可能高为明智的。通过我们的网络实验表明,此系统可以在多达1,000个运行池中仍然有效运行。如果依照此数字来选择我们奖励分享方案的饱和值的话,即使委托给池子的权益只有ADA流通量的0.1%,还是能使权益池营运者赚到钱。

展望未来 – 女巫攻击(Sybil Attack)

鉴于去中心化可以通过大量独立的权益池来实现,同样重要的是,要看看一些去中心化的系统配置是否比其他配置更加值得选择。如本文所述,我们的奖励分享方案,将引导理性的权益持有者推动并产生最小总营运成本的权益池。尽管这可以最大限度地提高奖励并最大限度地降低成本,但它可能不一定是最理想的结果。原因在于,在均衡点时,人们可能会看到一组权益持有者被提升为权益池管理者,而他们自己(在权益池中)只拥有非常小的权益比例。而这种不平衡,拥有少量总体权益比例的人却代表系统的总体权益,在许多方面都可能是有害的:这些权益池管理者可能容易变得腐败或开始贿络,或者更糟糕的是,一个持有大量权益的人可能会为了控制整个生态系统而注册多个权益池,以这种方式执行的女巫攻击将会会损害去中心化。出于这个原因,我们的完整分析文件中提供的奖励分享方案会经过适当修改,以便对支持权益池的利益敏感问题,从而减轻这种攻击行为 。我们将在下一篇博客文章中深入探讨 卡尔达诺这一方面的奖励分享。