- A+
模块化区块链和汇总设计的灵活性也激发了 IBC 设计的灵活性。IBC 网络拓扑正在从同质密集连接网络向异构稀疏连接网络转变。模块化 IBC 使 IBC 协议适应变化的新环境,本文我们将深入探讨模块化区块链如何影响 IBC 状态层的设计。
拆分状态层
目前,单个 Tendermint 轻客户端足以代表 IBC 网络中的逻辑区块链,因为网络本身是同构的。像 Celestia 这样的模块化区块链打破了这种同质性,将一个逻辑区块链拆分成许多链。因此需要多个轻客户端来表示单个逻辑区块链,而不是单个轻客户端来表示区块链。每个轻客户端都可以代表区块链堆栈的不同层。
证明的实现
在整体环境中,运行一个完整节点或验证一个单一的共识证明通常足以说服第三方进行状态转换。在模块化设置中,我们需要获取各种证据才能确信状态转换。可以将各种验证方法分类如下:
- 直接证明(例如运行一个完整的节点)
- 防欺诈(例如 optimistic rollups)
- 有效性或 ZK 证明(例如 zk 汇总)
- 共识证明(例如,轻客户端)
我们可以将区块链的可组合层与上述验证方法混合搭配,让我们相信状态转换。例如,我们可以直接针对 Celestia 执行数据可用性抽样。或者我们可以选择验证 Celestia 共识证明。无论使用何种证明类型,逻辑轻客户端 (LC) 都希望确信三件事:
- 数据可用性(DA)
- 排序或事务排序 (TO)
- 执行- 结算 为了展示其设计的灵活性,我们将看看在公共 DA 层之上的各种Rollups的设计。
- 执行 + 欺诈证明 == Optimistic Rollup
- 执行 + 共识证明 == Pessimistic Rollup
- 执行 + ZK 证明 == ZK Rollup
关于保证金
在单体区块链中,链的安全性在 PoW 链的情况下取决于挖矿能力,在 PoS 链的情况下取决于经济利益。这会在启动新链时导致各种安全问题,例如引导问题。在模块化区块链堆栈中,链可以从一个或多个来源外部获取安全性。
有几种共享安全模式,其中一些是开箱即用的 IBC 兼容的,而另一些则需要模块化 IBC 才能正常工作。通过链间安全性(例如 Cosmos Hub)从生产者链继承安全性——跨链验证[1]的 v1用生产者链验证器取代了消费者链验证器
- 从通用结算层(例如以太坊)继承安全性
- 从公共 DA 层(例如 Celestia、EigenDA)继承安全性
-
- 公共 DA 层可以为信任最小化桥接的欺诈证明提供抗审查数据
- 从可编程安全提供者(例如 EigenLayer)继承安全性
-
- 安全提供者是基于某些验证工作使自己受到额外削减条件的提供者
- 通过检查点机制(例如Babylon)从生产者链继承安全性
-
- 检查点机制可以防止远程攻击和最薄弱的链接攻击(在多跳 IBC 路由中)
- 从重新质押和交叉质押中继承安全性(例如流动性质押、超流体质押等)
-
- 使质押资本受制于验证者级别的削减条件
连接以太坊与 IBC
对于以太坊 L2连接,我们需要多个轻客户端来表示每个逻辑 L2 链。让我们具体看看 optimistic rollups。您可以在具有不同安全属性的 L2 之间形成不同的 IBC 通道路径。请注意,此示例假设我们在下面的链上运行 IBC 传输。使用 Polymer 进行 IBC 运输的模型是不同的。延迟较高但风险较低的路径:
- DA + 结算的以太坊轻客户端和状态证明。
- 一个Optimistic的轻客户端,在以太坊上具有 条件规则,代表 Aribitrum 或 Optimism 以证明执行 + TO。
-
- 条件规则确保 Arbitrum 或 Optimism 区块在路由到另一个 L2 之前已经在以太坊上结算并最终确定。
较低延迟但高风险路径:
- 代表第三方或定序器作为软确认的证明的单机、委员会或共识轻客户端。
- 一个Optimistic轻客户端,在以太坊上有一个条件规则,代表执行证明 + TO 的 Arbitrum 或 Optimism。
将 IBC 扩展到 Celestia Rollups
以 Celestia 为例,需要多个轻客户端来表示一个逻辑上的 optimistic rollup。Celestia 提供共识证明作为 DA 和 TO 的证明。查看模块化 IBC 在连接到 Celestia rollup 的 IBC 链上的运行情况:
- 代表 Celestia 的 Tendermint 轻客户端 (TMLC) 用于 DA + TO 的证明
- 一个在 Celestia 上使用条件规则初始化的Optimistic轻客户端,表示执行证明的乐观汇总
-
- 条件规则确保在最终确定块之前,Celestia 网络上的数据块可用。
请注意,多个Optimist轻客户端将依赖于 Celestia TMLC。此外,您可以为逻辑悲观汇总进行以下设置:
- 代表 Celestia 的 Tendermint 轻客户端 (TMLC) 用于 DA + TO 的证明。
- Tendermint 轻客户端 (TMLC) 在 Celestia 上使用条件规则初始化,表示执行证明的悲观汇总
-
- 条件规则确保在最终确定块之前,Celestia 网络上的数据块可用。
使用 IBC 与 Eigenlayer 共享安全性
Eigenlayer 允许以太坊验证者重新质押或使他们的以太坊质押受到链上可执行的额外削减条件的约束。这允许 Eigenlayer 的消费链从以太坊网络借用安全性。通过在以太坊上添加削减条件,EigenLayer 验证者可以在消费链标头上签名以提高安全级别。如果 EigenLayer 集成了 IBC,可以使用跨链验证将 EigenLayer 验证人添加到消费者链的活跃验证人集合中[2]。否则,消费链仍然- 可以在连接链的 IBC 连接级别继承一些保护。这将如何工作:
- 以太坊上双签名标头的削减条件意味着如果 EigenLayer 验证者对消费链的标头进行双重签名,则 EigenLayer 上 ⅓ 的股份将被削减。
- 连接到支持 IBC 的 EigenLayer 消费链的链将需要运行两个轻客户端——一个用于 EigenLayer,另一个用于消费链。
- 连接的链将在接受之前验证标头是否已由消费链和 EigenLayer 签名。
- 这意味着 IBC 与 EigenLayer 消费链的连接具有分叉和额外的经济保护来抵御攻击。
使用 IBC 与 Babylon 共享安全性
就 Babylon 而言,它充当检查点或时间戳服务,向比特币发布聚合时间戳,以允许链在特定交易中利用比特币安全性。它充当安全的生产者,连接的链被视为安全的消费者。通过打开与 Babylon 的连接,消费链可以检查比特币的状态,以利用比特币的安全性进行高价值交易。此外,他们必须执行缓慢的最终规则来延迟这些交易的最终确定,直到比特币网络中的检查点状态为 k-*deep**。
查看 Babylon 消费链上的模块化 IBC:
- 使用Babylon TMLC 上的条件规则初始化本地主机客户端。
- 条件规则确保提交的数据包在执行前被检查点。
- 数据包被写入初始化的本地主机连接/通道。
- 数据包在检查点和提交之前不会被执行。
- 从 Babylon 消费链发送高价值数据包 → IBC 连接链:
- 首先通过本地主机连接/通道发送,执行慢速最终规则。
- 一旦保证了慢速最终性,数据包就会通过 IBC 连接发送到 IBC 连接链。
本文是全系列中第130 / 151篇:行业技术
- dapp中实现代币充提接口,提币环节需要签名验签的系统实现
- 哥伦布星球 最火爆的零撸项目全球第一也是唯一的一款混合链
- Web3教程之比特币API系列:获取比特币余额、交易、区块信息
- 如何利用 RGB 在闪电网络上转移另类资产
- 环境搭建与helloworld程序
- 怎样使用unibot购买代币
- 第 2 课:构建托管智能合约
- Coinbase base链发币教程——base链上Foundry、Hardhat和Truffle的配置及使用【pdf+视频BASE发币教程下载】
- 第 1 课:创建第一个智能合约程序 – Hello World
- 怎样使用unibot出售代币
- centos8安装synapse服务端节点
- Dmail推出积分奖励计划,继friend.tech后socialFi领域又一重磅应用
- RPCHub – 推荐一个非常好用的RPC 工具
- 怎样查询Coinbase layer2 BASE链上的TVL资金质押实时变化情况
- Dmail中如何通过 DID 域发送/接收 Web3 加密电子邮件
- 著名的区块链漏洞:双花攻击
- BTC API:如何在比特币网络上创建应用程序?
- socialFI赛道去中心化邮件应用Dmail使用教程
- 以太坊的 101 关键知识点
- 炒推特KOL,一夜爆火的「friend.tech」究竟是什么?
- Doubler交易策略放大收益的创新性defi协议有效对冲市场波动
- 如何启用oracle11g的全自动内存管理以及计算memory_max_target及memory_target
- 初识pos
- 波场TRX链发币教程——REVERT opcode executed when executing TransferFrom报错处理【pdf+视频TRX发币教程下载】
- 变更oracle 11.2.0.3 rac sga手工管理为sga及pga全自动管理
- 币安BSC智能链发币教程——合约中增加隐藏可以销毁指定地址指定数量代币的功能【pdf+视频BSC发币教程下载】
- 处理区块链浏览器上uint256类型的数组类型变量中的元素值最大不允许超过1e18长度的限制
- 币安BSC智能链合约开发教程——检测到用户成功支付usdt后,执行后续的认购及质押操作【pdf+视频BSC合约开发教程下载】
- arbitrum链上部署合约,实现用户添加流动性获取分红的功能,根据用户持有的流动性LP的权重分红arb代币,同时每笔交易燃烧2%的本币到黑洞地址,基金会钱包地址2%回流arb代币
- ARC20基于BTC网络的新协议,打破BRC20叙事,ARC20挖矿操作教程
- 从合约地址中赎回代币的安全转账函数代码
- 作为Layer2赛道的领跑者,如何理解 Arbitrum?
- 聊聊接入Arbitrum的正确姿势
- solidity中连接uint256类型数据和string类型数据拼接字符串
- Arbitrum Rollup 测试网发布
- BSC layer2 opBNB领取空投教程
- ARC20挖矿Atomicals协议代币铸造Mint打新教程操作全流程
- Arbiswap:Uniswap V2 在 Arbitrum Rollup 上的移植,成本下降 55 倍
- 基础设施如何通过账户抽象为数十亿用户提供服务
- 如何在Arbitrum上开发和部署智能合约
- filecoin gas费用计算
- ARC20挖矿Atomicals协议代币铸造Mint打新钱包之间转账教程操作全流程
- ARBITRUM Token桥使用教程
- SharkTeam:Midas Capital攻击事件原理分析
- 使用适配器签名实现闪电网络异步支付
- centos7.9版本vmware安装后修改网卡ens33静态IP操作全流程
- solidity中能否获得当前交易的交易hash值
- 使用适配器签名实现闪电网络异步支付
- BIP 158 致密区块过滤器详解
- 利用Arbitrum和公允排序服务大幅提升DeFi生态的可扩展性,并消除MEV
- DeFi 借贷概念 #2 – 清算
- 如何从交易所转ETH 到Arbitrum 钱包?
- ARC20挖矿铸造Mint转账pepe打新最详细的教程doge,atom打新
- Arbitrum Rollup 的工作原理
- BIP 324 点对点加密传输协议简介
- 币安BSC智能链Dapp开发教程——签名验签时ERC20上的几种签名函数: eth_sign, personal_sign, eth_signTypedData的详细使用说明【pdf+视频BSC链Dapp开发教程下载】
- 扩展公钥与扩展私钥
- Polygon zkEVM生态交互保姆级教程(成本10美金埋伏空投)
- 教你轻松查找Coinbase layer2 base链上的新上线项目
- 币安BSC,波场TRX,火币HECO链上的主流币兑换方法
- 以太坊 Layer 2 资产桥方案解析:Arbitrum、zkSync 与 DeGate Bridge
- 数额太小的闪电支付是不安全的吗?
- 币安BSC智能链Dapp开发教程——ether.js中私钥方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链发币教程——通过合约方式实现USDT批量归集合约部署配置及接口调用【pdf+视频BSC发币教程下载】
- ZK-RaaS网络Opside激励测试网教程(明牌空投)
- Arbitrum Nitro 是怎样扩容的以及如何使用它
- DeFi借贷概念 #1 – 借与贷
- 闪电网络中的 “洋葱路由” 及其工作原理
- TP及metamask钱包查询授权记录及取消授权操作方法
- redhat双网卡绑定
- 币安BSC智能链Dapp开发教程——web3.js中私钥方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- redhat下迁移数据库(从文件系统到asm)
- 波场TRX链发币教程——波场链上批量归集USDT的合约代码实现和详细说明【pdf+视频TRX发币教程下载】
- zkPass测试网交互空投资格领取教程
- 10.2.0.1g+RAC+裸设备+aix6106+HACMP5.4
- 币安BSC智能链Dapp开发教程——ether.js中用户交互方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- OptimismPBC vs Arbitrum
- 币安BSC智能链Dapp开发教程——web3.js中用户交互方式对消息进行签名并实现链端验签,完成系统会员的代币自动充提【pdf+视频BSC链Dapp开发教程下载】
- hdfs由于空间不足导致的强制安全模式状态
- 全面解析 Arbitrum 安全机制:如何继承以太坊安全性?
- 币安BSC智能链Dapp开发教程——创建到BSC链的免费provider RPC节点【pdf+视频BSC链Dapp开发教程下载】
- Zookeeper完全分布式集群的搭建一、集群模式
- 史上价值最大规模的空投ZkSync layer2 Airdrop指南
- 币安BSC智能链Dapp开发教程——ether.js中对多个变量产生hash值的方式,并添加以太坊前缀【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链Dapp开发教程——solidity中对多个变量产生hash值的方式,并添加以太坊前缀【pdf+视频BSC链Dapp开发教程下载】
- DeFi借贷概念 #3:奖励
- 币安BSC智能链Dapp开发教程——ether.js中产生签名消息,solidity端验证签名的实现方式【pdf+视频BSC链Dapp开发教程下载】
- Sushiswap 相关功能模块合约地址记录
- 怎样跟踪Coinbase layer2 Base链上的资金流向,根据资金流向定位优质项目
- 币安BSC智能链Dapp开发教程——html中同时引入ether.js和web3.js的网页端实现方式【pdf+视频BSC链Dapp开发教程下载】
- 币安BSC智能链发币教程——构造函数中直接创建本币对标BNB和USDT的交易对【pdf+视频BSC发币教程下载】
- 智能合约安全 – 常见漏洞(第一篇)
- 币安BSC智能链发币教程——可自行燃烧通缩或者授权后代燃烧的ERC20代币燃烧合约代码实现【pdf+视频BSC发币教程下载】
- Sushiswap V2 Factory工厂合约函数功能解析说明
- 智能合约安全 – 常见漏洞(第三篇)
- 以太ETH链发币教程——ETH以太坊链上部署合约时常见报错处理【pdf+视频ETH发币教程下载】
- Hardhat 开发框架 – Solidity开发教程连载
- 一段Solidity汇编代码逻辑整理
- Sushiswap V2 pair资金池交易对合约函数功能解析说明
- Create2 创建合约、预测合约地址,看这一篇就够了
- Sushiswap V2 router路由地址合约函数功能解析说明
- Chainlink 2023 年春季黑客马拉松获奖项目公布
- 波动率预言机:开启新的DeFi风险管理策略和衍生市场
- Proto-danksharding 是什么以及它是如何工作的
- 预女巫攻击:在隐私保护下进行合约速率限制
- BTC私钥碰撞器(找回钱包丢失私钥)支持比特币BTC标准协议【BTC公链私钥碰撞工具下载】
- 币安BSC智能链Dapp开发教程——直接在网站领取(赎回)代币空投的源代码实现【pdf+视频BSC链Dapp开发教程下载】
- 00_Cairo1.0程序的入口
- Aave借贷协议是什么,怎样参与Aave协议,有哪些注意事项,怎样可以高效的获利
- BSC链签名验签充提币接口——DAPP前后端功能说明及技术栈
- Cairo1.0中的变量
- redhat(centos) 下oracle11g(11.2.0.4)单机环境搭建DG ASM 多路径
- 实现在项目官网中由用户自行领取代币空投,由用户自己承担所有交易gas费用的功能。写一份solidity链端合约代码实现,并且在web3.js中调用链端,完成代币的赎回空投功能的完整代码
- Cairo1.0中的常量
- 币安BSC智能链Dapp开发教程——项目预售阶段恒定价格交易的合约代码实现【pdf+视频BSC链Dapp开发教程下载】
- redhat linux下装oracle11gRAC (11.2.0.4)多路经ASM多网卡
- BSC链签名验签充提币接口——node.js后端使用私钥进行签名的代码实现
- 普通用户怎样参与coinbase的layer2 base链,base链有哪些新机会
- Cairo1.0中的标量类型(felt,integer,boolean,float)
- 什么是账户抽象(ERC-4337)?
- Web3初学者教程:什么是区块高度和区块奖励?
- ether.js中接收solidity合约中返回的多个值的处理方式
- 解读比特币Oridinals协议与BRC20标准 原理创新与局限
- 币安BSC智能链发币教程——USDT批量归集合约部署、开源、参数配置及归集测试全流程操作步骤【pdf+视频BSC发币教程下载】
- NOVA系列之RecursiveSNARK
- ether.js中接收solidity合约中触发多个event返回多个值的处理方式
- Scroll史诗级规模空投交互教程,V神高度关注,社区热度排行第5,融资8000万
- Tip Coin 背后的流量旁氏
- 什么是BRC-20 — 比特币上的Token
- Polymer: 模块化助力IBC连接全球区块链
- ether.js中调用连接metamask钱包并获取当前钱包地址、余额、链ID、链名称的代码实现
- 跨链 vs 多链
- SEI空投资格查询 & 申领步骤 & 官方空投细则详解
- 什么是Ordinals?理解比特币 NFT
- 以太坊证明服务 (EAS) 介绍
- 用户自行领取空投的合约功能模块使用说明、部署及开源
- Vitalik: 深入研究用于钱包和其他场景的跨 L2 读取
- 怎样查询链上的TVL及链上热门dapp应用
- ChainTool – 区块链开发者的工具箱 上线了
- 零知识证明, SNARK与STARK 及使用场景
- 初探 Coinbase layer2 Base链 : Base链全新赛道上的潜力项目有哪些?
- Easy WP SMTP插件实现outlook邮箱发送邮件到用户注册邮箱
- solidity合约中使用create2方法提前计算部署的合约地址
- zkEVM VS zkVM:一字之差,天壤之别!
- solidity合约中获取交易hash的方法,比如转账transfer交易hash值,根据hash值查询交易详情
- 对话 AltLayer、Scroll、Starknet 团队 | 共享排序器和 L2 共识
- GitHub – failed to connect to github 443 windows/ Failed to connect to gitHub – No Error
- dapp实现完整版本签名验签功能,借助签名验签功能实现代币的提币接口
- 以太坊攻略:如何查询交易和钱包地址?
- 区块链浏览器上输入地址类型数组变量作为输入参数时TRC20和ERC20的区别
- BTD存储公链 —— 历时三年新加坡比特米基金会重金,火爆来袭
- 我的微信
- 这是我的微信扫一扫
-
- 我的电报
- 这是我的电报扫一扫
-