去中心化借贷项目 Compound 发行的 COMP 代币。目前的市值当前大约是 20 亿美元,该代币已经积累了巨大的价值。但 COMP 的实际效用是什么?
其实 COMP 是一个治理代币。Compound 作为一个完全去中心化的系统(或者至少是在走向它的路上),基于 COMP 实现了一个去中心化的治理机制。同样的机制,在SushiSwap 治理[4]中也被复制和使用。
但它是怎么详细工作的呢?
在上层来看,治理也是一套简单的智能合约。它们允许以去中心化的方式从治理核心合约内调用任何其他智能合约的任何数据。在 Compound 中,核心合约被设定为其他 Compound 协议合约的管理者。这意味着核心合约将能够调用各种管理功能,如添加新的市场,改变参数,甚至升级合约本身。
COMP 代币持有者可以投票。COMP 被分配给系统中的积极参与者,确保使用 Compound 的人能够决定 Compound 的未来。
升级功能是最强大的。Compound 使用的是典型的代理升级模式[5],所以通过允许治理合约进行升级,简直可以改变一切,包括治理机制本身。
治理机制遵循一个严格的过程:创建提案、对提案进行投票以及执行前的两天时间限制。
Governance Diagram
由于治理系统对 Compound 来说是一直在线及持续的,你可以在各个不同的地方看到这个系统在真正地发挥作用。
Compound Governance
Compound Proposals
Compound Votes
Compound Timelock
现在让我们详细研究一下治理合约,包括:
GovernorAlpha.sol
)Timelock.sol
)。核心治理合约为GovernorAlpha[16],它包含了创建和执行提案的所有逻辑。
治理的核心是 提按
功能。它接收了一个动作列表,每个动作都包括:
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 代币持有者,才能添加一个新的提案,每个提案者只能有一个活跃的提案。最后,必须传递一个 描述
字符串,其中包含一个人类可读的提案解释描述。