跳转到主要内容
Tori 需要在链上合约与集中清算的流动性场所之间打通操作,而这需要特权密钥。本页列出 Tori 主网合约上的特权角色:每个角色能做什么、由谁持有,以及哪些操作受时间锁约束。下面的每个角色都位于经过验证的合约上,每个持有者都可以在链上查到,因此这里的每一行内容,您都可以亲自核查。 两条设计规则贯穿整个矩阵。最小权限:任何角色都只能执行其名称所对应的那一项职责,而那些只能削减协议权限的角色,恰恰由响应最快的密钥持有。扩权须延迟:任何扩大协议暴露面的操作,无论是新增抵押资产、新增托管目的地还是新的合约实现,都必须公开等待 24 小时才能执行。

密钥如何持有

一个角色的托管模式是一项经过权衡的风险决策,因此矩阵逐个角色注明。 约束 EOA 角色的是合约本身,而非托管安排。每个 EOA 角色的权限在设计上就很有限:要么执行用户已签名的指令,要么写入某个名单,并且每次调用都要接受协议自身限额的检查。下面的矩阵准确列出了每个角色的权限范围。

角色矩阵

铸造方只能提交用户已签名的订单,除此之外什么也做不了。准入控制方无需多签门限,只用一笔交易即可撤销该角色。

24 小时时间锁管控哪些操作

时间锁合约为 0xA952453E39F77108Ee37C1b92de593F1C59A6ef4,最短延迟为 86,400 秒。它在核心合约上持有时间锁管理员角色,这意味着以下四类操作无法悄然发生:
  • 合约升级。trUSD、strUSD 或 Minting 的新实现须先公开排队。
  • 新增抵押资产。新增需经时间锁;移除或停用则立即生效,因为能够快速执行的方向,应当是安全的方向。
  • 新增托管目的地。addCustodianAddress 受时间锁约束。这项操作决定了存入的抵押品可以流向何处,因此最值得关注。
  • 提高稳定币 Delta 限额。
任何人都可以在 Etherscan 上查看队列。一项出乎意料的排队操作,在可以执行之前会公开整整一天,而撤销方所持有的密钥可以用一笔交易将其阻止。

速率限制

铸造和赎回在合约层面按区块、按资产以及在全局范围内受到限制。每次调用都会检查该限额,无论铸造方和赎回方角色收到的是什么订单,限额都同样适用。修改限额属于所有者函数,因此需要 3/5 Safe 多签批准;运营密钥无法自行放宽限额。

自行核查

本表中的每一项角色分配都可以从链上读取,无需凭信任接受:
  • 谁持有某个角色:在合约上调用 hasRole(role, address)
  • Safe 门限:在 Safe 上调用 getThreshold() 和 getOwners()
  • 时间锁延迟:在时间锁上调用 getMinDelay()
  • 当前排队中的操作:在 Etherscan 上查看时间锁的事件
MPC 门限保存在托管服务商的策略引擎中,而不在链上。我们正在请服务商确认这些门限并安排独立审验,并计划将其与储备金证明数据一并公布。
机器翻译说明:本页面由英文原文经机器翻译而成,仅为方便阅读而提供,可能存在错误或遗漏,不具有法律效力。如本页面与英文版本有任何不一致,以英文版本为准。在依赖本页面的任何内容之前,请先阅读英文原文。