Cosmos生态概览
在正文开始之前, 先将多链、跨链、以及跨链桥说明一下。多链、跨链、跨链桥1、第一个是叫MultipleChain, 指的是相互独立的公链, 比如Solana, Near, Ethereum, Cosmos各个链统称为多链 2、第二个是MutipleChain + Bridge(跨链桥) = Cross-Chain(跨链)。 即借助第三方桥梁将各个分散的公链链接起来, 实现跨链效果。 V神对跨链桥提出了担忧, 认为A链的安全出问题, 会影响到B链mint的资产。当桥上资产足够多的时候, 攻击者就越有动机来攻击。 因此, 跨链活动具有“反网络效应”, 即资产不多的时候, 很安全; 资产越多,越不安全。 --- Vitalik3、第三个是InterChain, 是基于协议的同构链, 比如基于IBC协议的各个zone的组合叫多链或者跨链。 这个InterChain本意是链之间的意思, 我个人理解也有”内部“的意思, 即体现了同构, 实际就是基于标准IBC协议。 自然, 本文的上下文是指InterChain 下面, 让我们进入正文吧。Cosmos的灵魂: 去中心化和互操作区块链的互联网 C...
Cosmos Hub首个消费链Neutron启动, 有望成为Cosmos生态最大智能合约平台
Cosmos生态第一个消费链5月10日启动, 这是Cosmos HUB复制安全上线之后的首个消费链项目. 复制安全是Cosmos Hub计划中的共享安全的第一个版本, 通过直接租用ATOM的经济安全,获得足够安全的同时将部分token分配给atom holder,实现双赢. 希望对ATOM实现价值捕获的用户一直期待这样的局面形成, 给ATOM HOLDER找到更多的激励与叙事. Cosmos生态的开发者如果需要足够的定制能力与经济模型控制,可以用独立安全, 类似dYdX, 但是其他场景的开发者可能仅仅关注快速启动业务, 不想操心底层验证人, 这时可以参考Neutron选择共享安全. Neutron目前的特色亮点是其相比Juno和Terra有更充足的中立性与可信度: 基于ATOM共享安全, 首个消费链的MEME地位. Neutron自身定位是智能合约平台, 自己并不做linquid staking, Lido计划中会基于Neutron做liquid staking业务. 原先期待在Cosmos Hub上部署智能合约没有成功, 现在大家有了新的选择, Cosmos生态具有足够网络安全...
Cosmos Ecosystem
Cosmos生态概览
在正文开始之前, 先将多链、跨链、以及跨链桥说明一下。多链、跨链、跨链桥1、第一个是叫MultipleChain, 指的是相互独立的公链, 比如Solana, Near, Ethereum, Cosmos各个链统称为多链 2、第二个是MutipleChain + Bridge(跨链桥) = Cross-Chain(跨链)。 即借助第三方桥梁将各个分散的公链链接起来, 实现跨链效果。 V神对跨链桥提出了担忧, 认为A链的安全出问题, 会影响到B链mint的资产。当桥上资产足够多的时候, 攻击者就越有动机来攻击。 因此, 跨链活动具有“反网络效应”, 即资产不多的时候, 很安全; 资产越多,越不安全。 --- Vitalik3、第三个是InterChain, 是基于协议的同构链, 比如基于IBC协议的各个zone的组合叫多链或者跨链。 这个InterChain本意是链之间的意思, 我个人理解也有”内部“的意思, 即体现了同构, 实际就是基于标准IBC协议。 自然, 本文的上下文是指InterChain 下面, 让我们进入正文吧。Cosmos的灵魂: 去中心化和互操作区块链的互联网 C...
Cosmos Hub首个消费链Neutron启动, 有望成为Cosmos生态最大智能合约平台
Cosmos生态第一个消费链5月10日启动, 这是Cosmos HUB复制安全上线之后的首个消费链项目. 复制安全是Cosmos Hub计划中的共享安全的第一个版本, 通过直接租用ATOM的经济安全,获得足够安全的同时将部分token分配给atom holder,实现双赢. 希望对ATOM实现价值捕获的用户一直期待这样的局面形成, 给ATOM HOLDER找到更多的激励与叙事. Cosmos生态的开发者如果需要足够的定制能力与经济模型控制,可以用独立安全, 类似dYdX, 但是其他场景的开发者可能仅仅关注快速启动业务, 不想操心底层验证人, 这时可以参考Neutron选择共享安全. Neutron目前的特色亮点是其相比Juno和Terra有更充足的中立性与可信度: 基于ATOM共享安全, 首个消费链的MEME地位. Neutron自身定位是智能合约平台, 自己并不做linquid staking, Lido计划中会基于Neutron做liquid staking业务. 原先期待在Cosmos Hub上部署智能合约没有成功, 现在大家有了新的选择, Cosmos生态具有足够网络安全...
Share Dialog
Share Dialog
Cosmos Ecosystem

