atom_crypto

Posted on Jun 04, 2022Read on Mirror.xyz

Cosmos的开拓者 - Osmosis,继IBC之后,看ICS, ICA如何重构加密行业

总览

如果说2020年的加密行业是围绕着Defi,如何将金融系统分解为相互可组合的组件,那么2021年我们开始看到了互操作性逐步成为了高速增长的加密行业的热点,这些相互可组合的组件之间是如何进行交互的?我们看到了Cosmos 这样模块化区块链的诞生,其核心的战略理念将独立主权和互操作性作为实现可扩展区块链,被大规模采用的开放区块链生态系统的两个关键因素。因此我们在之前的文章提到过,Cosmos可以理解为1) 核心理念,如何在第一时间构建区块链;2)技术架构,降低开发门槛的核心组件,最底层为Tenderment Core, 其上有Cosmos SDK,一键部署应用的功能,IBC为跨链通信协议,为链与链间的跨链通信提供服务;3)Cosmos Hub 不仅仅为Cosmos的技术架构提供了资金支持,同时集合了生态中最安全的验证集合,致力于为所有IBC上的主权链提供更好的服务。

如果将IBC理解为跨链间互操作性的第一步,那么可以将跨链账户(ICA)理解为IBC之后的进化。我们之前在不同桥的设计文章中介绍过,我们可以将跨链通信分为可信任跨链通信和信任最小化跨链通信。最小化信任跨链通信指的是集群内部通信协议Intra-cluster Communication;, 比如以太坊和二层网络,通过欺诈证明和有效性证明实现,Cosmos Hub间的IBC通信和Polkadot 平行链和中继链等都是很好的例子。而集群间的通信我们通常称为可信任跨链通信Inter-cluster Communication。

IBC可以理解为一种基础的区块链可互操作协议,主要负责区块链间的可靠传输,身份验证和数据排序等工作(TAO传输层),所以,IBC的设计初衷为仅用于标准化跨链数据传输层面所需的基本方面,以适应各种区块链架构。和互联网中的TCP/IP协议的设计类似,IBC将应用层和传输层(TAO layer)分开 (注意,人们通常所说的可互操作性协议,特指的是传输层)。传输层负责为跨链通信和链间的数据验证提供基础设施,而协议层则规定了数据包如何打包,并且被正确解读,而并非定义这个数据是什么,数据架构是怎样的。所以相较于IBC,其他互操作性解决方案需要在应用层进行更多的标准化,会大大降低可互操作性网络中的区块链架构的多样性。IBC的设计中,通道可以理解为IBC模块中(可以理解为互联网应用)的信息通道,通过IBC标准,利用标准化数据包实现跨链通信。例如你将$Atom从Cosmos Hub中转入到Osmosis, 你需要通过两个区Zone间的特定通道,而从Osmosis到Cosmos Hub的通信则为另一条通道, 理论上两条链间的通道可以为无数条,对于一个Zone,你也可以有成百上千的通道。但是还是受限于基础设施等现实因素的考虑。IBC中的中继节点负责区间的数据传输,并且监控数据包的状态,并将其提交至目标链, 整个过程会涉及到三次握手。

ICS-20 (ICS为跨链标准的简称)跨链转账模块,是IBC模块中的第一个模块,允许不同链间的资产进行转账,这对于大部分Defi功能已经足够了,但是资产转账后,可以实现什么其他功能呢?那么我们就需要跨链账户模块(ICS27) 回答了。在正式介绍跨链账户之前,我们需要强调为什么不可以为这些应用创建新的跨链标准呢?新的跨链标准需要大量的实践,研究,和资源的投入,从长期的角度来看,创建这种标准一定是有利的。例如,如果有流动性池相关功能的新 IBC 标准,那么每个发送方和接收方链将能够正确地将通过相关 IBC 传输层端口传递的数据包解析为相应的消息类型,并相应执行交易。例如我们可以通过这个新IBC标准,将Osmosis的Atom/USDC流动性对一键转移到Crescent Network上的Atom/USDC流动性对。但是考虑到Cosmos过去几年的迅猛发展,为了帮助IBC标准早期能够更快地被普及和使用,我们需要考虑可行的短期解决方案。当Cosmos生态中有成百上千的应用和功能时,那么创建这种标准,则会给这些新的功能/应用部署带来冗余的执行和标准化步骤,给开发者/ICS团队带来前期大量的开发资源支出,同时这些标准的质量也无法保证,所以我们最终决定采用跨链账户这种过渡方案。

