| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> Optics Bridge:Celo <-> 以太坊 -> 正文阅读 |
|
[区块链]Optics Bridge:Celo <-> 以太坊 |
1. 引言目前,Celo生态已上线的跨链方案主要有3种:
Chorus One:bridge between Cosmos and Celo 目前未上线? Optics Bridge目前有2套UI界面供用户操作: 也可通过Optics Bridge部署在Etherscan上的合约地址来进行操作: Optics Bridge开源代码见:
Optics中:
未来将针对NEAR和Solana实现Rust版本的链上合约。 1.1 Optics VS IBCOptics为跨链通讯系统,其可将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分钟。】 换句话说,Optics优先考虑:
2. 何为Optics?Optics全称为:OPTimistic Interchain Communication。 Optics定位为更便宜的跨链通讯,无需header verification。相比于传统的header relay方案,Optics可节约月90%的gas开销。 Optics受Optimistic Roll-ups启发,具有Optimistic机制中的很多优质特征,如:
Optics将作为跨链通讯网络的基础layer,为所有支持智能合约的链和rollups提供快速、便宜的通讯。 Optics依赖于widely-available cryptographic primitives(不同于header relays),具有几个小时的延迟(而Optimistic Roll-up需要一周的延迟),对于message senders来说,仅需要120,000 gas开销。 Optics设计为适于任何支持用户自定义计算的链。 3. Optics的设计思想Optics类似于公证服务。 4. Optics是如何工作的?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掉以作为惩罚。 不幸的是,某些类型的欺诈无法在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费。 5. Optics架构
5.1 Optics链上合约5.1.1 Home合约Home合约负责生成message tree 以及 维护updater质押的bond。 Home合约中实现了如下功能:
5.1.2 Replica合约Replica合约负责管理optimistic replication,并将消息派发到终端recipients。 Replica合约中实现了如下功能:
5.2 Optics链下要素5.2.1 Optics链下要素——Updaterupdater负责对new root attestation进行签名。 updater为链下actor,主要做:
5.2.2 Optics链下要素——Watcherwatcher(通过监听Home合约)来观察Updater与Home合约之间的交互,并对malicious或faulty attestations做出反应。 watcher为链下actor,主要做:
5.2.3 Optics链下要素——Relayerrelayer直接将updates由home发送到一个或多个replicas。 relayer为链下actor,主要做:
5.2.4 Optics链下要素——Processorprocessor负责证明the validity of pending messages,并将其发送到终端接收者。 processor为链下actor,主要做:
6. Optics如何在不同链之间传递消息?
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认可。 7. Optical channels for Cross-Chain CommunicationOptics以raw bytes的形式来将消息由源链发送到目标链。想要使用Optics的跨链应用需要根据其应用场景定义发送和接收的消息规则。 每个跨链应用必须实现其自己的messaging protocol。将实现了messaging protocol的协议称为该跨链应用的Router合约。Router合约类似于本地网络路由,可保证incoming和outgoing messages为协议定义的格式,便于handling和dispatch。 Router合约必须实现以下功能:
通过在Router合约中实现以上功能,并将其部署在多条链上,可使用通用语言和规则创建跨链应用。这些跨链应用可使用Optics作为跨链信使来相互收发消息。 8. Optics架构的优缺点
Optics的优点在于:
Optics在实际实现时,充分考虑了速度、cost以及安全性。如,Optics依赖fraud publication 而不是 fraud proofs 来改进发送消息的速度和cost。在security model中,任何潜在的欺诈都是不被激励和代价昂贵的。所有的参与者将有大量的事件来了解到任何潜在的欺诈来减轻伤害。 9. Optics代码解析Optics会在链之间建立communication channels,但是这些channels由xApp(又名“cross-chain applications”) developers来使用。 集成过程中,需要以下关键要素: 参考资料[1] Celo Bridges |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 23:01:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |