Cosmos Hub 里的“再委托”是什么?_ATO:Bitcoin Atom

Odaily星球日报译者|Moni

在CosmosHub里将ATOM代币委托给验证人,是Hub底层安全的关键及重要组成部分,也鼓励每个ATOM代币持有人参与其中。作为委托人,将你的ATOM代币抵押在一系列验证人那里之后便会赋予你很多网络权利,比如参与共识机制、网络治理、赚取通胀回报等。本文不是对CosmosHub或BPoS协议进行深入审查讨论,而是会详细分析一下委托机制,以及执行这些委托时要注意哪些要求和限制。________________________________________首先,什么是委托呢?

CosmosHub利用Tendermint作为底层BFT共识引擎,并使用BPoS协议进行区块提议人选举,其中每个提议人会根据自己所持有的总绑定权益进行加权,验证人总绑定权益与其在网络上获得的机会直接相关,该协议支持一个固定数量的绑定验证人。这些验证人也可以自我绑定,这意味着他们可以将自己的ATOM代币委托给自己,并且也可以接收来自任何其他ATOM代币持有人的委托。这些绑定的ATOM代币将充当抵押品,并使得每个委托人参与到网络之中。如果验证人出现任何模棱两可、不当行为或拜占庭行为,那么该验证人及其委托人绑定权益在总权益内的比例将会被削减。委托人可能有很多理由将自己持有的ATOM代币委托给委托人:首先,委托人和验证人都会收到奖励,这些奖励是按照他们所绑定的每个验证人持有总权益内所占比例进行分配的;其次,委托人可以直接为整个网络的安全做贡献,当然他们和验证人也可能出于各种原因选择解绑自己的ATOM代币。但是有一点非常重要,ATOM代币持有人需要注意所有代币解绑时会有一个“UnbondingPeriod”的限制,这是一个链上参数化的时间段,所有委托人必须等待他们的ATOM代币完全解绑之后,这个参数才会发生变化。也就是说,在“UnbondingPeriod”通过之前,ATOM代币基本上仍然是被锁定的。另外需要提醒的是,在此期间这些ATOM代币仍然可能因为任何拜占庭行为而被削减。“UnbondingPeriod”限制是一种网络保护安全措施,可以防止CosmosHub出现各种问题,比如网络同步假设、提供远程攻击长度下限、以及解决“nothing-at-stake”问题。在我们深入研究委托细节和限制之前,我们还需要给“再委托”一个比较明确的定义。再委托是一种简单的“再绑定”行为,或是将一部分你抵押的ATOM代币从一个验证人那里转移到另一个验证人。出于多种原因,再委托对整个网络来说是较为有益的。举个例子,如果一个委托人不再对验证人提供的服务或收取的佣金率感到满意,那么他们就会将绑定在这个验证人那里的ATOM代币转移到另一个验证人那里,此时该委托人可以不用等待解绑时段完全结束就可以进行切换。不过,在执行“再委托”操作的时候会有一些限制条件。“再委托”约束条件

现在,我们已经对“再委托”和“UnbondingPeriod”在网络中所扮演的角色有了一定了解,下面就让我们看一下在执行这些活动之前需要考虑哪些细节。正如我们之前所提到的,与验证人绑定的ATOM代币如果想要解绑,会受到“UnbondingPeriod”限制。除此之外,还有另一个重要的链上参数也需要考虑在内,它就是“MaxEntries”,该参数与下面两个要素相关:1、唯一委托人和验证人绑定对之间的解绑总数;2、唯一委托人、源验证人和目标验证人元组之间的再委托总数。“MaxEntries”里面的“entries”,其概念总是被用于CosmosHub状态机里,在委托人、解绑数量、以及相应的验证人之间保存信息。然而从用户的角度来看,“entries”概念其实被抽象化了。为了更好地说明这一点,我们使用以下示例。假设委托人D在验证人X那里绑定了N个ATOM代币,当然委托人D也可以将自己的代币委托给其他不同的验证人,但是为了更好地进行解释,我们在这个例子里面假设委托人D只把自己的代币绑定给一个验证人。现在,委托人D希望从验证人X中撤销一些他/她放置的ATOM代币,因此D发送了一笔MsgUndelegate交易,试图解绑M个ATOM代币。此时,在委托人D和验证人X之间的分类账状态机中便创建了一个“entry”。如果委托人D想要进一步从验证人X那里取回更多抵押的ATOM代币,那么D可以再发送另一个MsgUndelegate交易,但是这个交易并不被允许频繁发送,MsgUndelegate交易数量有一个上限——即“Maxentries”次!如果委托人D发送的MsgUndelegate交易数量达到了这个上限,任何进一步的尝试都会报错,如下:“在这对委托人/验证人中有太多解绑委托申请entry,请等待其他申请条目处理完成。”因此,委托人D必须要等待完整之前解绑交易的“UnbondingPeriod”完成之后,才能尝试将更多抵押的ATOM代币从验证人X那里解除委托关系。对于“再委托”来说,这一概念同样适用。换句话说,如果委托人D希望将自己一些抵押的ATOM代币从验证人X那里重新委托给验证人Y,那么同样会受到“MaxEntries”参数的约束,即会有“entry”次数限制。注意,对于“再委托”这种情况,“MaxEntries”约束适用于每一个独立的委托人、源验证人和目标验证人元组。关于“再委托”还有另一个比较重要的因素,那就是禁止“过渡性再委托”。“过渡性再委托”可以被视作为从一个验证人到另一个验证人的“跳跃”。举个例子,如果委托人D“再委托”给验证人X,接着又想从验证人X“再委托”给另一个验证人Y。那么,委托人D就必须要等待UnbondingPeriodperiod交易全部完成之后才能进行。但是,建议不要仅委托给单个验证人,因为一旦这么操作的话,“过渡性再委托”限制就会覆盖更多场景。当然,这并不是说“过渡性再委托”总是会被禁止,委托人可以多次启动这个操作,但是“跳跃”次数会有一个总数上线,也许未来可以通过治理提案来解决此问题。削减抵押的权益代币

执行“再委托”时需要记住的另一个关键要素是“削减”。作为委托人,如果给定验证人执行了模棱两可的、非法的、或是其他任何可被处罚的拜占庭行为,那么委托人在验证人中已绑定的权益代币、或是正在解绑过程中的权益代币有可能会被削减。有关削减的更多详细信息,可以查看具体规范。关于“再委托”,还有一些其他重要的事情需要牢记。鉴于我们之前举的例子,委托人D将其权益代币从验证人X“再委托”给另一个验证人Y的时候,委托人需要对两个验证人负责!让我们把上述例子再延伸一下,假设验证人X在高度H1处发生了一些违规行为,后来这些行为被发现了并在高度H2处提交,那么当以下两个条件满足的时候,委托人D的权益代币就有可能会被削减:1、在高度H1的“再委托”是在违规行为侵入之后创建的;2、“再委托”还没有完成如果目标验证人在相同条件下提交了违规行为,那么其处理方式与上述常规委托削减的处理方式没有任何区别。现在,你应该已经对“再委托”在CosmosHubBPoS网络中扮演的角色、以及执行此操作的条件和限制有了一定理解,要不要亲自去试试呢?

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-4:405ms