Subscribe to IBC League

Subscribe to IBC League
本文编译自 ethresear.ch
感谢社区小伙伴Samwang提供信息源
观点摘录: 这个方案看起来比价靠谱, 如果实现了可能就没有其他跨链桥什么事了.
IBC 遵循轻客户端原则,需要将源区块链和目标区块链的轻客户端实现为智能合约,以验证跨链交易。
这意味着,为了将 IBC 连接到 Eth,我们需要在以太坊上以智能合约方式运行Tendermint轻客户端(run the Tendermint light client on Ethereum as a solidity smart contract)。
但是这个过程gas消耗昂贵,因为这需要在Solidity中验证数百个ed25519签名,而 ed25519 预编译在以太坊上不可用。一个 ed25519 需要 500K gas。
这意味着验证完整的轻客户端header将需要至少 5000 万gas费(100 个验证者),对于拥有 1000 个验证者的更大的 cosmos 链,则高达 5 亿gas。
因此,为了在以太坊上更便宜地验证签名, 我们需要新的方法。
我们通过从zk-rollups获得灵感来实现这一目标。我们没有直接在以太坊上验证ed25519的签名,(并在solidity智能合约内执行曲线操作),而是构建了一个签名有效性的zk证明,并在链上验证该证明。
在 Electron Labs,我们构建了一个基于 circom 的库,允许你为一批 Ed25519 签名生成 zk-snark 证明。在这里查看完整的实现。
如何参与体验?
我们已经部署了一个服务器,其端点允许你提交一批签名并获得 zk-proof 作为回报。你现在可以使用我们的文档中给出的 API 参考进行测试 - docs.electronlabs.org/reference/generate-proof9
本文编译自 ethresear.ch
感谢社区小伙伴Samwang提供信息源
观点摘录: 这个方案看起来比价靠谱, 如果实现了可能就没有其他跨链桥什么事了.
IBC 遵循轻客户端原则,需要将源区块链和目标区块链的轻客户端实现为智能合约,以验证跨链交易。
这意味着,为了将 IBC 连接到 Eth,我们需要在以太坊上以智能合约方式运行Tendermint轻客户端(run the Tendermint light client on Ethereum as a solidity smart contract)。
但是这个过程gas消耗昂贵,因为这需要在Solidity中验证数百个ed25519签名,而 ed25519 预编译在以太坊上不可用。一个 ed25519 需要 500K gas。
这意味着验证完整的轻客户端header将需要至少 5000 万gas费(100 个验证者),对于拥有 1000 个验证者的更大的 cosmos 链,则高达 5 亿gas。
因此,为了在以太坊上更便宜地验证签名, 我们需要新的方法。
我们通过从zk-rollups获得灵感来实现这一目标。我们没有直接在以太坊上验证ed25519的签名,(并在solidity智能合约内执行曲线操作),而是构建了一个签名有效性的zk证明,并在链上验证该证明。
在 Electron Labs,我们构建了一个基于 circom 的库,允许你为一批 Ed25519 签名生成 zk-snark 证明。在这里查看完整的实现。
如何参与体验?
我们已经部署了一个服务器,其端点允许你提交一批签名并获得 zk-proof 作为回报。你现在可以使用我们的文档中给出的 API 参考进行测试 - docs.electronlabs.org/reference/generate-proof9
为 ed25519 创建 ZK证明 是一个难题。
这是因为 ed25519 的twisted Edwards curve 使用的finite field 比altbn128 曲线(由 zk-snarks 使用)使用的finite field大。在较小的field内执行大型finite field运算很困难,因为模数和乘法等一些基本运算可能变得非常低效。
为了解决这个问题,我们能够找到2^85作为基数,来定义我们的twisted Edwards curve的曲线运算。由于ed25519素数p=2^255-19是2^85的近似倍数,我们能够为基数2^85的数字想出有效的基本运算,如乘法和模法(在25519素数下)。
接下来,我们使用这些自定义操作在 ZK 电路中定义曲线操作,例如点加法、标量乘法和签名验证。
在这个文档中很难公正地解释这背后的数学细节,请参阅我们的详细文档解释.
由于上述优化,我们能够为单个签名实现的性能数据如下:

