Optics Bridge:Celo <-> 以太坊

1. 引言

目前,Celo生态已上线的跨链方案主要有3种:

  • 1)Optics Bridge:当前支持 cleo、以太坊、Polygon三者之间跨链。即将支持Avalanche。
  • 2)AllBridge:支持与Solana等多种生态跨链,为信任模式跨链方案。
  • 3)Moss:支持Celo与以太坊跨链。方案同 RSK<->以太坊 trusted bridge。

Chorus One:bridge between Cosmos and Celo 目前未上线?

Optics Bridge的目标是:

  • 成为一个链不可知的互操作性标准。

Optics最大的好处是,任何立案都可以自动连接到网络中的每条链,而无需为每个通道进行任何自定义设置。

Optics Bridge目前有2套UI界面供用户操作:

  • cLabs Optics Bridge
  • Ubeswap Optics Web UI

也可通过Optics Bridge部署在Etherscan上的合约地址来进行操作:

  • Bridge Native Tokens via Etherscan
  • Bridge ERC-20 Tokens via Etherscan

Optics Bridge开源代码见:

  • https://github.com/celo-org/optics-monorepo(Rust & Solidity等)

Optics中:

  • 以Solidity语言实现了链上合约
  • 以Rust语言实现了链下系统agents

未来将针对NEAR和Solana实现Rust版本的链上合约。

1.1 Optics VS IBC

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优先考虑:

  • 1)Cost:没有header verification 或 state management。
  • 2)Speed of implementation:仅需要简单的智能合约,无需复杂的密码学。
  • 3)Ease of use:简单的接口来维护xApp connections。

2. 何为Optics?

Optics全称为:OPTimistic Interchain Communication。

Optics不是custodial bridge,不是validator-based bridge,也不需要header relay。

Optics定位为更便宜的跨链通讯,无需header verification。相比于传统的header relay方案,Optics可节约约90%的gas开销。

Optics具有一些关键的优质特性:

  • 以 1-to-N 模式连接各链,使得Optics Bridge更像是airport hub。
  • 可部署在任何支持智能合约的链上,并同时支持多条链(Optics Bridge一上线就部署在了以太坊、Celo和Polygon,具体见对应各主网的核心合约)。
  • 为gas-efficient的,相比于向以太坊进行header relay的方案便宜至少10倍。
  • 在base layer不需要添加任何新的primitives或elliptic curves。

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机制中的很多优质特征,如:

  • public verification
  • low gas fees
  • broad participation
  • 不同的security model。

Optics将作为跨链通讯网络的基础layer,为所有支持智能合约的链和rollups提供快速、便宜的通讯。

Optics依赖于widely-available cryptographic primitives(不同于header relays),具有几个小时的延迟(而Optimistic Roll-up需要一周的延迟),对于message senders来说,仅需要120,000 gas开销。

Optics设计为适于任何支持用户自定义计算的链。

3. Optics的设计思想

Optics类似于公证服务。
Optics Bridge:Celo <-> 以太坊_第1张图片
发送链(类似于上图中的“Home”)产生了一系列的message(类似于上图中的“docment”),这些消息需要公证。公证处(类似上图中的“updater”)会对这些消息进行签署。公证处可出示欺诈性副本,但他们将受到惩罚,被公开吊销其保证金和license。当这种情况发生时,每个人需依赖the notary learns that the notary is malicious。所有的natory’s customers可立即阻止该notary并防止任何malicious access to their accounts。

4. Optics是如何工作的?

Optics是按照Optimistic系统设计的。Optics看到an attestation of some data,当过了一定时间后,将其作为有效数据接收。在一定时间期间,honest参与者有机会对该attestation进行响应并(或)提交欺诈证明。

不同于大多数Optimistic系统,Optics跨越多条链:

  • sending 链:为the source of truth,上面有“Home”合约,enqueued了大量消息。这些消息commit到了a merkle tree(名为“message tree”)。该message tree的root将由updater进行公证,公证后将relay “update”到receiving链。Updates由updater签署,updater会commit to the previous root and a new root。

任何链都可维护一个“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可确保以下要素:

  • Fraud is costly。
  • All users can learn about fraud。
  • All users can block a fraudulent message before they are accepted。

换句话说,不依赖于全局的verifiable fraud-proof,Optics依赖local verification by participants。因此,相比于悲观地relay每个header,Optics可在保持较高安全性的情况下,节约约90%的gas费。

5. Optics架构

Optics Bridge:Celo <-> 以太坊_第2张图片
Optics中包含了多个链上和链下要素。为了便于表达,可将Home和Replica看成是合约,事实上,它们是由多个合约组成的。

  • 链上(合约):Home合约和Replica合约
  • 链下:Updater、Watcher、Relayer、Processor

5.1 Optics链上合约

5.1.1 Home合约

Home合约负责生成message tree 以及 维护updater质押的bond。【为链上合约,负责生成message tree】

