“波卡知识图谱”是我们针对波卡从零到一的入门级文章,我们尝试从波卡最基础的部分讲起,为大家提供全方位了解波卡的内容,当然这是一项巨大的工程,也充满了挑战,然而我们希望通过这样的努力让大家能够正确认知波卡,也让不了解波卡的人方便快速掌握波卡相关知识,今天是该栏目的第39期,将围绕如何对决策进行投票为大家展开详细说明。
在早期区块链链下治理的一次次分裂之后,避免社区的分裂和对生态系统高效的治理成为了亟需解决的问题,因此链上治理逐渐被新兴公链所采用。
链上治理通过对议案进行投票来让用户参与到治理中来,进而产生的结果会自动应用到协议中去。这种链上治理的方式有效的提高了治理效率,也解决了社区分裂的问题。
在上一期的科普中我们详细说明了有关提出提案、附议提案的具体操作。
那么为了进一步的参与波卡的治理,本期将围绕如何对一项议案进行投票、委托投票,甚至是对链上数据进行解读来展开详细的介绍。
对一项议案进行投票
在每个启动期结束时,支持率最高的提案将进入公投。在此期间,你可以对该提案投赞成票或反对票。你也可以将你的通证锁定更长时间,来增加你投票的权重。
在通证被锁定期间,你无法转移它们,但它们仍然可以用于进一步投票。通证的锁定是层层叠加的,因此如果你在一周后再次投票,8周的锁定不会变成15周锁定,而是另外增加一个8周的锁定期。
如果要对公投进行投票,请导航到Polkadot-JS Apps的“Democracy”选项。任何积极的公投都将显示在“referenda”栏中。点击蓝色按钮“Vote”,对公投进行投票。
如果你想投票支持这项提案,请选择“Aye, I approve”选项。如果你想反对这项提案,请选择“Nay, I do not approve”选项。
第二个选项是为这次投票选择你的意愿程度。你愿意锁定通证的时间越长,你的投票权重就越大。
意愿程度选择的时间表在投票期结束后开始;用于投票的通证将一直被锁定,直到投票期结束,无论你以何种意愿投票。
不愿意锁定你的通证意味着你的投票只对你所持有通证的10%起作用,而最长锁定896天意味着你可以使投票只对你所持有通证的600%起作用。可以使用已经被锁定的通证进行投票。
当你对所做的决定感到满意时,单击蓝色的“Vote”按钮提交你的交易并等待它被包含在一个区块中。
解锁锁定的通证
与vesting一样,锁定在账户中的通证也会被延迟解锁。这意味着你(用户)必须显式调用外部解锁,以便在锁定到期后再次使用你的资金。
解绑(Unbonding)是你在Polkadot中经常听到的另一个术语,它意味着撤回你在质押中使用的DOT。
你可以在Polkadot-JS Apps中的“Accounts”页面执行此操作,除非你使用 Ledger(见下文)。
首先通过打开余额中的详细信息来检查你的账户是否有“democracy”锁定。在下面的示例中,账户锁定了150个KSM。
现在你可以单击菜单按钮(三个点)并找到“Clear expired democracy locks”选项。选择此选项后,你可以确认交易,成功时你的锁定将被清除。
使用Ledger硬件钱包或解锁很旧的锁定
如果你没有看到清除过期民主选票的选项,则可能是锁定已经很旧了。或者,如果你使用的是Ledger硬件钱包,你将无法从UI发出批量解锁操作。
相反,你必须通过直接发出正确的extrinsics来清除锁定。
导航到Extrinsics页面,并使用你投票时使用的账户提交以下外部信息:democracy.removeVote(index)。对于索引号 (ReferendumIndex),输入你投票的公投编号(下图中的“12”)。
你投票的公投编号在Polkascan这样的浏览器中是可见的。
你需要按“Submit Transaction”按钮来提交外部信息。
现在提交以下外部信息 : democracy.unlock(target),其中target是你的账户地址。
如果你返回到Accounts页面,你应该会看到账户锁定已被释放。
请注意,这仅适于用于全民投票中锁定的DOT。要解锁Polkadot理事会成员投票被锁定的DOT,你需要进入理事会页面,点击“Vote”,然后点击“Unvote All”。
委托投票
如果你太忙,而没有时间继续投票,可以选择将你的投票权委托给你信任的另一个账户。
当你委托给另一个账户时,该账户将获得你通证的附加投票权以及你设置的投票意愿。授权投票意愿与常规投票的意愿工作原理相同,除了你的通证被锁定的时间可能比正常情况下更长,因为取消委托投票时锁定重置。
一旦委托到位,被委托的账户不会进行任何特殊操作。他们可以继续就他们认为合适的公投进行投票。
不同的是,当民主系统计票时,无论被授权人投了什么票,都会附加上被委托的通证。
你可以将你的投票委托给另一个账户,甚至可以给这个授权附加一个“Conviction”。导航到Polkadot APP上的“Extrinsics”选项卡,然后选择“democracy”和“delegate”选项。
这意味着你正在访问民主模块并选择要发送的委托交易类型。在你明确取消投票之前,你的授权将计入你委托的任何账户的投票。
在第一个输入中选择你想要委托给的账户,在第二个输入中选择你的意愿金额。请记住,更高的意愿意味着你的投票将被锁定更长时间。所以做出明智的选择!
发送委托交易后,你可以通过导航到“Chain State”选项卡并选择“democracy”和“delegate”选项来验证它是否通过了。你将看到类似于下面的输出,显示你已将投票权委托给的地址。
取消委托的投票
在未来的某个时候,你可能会决定将你的委托移除到目标账户。在这种情况下,你的通证将根据你在委托开始时设定的意愿被锁定的最长时间。
例如,如果您选择“2x”委托锁定4周的时间,你的通证将在发送取消委托交易交易后锁定4周。一旦你的投票被取消授权,你就可以再次使用它进行投票。你可以直接开始投票,也可以选择其他账户作为你的代表。
undelegate(取消委托)交易必须从你希望清除其委托的账户发送。例如,如果Alice已将她的通证委托给Bob,则Alice需要调用undelegate交易以清除她的委托。
最简单的方法是使用Polkadot Apps的“Extrinsics”选项。选择“democracy”模块和“undelegate”交易类型。确保你是从你想要清除委托的账户发送交易。点击“Submit transaction”并确认。
使用治理代理进行投票
代表stash进行投票需要来自代理模块的“proxy”交易。当你从“Extrinsics”选项卡中选择此交易时,它将允许你从“democracy”模块中选择“vote”,并且你将指定正在投票的公投索引,判断(即“Aye”表示赞成或“Nay" 表示拒绝)和意愿,就像正常投票一样。
解读链上投票数据
考虑以下示例,展示了如何在区块链浏览器上显示投票。
乍一看,可能很难解释您投票的内容。我们需要退后一步,在二进制级别上考虑“voting data”。
投票被存储为使用位字段数据结构的字节,并以十进制整数显示在区块链浏览器上。位域存储意愿和aye/nay布尔值,其中布尔值使用字节的MSB表示。这意味着将剩余的7位分组用于存储意愿。
实际上波卡的治理借鉴了西方民主政治的制度模式,通过将民主制度与链上治理相结合,持有DOT的任何参与者都拥有投票权,从某种程度来说,波卡的链上治理模式更加偏向与现代民主。
此前在Gavin在Web3大会中提到,波卡的治理模型是某种程度的委托民主,不是每一件事都需要投票。波卡得确保有更多的利益相关者群体来参与决策,波卡系统才会更稳定。