要了解系统级别的性能,我们需要查看 3 个参数 -
每个签名的证明生成时间 ~ 9.6 秒(平均)
每批/证明的签名数 = ≤ 100(最大值)
为批次生成 zk-proof 的时间 = 16 分钟(基于100 个签名批次)
证明生成时间(几乎)与每批签名的数量呈线性关系。我们可以增加/减少每批签名的数量,并且证明生成时间会相应改变。

证明制作时间将以延迟的形式显现。为了减少这种情况,我们可以在一个zk证明中放入较少数量的签名。但是,这意味着同样的批次大小(或每个轻客户端header)将需要更多的证明,这将增加验证该批次的gas成本。
因此,减少延迟会增加 gas 成本。
下面我们列出了根据延迟和参与该 cosmos 链的验证者数量来验证以太坊上的Tendermint轻客户端 (LC) header的预期成本。
我们可以让用户/cosmos 链决定他们想要使用的延迟和 gas 费用的选项。

这里我们选择200个验证人和50个签名作为证明的基础分析。
由于Tendermint出块速度是~7秒,而证明的生成时间是8分钟,我们将需要多个验证人并行来跟上区块的生产速度。
所需的并行机器数 = 8 分钟 *60 / 7 秒 = 69 台机器
我们建议使用 m5.8xlarge AWS 云实例来生成证明。
因此,此基础设施的成本 = 1.536 美元*69 = 106 美元/小时
每个轻客户端Header的机器成本 = 106/3600/7 = 0.206 美元
基于 8 分钟延迟和 200 个验证器的假设。
链上轻客户端验证的总成本 = $17.9 + $0.206 = $18.1
让我们假设一个最坏的情况(从交易费用的角度来看),即一个区块中只有一个跨链交易。然后验证 LC 标头的全部费用由该交易承担。加上一些间接成本,验证跨链交易大约是 20 美元。
假设每个区块有 10 笔交易的乐观情况,此成本将约为 2 美元,这与以太坊上 Uniswap 交易的成本相似。
为了将延迟降低到几秒钟,并将每笔交易的 gas 成本降低到几美分,我们正在研究递归证明技术。这将使我们能够并行生成多个证明,然后递归地将它们组合成一个证明。
我们正在评估市场上可用的各种递归库,例如 plonky2,以及 Mina、Aztec 和 Starknet 团队的作品。我们邀请任何从事递归工作的人与我们联系。
通过使用递归和基于硬件的加速,我们相信我们可以实现跨链交易的5秒以下的延迟。
未来,我们甚至可以将多个轻客户端header组合在一个证明中,每个证明的成本仅为 4.5 美元,并且每个跨链交易的成本可能低于 1 美元。
当前 IBC 设计(简化)

新提议的 IBC 设计

我们邀请以太坊和 ZK 社区提供他们的意见并帮助我们收集支持以使该提案成为现实。
执行计划:
阶段1:我 ZK 引擎与 IBC 的集成
阶段 2:通过递归证明和硬件加速将延迟降低到约 5 秒。
阶段 3:部署一个演示应用链,通过zk-IBC连接到以太坊。
阶段 4:运行演示应用程序链的设置,进行广泛的测试,并使社区能够测试交易。
阶段 5:安全审计
阶段 6:主网部署