跨链账户 (Interchain Account, ICA)

跨链账户交易可以理解为在IBC数据包中的跨链账户数据包中的一笔交易,包含了接收链需要提交的任务(比如代币兑换,质押,抵押借贷等)。你可以将其理解为盒子中信封中的一封信,发送方(Zone)将盒子通过中继者传送给接受方(Zone), 接收方的IBC模块打开盒子,将信封中继给接收方的跨链账户模块,也就是目的的。跨链账户模块将信封打开,将里面包含的指定操作任务提交至链上,交易的执行将完全取决于接收方内部的交易逻辑,而跨链账户模块只负责传送加密交易,即信件,而信件本身都将为统一的接收方标准,和交易类型无关。

所以跨链账户允许在一条链上控制另一条链上的账户,而资产在跨链账户中转移时,用户无需反复于多个产品界面进行操作。上图将IBC跨链账户交易与一般的IBC跨链交易进行了对比。IBC交易中,处理交易的所有步骤都需要被模块化(例如Module A可以为ICS 质押模块,ModuleB 可以为ICS 治理模块,Module C可以为ICS CDP 抵押债务证明模块)。而在跨链账户IBC交易中,只有跨链账户中的中继交易的过程需要被模块化,而交易执行本身则依赖于接受方的内部逻辑,而非IBC的模块。

比如在流动性质押领域的应用,我们将Atom从Cosmos Hub发送至Osmosis, Atom发送到Osmosis网络后, 通过Osmosis的跨链账户功能,我们可以在Osmosis网络/界面直接将Atom质押给Cosmos Hub上的节点,而无需将资产通过IBC转移至Cosmos Hub, 再通过Cosmos Hub的界面质押给节点,并且将质押权证进行其他操作,比如去Umee上抵押借贷等,但全程无需离开Osmosis的界面,大大提升了用户的使用体验。同时,跨链治理也是一个很好的应用。

而对项目来说,跨链账户在短期为Cosmos提供了可扩展性和互操作性的解决方案,接受方(目的地)链上的潜在的架构变化可以非常灵活和频繁,新的功能可以快速部署,接入,通过IBC的跨链账户模块,这些新功能也可以迅速的支持IBC上的交易。而从长期来看,项目方需要根据实际需求/跨链账户的使用情况,确定是否需要进行大量投入,创建新的IBC应用执行标准。例如Sommelier 协议是一个搭建在以太坊和Cosmos上的跨链流动性提供者, Sommelier通过IBC接入Tendermint链,而通过Gravity Bridge接入以太坊等EVM兼容的链。Cellar可以执行特定Defi策略的一系列智能合约,可以理解为动态机枪池,而在跨链账户上线之前,部署Cellar的每条IBC链,都需要部署Sommelier Cellars模块,所以需要每条链都需要全链升级,并且模块更新时,也需要进行相应更新。当接入的链越来越多时,会带来大量的沟通成本和执行成本,大大限制了Cellar模块部署的可扩展性,可获操作性和效率。而跨链账户上线后,Cellars的信息都可以通过任何一方的跨链账户进行发送和接受,比如一个Celler策略为优化Osmosis上AMM的LP策略,或者Umee上的稳定币借贷策略,都可以以IBC信息的形式进行沟通和更新, 比如对Osmosis的流动性池子上流动性的再平衡和再投资。

跨链安全 (Interchain Security, ICS, 注意与上文的跨链标准区分)

目前现有的跨链安全解决方案都采取了自上而下的设计,而Cosmos坚持自上而下的设计。和以太坊2.0和Polkadot不同,Cosmos希望搭建更坚实的基础后,可以在其上搭建此项功能。例如在IBC通信协议标准被使用/采纳之后,可以在上搭建分片解决方案。

