2021-03-05 22:55 | 出处: Near中文社区
核心合约,比如EthClient,EventProver
核心连接器,比如FungibleTokenConnector
定制化连接器,由第三方开发
核心合约,如NearClient,NearProover, BorshDecoder, Ed25519
核心连接器,如Erc20Connector
定制化连接器,由第三方开发
区块中继器,负责把区块头发给客户端,保证彩虹桥运正常运转
监管者-负责对提交给以太坊的NEAR区块头进行检查,发生错误区块被提交的情况时,给系统发送质疑。
交易中继器(尚未开发)负责代表用户发送最终交易,有效地将用户与彩虹桥之间的互动变得原子化
如果我们能就连接器的可升级性提供一个建议方法(目的是避免核心彩虹桥升级出现的一些问题),这对开发者来讲将会是很有帮助的。
定制化的连接器正使用核心合约,合约的接口(方法、参数)未来可能会根据升级发生改变,所以这些连接器应该采用一种通用的升级方案。
优点:简单,易于审计,能与多个版本协作
缺点:数据迁移不清晰,需要额外调用来查询实际使用的合约
优点:可以进行微调,主合约代码不可更改的特性为用户带来额外的安全性。
缺点:主合约中的漏洞无法被修复,高度依赖使用场景,没有标准的经过测试的代码
优点:地址是静态的,数据与执行是隔离的
缺点:设计复杂,可能会因为EVM的某些具体情况(函数筛选冲突,存储冲突)导致很多问题发生
优点:不需要代理(proxy)
缺点:合约状态在升级过程中被删除,不能在单个交易内发起升级,由此带来合约会有停机时间
优点:速度快
缺点:中心化,存在单点故障
优点:参与方数量不是很大的情况下非常快速,不存在单点故障问题
缺点:仍然是PoA模型;需要为{Ethereumconsensus, NEAR consensus}集合引入额外的信任实体。
优点:用户如果不同意升级,有足够的时间中止服务
缺点:无法快速升级,在筹划期黑客可以分析代码并破解当前版本
优点:有逃生舱,为时间锁的安全升级问题提供了解决方案
缺点:暂停本质上是中心化的,因此应该在时间上有所限制
优点:为时间锁的安全升级问题提供了解决方案,减少了黑客对漏洞进行倒序开发的风险
缺点:与多签治理几乎没什么区别
优点:完全的去中心化,如果投票出了问题,这意味着NEAR协议层也会出现问题了,这时彩虹桥会是次要问题。
缺点:速度可能会慢一些,如何应用安全补丁尚不清楚,验证节点的职责范围会被扩大。投票决策也应该被发送至以太坊合约,如果彩虹桥停止运行,上述操作可能会发生问题。
核心合约目前是不可升级的,不过它们已通过了安全审计。核心彩虹桥升级通过发布新的彩虹桥实例来运行,使得连接器需要更改地址来进行交易完成性的验证
同质化通证连接器拥有特殊功能,可允许转移通证至新的部署环境
治理模型使用单个秘钥
2. NEAR
核心合约通过了安全审计,不过拥有完整的访问秘钥。我们能够在同样的账户里部署新版本的合约,这样连接器不用再更改证明地址了。
同质化通证连接器也拥有完整的访问秘钥,可以在地址不发生改变的情况下被更新。
代码中的漏洞数量在彩虹桥的运行初期达到峰值,之后会逐渐下降
彩虹桥测试范围会逐渐扩大
升级的测试次数会越来越多,考量也会越来越重
产品的用户基础会逐渐增加
彩虹桥中的锁定价值会逐渐增加(错误的成本也会增加)