为 ed25519 创建 ZK证明 是一个难题。
这是因为 ed25519 的twisted Edwards curve 使用的finite field 比altbn128 曲线(由 zk-snarks 使用)使用的finite field大。在较小的field内执行大型finite field运算很困难,因为模数和乘法等一些基本运算可能变得非常低效。
为了解决这个问题,我们能够找到2^85作为基数,来定义我们的twisted Edwards curve的曲线运算。由于ed25519素数p=2^255-19是2^85的近似倍数,我们能够为基数2^85的数字想出有效的基本运算,如乘法和模法(在25519素数下)。
接下来,我们使用这些自定义操作在 ZK 电路中定义曲线操作,例如点加法、标量乘法和签名验证。
在这个文档中很难公正地解释这背后的数学细节,请参阅我们的详细文档解释.
由于上述优化,我们能够为单个签名实现的性能数据如下:

要了解系统级别的性能,我们需要查看 3 个参数 -
每个签名的证明生成时间 ~ 9.6 秒(平均)
每批/证明的签名数 = ≤ 100(最大值)
为批次生成 zk-proof 的时间 = 16 分钟(基于100 个签名批次)
证明生成时间(几乎)与每批签名的数量呈线性关系。我们可以增加/减少每批签名的数量,并且证明生成时间会相应改变。

证明制作时间将以延迟的形式显现。为了减少这种情况,我们可以在一个zk证明中放入较少数量的签名。但是,这意味着同样的批次大小(或每个轻客户端header)将需要更多的证明,这将增加验证该批次的gas成本。
因此,减少延迟会增加 gas 成本。
下面我们列出了根据延迟和参与该 cosmos 链的验证者数量来验证以太坊上的Tendermint轻客户端 (LC) header的预期成本。
我们可以让用户/cosmos 链决定他们想要使用的延迟和 gas 费用的选项。

这里我们选择200个验证人和50个签名作为证明的基础分析。
由于Tendermint出块速度是~7秒,而证明的生成时间是8分钟,我们将需要多个验证人并行来跟上区块的生产速度。
所需的并行机器数 = 8 分钟 *60 / 7 秒 = 69 台机器
我们建议使用 m5.8xlarge AWS 云实例来生成证明。
因此,此基础设施的成本 = 1.536 美元*69 = 106 美元/小时
每个轻客户端Header的机器成本 = 106/3600/7 = 0.206 美元
基于 8 分钟延迟和 200 个验证器的假设。
链上轻客户端验证的总成本 = $17.9 + $0.206 = $18.1
让我们假设一个最坏的情况(从交易费用的角度来看),即一个区块中只有一个跨链交易。然后验证 LC 标头的全部费用由该交易承担。加上一些间接成本,验证跨链交易大约是 20 美元。
假设每个区块有 10 笔交易的乐观情况,此成本将约为 2 美元,这与以太坊上 Uniswap 交易的成本相似。
为了将延迟降低到几秒钟,并将每笔交易的 gas 成本降低到几美分,我们正在研究递归证明技术。这将使我们能够并行生成多个证明,然后递归地将它们组合成一个证明。
我们正在评估市场上可用的各种递归库,例如 plonky2,以及 Mina、Aztec 和 Starknet 团队的作品。我们邀请任何从事递归工作的人与我们联系。
通过使用递归和基于硬件的加速,我们相信我们可以实现跨链交易的5秒以下的延迟。
未来,我们甚至可以将多个轻客户端header组合在一个证明中,每个证明的成本仅为 4.5 美元,并且每个跨链交易的成本可能低于 1 美元。
当前 IBC 设计(简化)

新提议的 IBC 设计

我们邀请以太坊和 ZK 社区提供他们的意见并帮助我们收集支持以使该提案成为现实。
执行计划:
阶段1:我 ZK 引擎与 IBC 的集成
阶段 2:通过递归证明和硬件加速将延迟降低到约 5 秒。
阶段 3:部署一个演示应用链,通过zk-IBC连接到以太坊。
阶段 4:运行演示应用程序链的设置,进行广泛的测试,并使社区能够测试交易。
阶段 5:安全审计
阶段 6:主网部署

<100 subscribers
<100 subscribers
No activity yet