登链社区公开课 1 - 如何实现区块链治理
如何实现区块链治理-B站 如何实现区块链治理-Youtube
治理是指: 用怎样的方式来管理系统(协议),治理的内容通常包含有:参数修改、系统升级、
Bug 修复、资金管理
<img src="https://img.learnblockchain.cn/pics/20210117151050.png" alt="image-20210117151039912" style="zoom:70%;" />
一个治理模型 可以实现去信任,可以提高用户的参与度,提升项目整体价值,例如: Sushi 通过 Token 治理撼动了 Uniswap 的江湖地位。
实现治理有很多中方式:
管理员(或多签)
质押投票
治理代币(余额)投票
Snapshot 签名投票(线下治理)
乐观投票(线下投票、线上执行)
<img src="https://img.learnblockchain.cn/pics/20210120173657.png" alt="image-20210120173655881" style="zoom:60%;" />
本次主要介绍前三种,关于 SnapShot 和 乐观投票可阅读:https://learnblockchain.cn/article/2025
项目有单一的账号或多签控制账号,一个人(或少数几人)说了算, 难以建立广泛的共识。
通常做为一个过渡的方案。
理想的方式肯定是全体投票, 一币一票, 少数服从多数。
但是如何防止重复投票呢? 思路一是: 把币质押起来,防止投票的币进行移动。
通常需要额外的质押奖励来增加大家的积极性。
缺点: 降低资金利用效率,投票昂贵。
防止重复投票,通过记录不同区块高度的代币余额来解决。
统一用提案时刻区块高度的余额来统计票数。
缺点:转账成本高
用离线签名的方式投票,投票存放在 IPFS, 不可篡改,可验证。
在某个块照高度统一计票。
缺点:投票结果在链上没有约束力, 依旧靠管理员(多签)来执行提案。
Balancer 开源了 https://snapshot.page/#/
优化Snapshot投票, 加入 Aragon 法庭 和 Aragon 代理。
假定投票结果正确的,并有Aragon 代理来执行提案,当在时间锁定期内,任何人可向 Aragon 法庭 挑战结果。
完整的演示的代码在: https://learnblockchain.cn/goods/24
用 Demo 简介和演示管理员、质押投票、余额投票。
Demo项目有代币 “MyToken” (MyERC20.sol) + 协议(Protocol.sol)。
管理员调整协议fee 、 转移管理员(Protocol.sol)
质押投票
代码:VoteByStake.sol
先质押,后投票
<img src="https://img.learnblockchain.cn/pics/20210120184832.png" alt="image-20210120184830633" style="zoom:50%;" />
余额投票
对应代码:MyERC20WithVotes.sol 及 VoteByBalance.sol
在转账时,设置一个检查点,记录其余额和高度。
投票时,定位的提案区块高度在哪个检查点上,从对应的检查点上,获取其对应的票数。
感谢CellETF.io 对本次活动的支持。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!