Home合约中实现了如下功能:

  • 1)为home链上的其他合约提供了“send message” API
  • 2)强化了消息格式
  • 3)将消息commit到message tree
  • 4)维护a queue of tree roots
  • 5)Hold the updater bond
  • 6)Slash掉updater的bond:double-update proofs 或 improper update proofs。【当前未实现】
  • 7)Future:manage updater rotation/bond
  • 8)Future:recover from FAILED state

Home 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。

5.1.2 Replica合约

Replica合约负责管理optimistic replication,并将消息派发到终端recipients。【为链上合约,负责复制其他链上的message root】

Replica合约中实现了如下功能:

  • 1)维护a queue of pending updates
  • 2)当超时时,固化updtes
  • 3)接收double-update proofs
  • 4)验证message inclusion proofs
  • 5)强化消息格式
  • 6)确保消息按顺序处理
  • 7)将消息派发到目的地
  • 8)暴露a “disconnect” feature
  • 9)Future:recover from FAILED state

5.2 Optics链下要素Agents

5.2.1 Optics链下要素——Updater

updater负责对new root attestation进行签名。【为链下服务,向home chain提交updates】

updater为链下actor,主要做:

  • 1)监听home chain合约。
  • 2)对new root attestation签名。
  • 3)将签名后的attestation发送到home chain。
  • 4)Future:manage Updater bond。

5.2.2 Optics链下要素——Watcher

watcher(通过监听Home合约)来观察Updater与Home合约之间的交互,并对malicious或faulty attestations做出反应。
watcher可同时观察任意数量的replicas,以确保Updater不会跳过Home直接到某replica。【为链下服务,负责监听replica,并向home chain提交fraud proof】

watcher为链下actor,主要做:

  • 1)监听home合约。
  • 2)监听1个或多个Replica合约。
  • 3)将所看到的updates维护在数据库中。
  • 4)提交double-update proofs。
  • 5)提交invalid update proofs。
  • 6)可配置,提交an emergency halt transaction。

5.2.3 Optics链下要素——Relayer

relayer直接将updates由home发送到一个或多个replicas。【为链下服务,负责向replica提交updates】

relayer为链下actor,主要做:

  • 1)监听home合约。
  • 2)监听1个或多个replicas。
  • 3)在home合约中轮询new signed updates(since replica’s current root),并将其提交给replica。
  • 4)在replica合约中轮询confirmed updates(that have passed their optimistic time window)and confirms if available(更新replica的current root)。

5.2.4 Optics链下要素——Processor

processor负责证明the validity of pending messages,并将其发送到终端接收者。【为链下服务,负责促使message被处理】

processor为链下actor,主要做:

  • 1)监听home合约
  • 2)本地维护merkle tree with all leaves
  • 3)监听1个或多个replica
  • 4)维护对应每个leaf的message list
  • 5)为pending(unproven)messages生成并提交merkle proofs
  • 6)派发proven messages到终端接收者。

6. Optics如何在不同链之间传递消息?

在这里插入图片描述
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)。

当:

  • 看到2个有冲突的updates(U_i and U_i’ where U_i_prev == U_i’_prev && U_i_new != U_i’_new)
  • 或 a single update中,U_new不是an element of the queue【new root必须为a member of the queue,如,a list of updates U_1…U_i应遵循[(A,B), (B,C), (C,D)…]格式。】

时,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。换句话说,系统的安全保障取决于:

  • all frauds may be published by any participant
  • all published frauds may be slashed
  • all participants have a window to react to any fraud

因此,未被参与者列入黑名单的updates足够可靠可被replica认可。

7. Optical channels for Cross-Chain Communication

Optics以raw bytes的形式来将消息由源链发送到目标链。想要使用Optics的跨链应用需要根据其应用场景定义发送和接收的消息规则。

每个跨链应用必须实现其自己的messaging protocol。将实现了messaging protocol的协议称为该跨链应用的Router合约。Router合约类似于本地网络路由,可保证incoming和outgoing messages为协议定义的格式,便于handling和dispatch。

Router合约必须实现以下功能:

  • 1)维护a permissioned set of the contract(s) on remote chains from which it will accept messages via Optics。可为a single owner of the application on one chain;也可为a registry of other applications implementing the same rules on various chains。
  • 2)encode messages in a standardized format,使得可由目标链上的Router合约正确解码。
  • 3)处理来自于remote Router合约的消息
  • 4)派发消息到remote Router合约。

通过在Router合约中实现以上功能,并将其部署在多条链上,可使用通用语言和规则创建跨链应用。这些跨链应用可使用Optics作为跨链信使来相互收发消息。

8. 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的优点在于:

  • 其broadcast channel支持a single-producer, multi-consumer模式。这可保证1个accumulator可与任意多条receiving链进行通讯。
  • 比其他方案更便宜,支持updates和proofs的开销小于100k gas,仅需检查1个签名。
  • one-solution fits all:对于receiving chain的限制最小(1个hash函数+1次验签)。对PoS链和PoW链均无实现或安全上的差异。

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

你可能感兴趣的:(区块链,跨链)