你也许知道很多的 DEFI 项目是参考Compound的链上治理方式,本文来看看一下 Compound的去中心化治理是底层是如何运行的
- 原文:https://soliditydeveloper.com/comp-governance
- 译文出自:登链翻译计划
- 译者:翻译小组
- 校对:Tiny 熊
- 本文永久链接:learnblockchain.cn/article…
去中心化借贷项目 Compound 发行的COMP代币。目前的市值当前大约是 20亿美元,该代币已经积累了巨大的价值。但COMP的实际效用是什么?
其实COMP是一个治理代币。Compound作为一个完全去中心化的系统(或者至少是在走向它的路上),基于COMP实现了一个去中心化的治理机制。同样的机制,在SushiSwap治理中也被复制和使用。
但它是怎么详细工作的呢?
在上层来看,治理也是一套简单的智能合约。它们允许以去中心化的方式从治理核心合约内调用任何其他智能合约的任何数据。在Compound中,核心合约被设定为其他Compound协议合约的管理者。这意味着核心合约将能够调用各种管理功能,如添加新的市场,改变参数,甚至升级合约本身。
COMP代币持有者可以投票。COMP被分配给系统中的积极参与者,确保使用Compound的人能够决定Compound的未来。
升级功能是最强大的。Compound使用的是典型的代理升级模式,所以通过允许治理合约进行升级,简直可以改变一切,包括治理机制本身。
治理机制遵循一个严格的过程:创建提案、对提案进行投票以及执行前的两天时间限制。
由于治理系统对Compound来说是一直在线及持续的,你可以在各个不同的地方看到这个系统在真正地发挥作用。
现在让我们详细研究一下治理合约,包括:
GovernorAlpha.sol
)Timelock.sol
)。核心治理合约为GovernorAlpha,它包含了创建和执行提案的所有逻辑。
治理的核心是 提按
功能。它接收了一个动作列表,每个动作都包括:
target
: 所执动作作的目标地址。value
: 要传递给调用的msg.value
。signature
: 调用的函数签名,例如:transfer(address, amount)
。calldata
: 要传递给函数调用的数据(参数)。function propose(
address[] memory targets,
uint[] memory values,
string[] memory signatures,
bytes[] memory calldatas,
string memory description
) returns (uint)
拥有至少100,000个代币(即≥1%的发行量)的COMP代币持有者,才能添加一个新的提案,每个提案者只能有一个活跃的提案。最后,必须传递一个 描述
字符串,其中包含一个人类可读的提案解释描述。
全民投票:在一个提案被添加后,公投开始了。在提案开始时拥有投票权(通过compToken.getPriorVotes
函数调用确认)的地址,可以在3天的投票期内提交他...
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!