当然本质上这个跨链安全,可以理解为和Polkadot类似的共享安全模型,允许一条区块链上的验证节点对于另一条区块链进行区块验证和安全维护。Polkadot的跨链安全模型中,所有的平行链的安全都依赖于中继链的安全。但其限制了插槽数量。而像以太坊这种的L1等概率出块模型中,区块空间的限制大大影响了其可扩展性,所有搭建于其上的DAPP都在主网中竞争优先出块,因此所有交易行为都在一个单独序列中(你可以理解为一条拥堵的高速公路),链上交互合约需要通过竞争区块空间实现,会引发很多不同应用间相关合约竞争区块空间,造成网络拥堵,对于项目方,对于用户都带来了高昂的成本和非有效的资源定价问题。当然他们社区针对扩展性于近期提出了Dank Sharding的解决方案,但本质上一个非常巨大的工程变动。而Cosmos允许区(Zone)有自己的验证节点,自己的价值和治理代币,决定自己网络的安全,由多条链,多个节点集合组成,实现了水平层面的扩展,而链间不存在竞争关系,比如Cosmos Hub和消费链并没有形成实质性竞争。对于一些像Osmosis,这种已经拥有相对安全的验证节点集,非常可观的TVL(总锁仓量),高市值的AMM应用主权链来说,无需完全依赖于Cosmos Hub的安全性(Full interchain security, V1), 但是也会有部分共享安全的应用场景需求,而对于大部分长尾的项目/新型的早期创业项目来说更是如此,技术门槛相对较高,没有共享安全功能,无法找到专业,安全的验证节来维护网络,会给他们的项目发展带来限制和风险。而Cosmos ICS机制的上线之后,注意有两个点,第一,ICS对于所有搭建在Cosmos上的应用来说本身是一个Opt in 模块,而非强制模块,第二,但是应用一旦决定接入,消费链可以选择(注意是Opt in 不是强制性,但是在V1版本中,强制规定为175个验证集合,v2,v3才有更多选择功能 )和Cosmos Hub相同的节点,而且如果基于Cosmwasm开发可以更方便部署扩展性能更好的智能合约。注意,在V1中,消费链将75%的燃料费给到国库DAO,又多签钱包管理,而25%的燃料费给到Hub, 激励验证节点和质押者。

跨链安全(ICS)的安全性

跨链安全允许供应链(Cosmos Hub)通过共享验证节点集为消费链进行出块。参与的验证节点需要运行双方(供应链和消费链)的节点,并且获得两边的费用和收益。验证者需要使用他们在 Cosmos Hub 上质押的 ATOM 代币,从而参与消费者链的区块生成。如果验证者在任一链上生成区块间作恶,他们的 ATOM 代币就有可能被一种称为slashing的机制破坏。ICS总共会有三个版本,第一个版本是消费链的安全完全由Cosmos Hub节点维护。而这些消费链是否能够接入需要Cosmos Hub通过治理根据他们的风险概况最终决定 (比如是一条基于Cosmwasm开发的消费合约链还是一条SDK无变化的消费自定义链)。因此,Atom质押者需要决定他们质押的验证节点,因为在享受额外收益的同时,也会面临和其他POS链一样消费链节点宕机和不当行为风险。第一个版本中,目前Cosmos Hub的175个节点都必须参与验证消费链,在这种情况下,所有质押的Atom价值以及Cosmos Hub上的节点都将参与到消费链的安全维护中,保证了消费链和Cosmos Hub享有了共同的安全保证。而这种情况下的Slashing风险是指保证消费链能够获得Cosmos Hub的安全。因此参与ICS的节点所质押的Atom价值和这些节点所面临的Slashing风险,会保证Cosmos Hub节点不会对于消费链产生恶意行为,从而保证消费链和Cosmos Hub拥有同样的安全保证。所以,第一个版本中,全网的ICS 取决于Cosmos Hub的安全。(消费合约链,智能合约平台,独立链,消费链和定义链的区别请见下图):

而第二个版本中,消费链可以将自己的质押代币与Cosmos Hub的Atom代币相结合,并最终确定消费链的验证器集组成。而V3版本中,这种关系会进一步扩大和加深,可以在双向大型网络间实现横向共享安全协议,Cosmos Hub可以和任何其他Cosmos SDK项目的验证集共享Atom价值,反之亦然,可以将其理解为主权网络的相互安全保险。而在V3版本中,Hub验证节点可以有权停止验证哪条链。第二,三个版本相较于第一个版本,网络安全将最终取决于消费链和供应链共同的安全。而对于Cosmos Hub的部分参与的节点来说,如果消费链上的唯一验证节点恶意进行攻击,会有女巫攻击的可能性。

