目前,Celo生态已上线的跨链方案主要有3种:
Chorus One:bridge between Cosmos and Celo 目前未上线?
Optics Bridge的目标是:
Optics最大的好处是,任何立案都可以自动连接到网络中的每条链,而无需为每个通道进行任何自定义设置。
Optics Bridge目前有2套UI界面供用户操作:
也可通过Optics Bridge部署在Etherscan上的合约地址来进行操作:
Optics Bridge开源代码见:
Optics中:
未来将针对NEAR和Solana实现Rust版本的链上合约。
Optics为跨链通讯系统,其可将raw buffers在链之间以便宜、无需关注链共识细节的方式传输。
与IBC等跨链协议类似,Optics需要在链之间创建channels,然后通过channel来发送消息。一旦一个channel建立成功,任何基于该链的应用都可使用该channel来发送消息到其他链。建立的channel由xApp(又名“cross-chain applications”) developers来使用。
与其他IBC和基于PoS light client的跨链方案相比,Optics具有更弱的安全保证,以及更长的延迟周期。但是,Optics可在任意支持智能合约的链上实现,无需工程化定制light client。因为其不需要运行light client,Optics不需要额外的gas来验证对方链上的区块头。【Optics V2上线之后,延迟周期由3小时缩短为了30分钟。具体可参见 Replica Proxy合约 的optimisticSeconds值为30*60=1800秒。】
换句话说,Optics优先考虑:
Optics全称为:OPTimistic Interchain Communication。
Optics不是custodial bridge,不是validator-based bridge,也不需要header relay。
Optics定位为更便宜的跨链通讯,无需header verification。相比于传统的header relay方案,Optics可节约约90%的gas开销。
Optics具有一些关键的优质特性:
Optics需依赖链下agents来在链之间进行update、relay以及process messages。即意味着,可通过合约交互,在以太坊、Celo和Polygon 3条链之间直接发送ERC-20 tokens。
Optics V1.0中包含了3小时了dispute window来detect any fraud,因此,需要约 3小时 + any confirmation time on the home chain 才能看到funds settle on a destination chain。
Optics受Optimistic Roll-ups启发,具有Optimistic机制中的很多优质特征,如:
Optics将作为跨链通讯网络的基础layer,为所有支持智能合约的链和rollups提供快速、便宜的通讯。
Optics依赖于widely-available cryptographic primitives(不同于header relays),具有几个小时的延迟(而Optimistic Roll-up需要一周的延迟),对于message senders来说,仅需要120,000 gas开销。
Optics设计为适于任何支持用户自定义计算的链。
Optics类似于公证服务。
发送链(类似于上图中的“Home”)产生了一系列的message(类似于上图中的“docment”),这些消息需要公证。公证处(类似上图中的“updater”)会对这些消息进行签署。公证处可出示欺诈性副本,但他们将受到惩罚,被公开吊销其保证金和license。当这种情况发生时,每个人需依赖the notary learns that the notary is malicious。所有的natory’s customers可立即阻止该notary并防止任何malicious access to their accounts。
Optics是按照Optimistic系统设计的。Optics看到an attestation of some data,当过了一定时间后,将其作为有效数据接收。在一定时间期间,honest参与者有机会对该attestation进行响应并(或)提交欺诈证明。
不同于大多数Optimistic系统,Optics跨越多条链:
任何链都可维护一个“Replica”合约,在该合约中维护了updater和current root信息。Replica合约中可维护已签名的updates,当超时后,可接收认可这些已签名的updates。Replica合约可高效replay一系列的updates来达到与Home链相同的root,由于root为对message tree的commit,一旦root通过这种方式计算出来,即可用于证明和处理message。
公开message tree叶子节点可确认Updater是否对一个欺诈的update进行了签名。不同于Optimistic rollup,Optics中允许欺诈。最大的不同在于security model。最重要的是,欺诈总是可在sending链的Home合约中得到证明。因此,updater必须向sending链发送 a bonded stake,一旦在sending链上证明了欺诈,相应的bond将被slash掉以作为惩罚。【以 链A->以太坊 资产转移为例,Rainbow方案中的challenge发生在以太坊上,challenge成本较高,而Optics的challenge发生在链A上,相应的challenge成本要低很多。】
不幸的是,某些类型的欺诈无法在receiving链上得到客观证明。接收链上的Replicas合约无法知道,在发送链上本来想发送的是哪种message,因此,无法在所有情况下检查message tree的有效性。但是,若某message由Updater进行了falsified,并提交到了接收链的Replica合约,则该update是公开的。这意味着,任何honest actor可prove this fraud on the original Home contract and cause slashing。并没有办法来对欺诈进行隐藏。
此外,由于Replica等待处理消息,Optics可保证honest dapps将避免处理dishonest消息。Fraud总是在fraudulent message被处理之前公开,此时,Optics(如atomic swaps和其他locally verified systems)要求有honest users持续在线。为此,需要构建一套强健的系统来委托该责任。
所有的链下observers可立刻信服fraud(因为他们可check the home chain)。这意味着,由Optics发送的消息的有效性并不是100%保证的。
相反,Optics可确保以下要素:
换句话说,不依赖于全局的verifiable fraud-proof,Optics依赖local verification by participants。因此,相比于悲观地relay每个header,Optics可在保持较高安全性的情况下,节约约90%的gas费。
Optics中包含了多个链上和链下要素。为了便于表达,可将Home和Replica看成是合约,事实上,它们是由多个合约组成的。
Home合约负责生成message tree 以及 维护updater质押的bond。【为链上合约,负责生成message tree】
Home合约中实现了如下功能:
FAILED
stateHome contract为a hub of one-way communication between itself and replica contracts on an arbitrary number of remote blockchains。
Messages会通过“Cross-Chain App”(又名xApp)维护在Home blockchain中,并通过链下agents传递到replicas。
注意,消息的传递并不是即时的,有一个约3小时的dispute period + any confirmation time on the home chain,之后,才能在replica chain上看到该消息。
Celo、以太坊、Polygon主网上的Home及其它核心合约地址见 https://github.com/celo-org/optics-monorepo/tree/main/rust/config/mainnet。
Replica合约负责管理optimistic replication,并将消息派发到终端recipients。【为链上合约,负责复制其他链上的message root】
Replica合约中实现了如下功能:
FAILED
stateupdater负责对new root attestation进行签名。【为链下服务,向home chain提交updates】
updater为链下actor,主要做:
watcher(通过监听Home合约)来观察Updater与Home合约之间的交互,并对malicious或faulty attestations做出反应。
watcher可同时观察任意数量的replicas,以确保Updater不会跳过Home直接到某replica。【为链下服务,负责监听replica,并向home chain提交fraud proof】
watcher为链下actor,主要做:
relayer直接将updates由home发送到一个或多个replicas。【为链下服务,负责向replica提交updates】
relayer为链下actor,主要做:
processor负责证明the validity of pending messages,并将其发送到终端接收者。【为链下服务,负责促使message被处理】
processor为链下actor,主要做:
Optics会在home链上创建an authenticated data structure,并将updates relay到该data structure on any number of replicas。最终,home链和所有的replicas将认可该data structure的状态。通过在该data structure中嵌入data(“message”),可在链之间以高度自信的方式传播。
home链会强化创建该data structure的规则。在当前的设计中,该data structure为基于eth2 deposit contract设计的sparse merkle tee。该merkle tree为对the vector of all previous messages的commit。home链强化an addressing and message scheme for messages and calculates the tree root。该root会传播给replica合约。home链上维护了a queue of roots(one for each message)。
home chain会选出一个“updater”必须对message tree的state作证。该updater会在home链上质押bond,并要求周期性地签署attestations(updates或U)。每个attestation中包含了root from the previous attestation(U_prev),以及a new root(U_new)。
当:
时,home chain会slash。
语义上,updates代表a batch commitment to the messages between the two roots。updates中包含了一个或多个必须传输的replica链的message。updates可以任意频率发生,可一个消息对应一个update。因为updates为chain-independent的,任意home chain的update都可提交到任意replica,任意replica的update也可提交到任意home chain。换句话说,signed updates的data availability由每个链来保证。
在认可某update之前,replica会将其放入a queue of pending updates中。每个update必须等待一定时长,超时后才被认可。replica并不知道某update肯定是有效的,等待模式可保证fraud is publicly visible on the home chain before being accepted by the replica。换句话说,系统的安全保障取决于:
因此,未被参与者列入黑名单的updates足够可靠可被replica认可。
Optics以raw bytes的形式来将消息由源链发送到目标链。想要使用Optics的跨链应用需要根据其应用场景定义发送和接收的消息规则。
每个跨链应用必须实现其自己的messaging protocol。将实现了messaging protocol的协议称为该跨链应用的Router合约。Router合约类似于本地网络路由,可保证incoming和outgoing messages为协议定义的格式,便于handling和dispatch。
Router合约必须实现以下功能:
通过在Router合约中实现以上功能,并将其部署在多条链上,可使用通用语言和规则创建跨链应用。这些跨链应用可使用Optics作为跨链信使来相互收发消息。
Benefits | Challenges |
---|---|
Broadcast channel | 1-of-N fraud-proof trust model |
Cheap | Liveness failure if updater goes down |
One-solution fits all | Updater could voluntarily forfeit bond to try to pass forged messages |
Simple |
Optics的优点在于:
Optics在实际实现时,充分考虑了速度、cost以及安全性。如,Optics依赖fraud publication 而不是 fraud proofs 来改进发送消息的速度和cost。在security model中,任何潜在的欺诈都是不被激励和代价昂贵的。所有的参与者将有大量的事件来了解到任何潜在的欺诈来减轻伤害。
[1] Celo Bridges
[2] Celo Docs——Optics
[3] 2021年9月博客 Optics is Here
[4] 2021年9月博客 Optics: How to Ape ERC-20 Tokens With Etherscan
[5] Optics Architecture