跨链安全的民主性

跨链安全的治理会遵循两种主要方式,公开讨论治理和私下讨论治理,公开讨论治理类似于民主选举前的公开讨论,造势活动,通过广泛收集意见,反馈,决定是否能够进行正式提案,这里Cosmos 大部分项目都是这样做的,比如Osmosis, 比如Juno Network。收集信息意见主要通过Commonwealth 平台(类似于Forum的产品),另外还有私下的内部治理方式,ICS主要通过与项目方或者节点开会讨论相关问题,比如何时发布消费链等。这里提下,Solana就是一条很依赖于私下治理的协议,其并不通过公开形式广泛征求用户意见,而是通过内部节点/利益者以Google文档分享的形式,由几个节点决定其链未来的发展,这也是为什么社区诟病其非常不去中心化的问题。

如上文所说,消费链启动的时候,需要通过许可列表链上治理控制,你需要知道在哪里启动这些应用程序链(工程设计中的代码库等),什么时候启动,同时也需要对开发环境有所理解,本质会经过比如开发, 测试,部署,alpha 测试, 启动, beta 测试等步骤。目前V1上线后,即将接入的项目包括Quicksilver一个流动性质押协议, Crescent Network, 等,都将成为第一批参与ICS的项目。注意Quicksilver启动(今年8月份)的时候,ICS功能还未正式上线,所以他们计划在ICS上线后再使用,他们将通过Cosmos Hub的全部节点集获得安全性,获得和Cosmos Hub同样的安全性。前期节点需要手动启动消费链,通过供应链的链上治理来控制。第二个版本,会给验证节点和消费链更多的选择性,对于大部分基于Cosmos SDK开发的链,已经有了其质押代币,例如Osmosis这样的项目,其TVL和市值都已经达到了一个相对安全的比例 (网络的安全,由总锁仓量TVL和攻击成本决定,当TVL小于攻击成本,网络被认为相对安全;攻击成本取决于网络攻击被攻击的节点比例(在Tendermint机制中,为⅔)对应的代币数量与代币价值的乘积)。以Osmosis为例,截至目前2022年6月4日,其市值12亿美金,而其锁仓量为2.3亿美金,所以理论上对于想要攻击的人来说,需要获得2/3的Osmo代币,价值约为8亿美金,而窃取2.3亿美金的TVL资产,那这个攻击无利可图,那么网络也相对安全。所以对于v2,v3上线的跨链安全,我们更为期待,因为像Osmosis, Axelar 这些项目,随着Osmosis的TVL增长,以及Axelar越来越受欢迎,可以通过V2,V3享有Cosmos Hub 部分的安全性。所以,我们即将在未来的一年内看到让人兴奋的行业巨变:

跨链安全 = 来自 Cosmos Hub 的共享安全(全部和部分安全)< 1 年

Interfluid Staking = Osmosis 流动性池的共享安全性(部分安全性)~ 1 年

Celestia = EVM rollups 的共享安全性(Optimistic rollups的全部安全性)< 1 年

所以,我们看到ICS主要带来了两个好处,一个降低了开发的门槛,部署非常方便,另一个是安全性,我们看到了Quicksilver, Lido这样的流动性质押平台,这种对安全性要求很高的协议准备接入进来,同时以太坊上的质押衍生品平台Rocket Pool也计划通过消费链接入到Cosmos。并且尽管接入ICS,需要通过治理实现,ICS的退出无需治理,并且能通过Csomos SDK的现有机制进行消费链和应用主权链的自由切换,比如当Quicksilver协议在一段时间运营发展后,获得了相对较安全的验证节点结合,并且拥有了一定的社区基础和用户后,其仍然想实现应用主权链的愿景,建立自己的生态,那么其可以随时通过相关二级制文件切换至应用主权链,非常方便。所以对于ICS, 我们可以理解为早期项目接入Cosmos中运用的一种杠杆工具,通过找节点,Hub背书(通过治理等方式),安全技术背书,资金杠杆等,终将发展壮大为各种应用主权链,而我们也坚信未来的多链区块链时代也一定由这些应用主权链来主导。

Reference

Welcome to the IBC gang, let’s talk

Interchain Security is Coming to the Cosmos Hub

Nansen-alpha

Building with Interchain Security