随着区块链行业的不断发展,我们正处于一个多链互联的时代。在这样的时代背景下,不同特性的公链衍生出了差异化的应用场景,为用户创造了多样化的体验,但与此同时,“链间孤岛”问题也显得愈发严重。不同链上的账户往往无法互通,人们的全链资产处于一种割裂而不统一的状态,这增加了使用门槛,也极大程度降低了用户体验。
可以说,异构链之间的割裂与不兼容问题,是阻碍用户转化率增长的主要原因之一。而当今BTC生态的火爆,把异构链的互操作问题进一步体现了出来。正如 Vitalik Buterin 多年前所言:「多链是未来」。虽然多链并存已经成为大势所趋,但在异构链之间建立跨链桥,仍然是一个麻烦事。
下文中,我们将简要的对ZetaChain 的全链解决方案进行技术视角的阐述,说明ZetaChain 如何作为全链互操作DAPP的底层基础设施,实现跨链消息解析与处理。
其实,单纯论跨链桥要解决的问题,最简单的场景是资产在不同链上的转移。你从 ETH 往 Polygon 上跨资产,要先往 ETH 链上指定的充值地址转入资产,然后在 Polygon 链上接收等量资金。但问题在于,Polygon 的节点无法确认 ETH 链上发生了什么,不知道你是否真充值了 xx 金额。如果有人谎称,自己往 ETH 链的指定地址转了 100U,然后在 Polygon 链上发起提款声明,要求释放他的 100U,这就会出现“凭空提款问题”。跨链桥的关键在于,解决此处的“凭空提款问题”,即确认所有的提款声明都对应着真实的充值行为,本质而言,是设法在 B 链上证明,A 链上的确发生了 N 笔与跨链桥相关的交易。
ZetaChain的功能:全链互操作DAPP的底层基础设施
ZetaChain的自我定位是全链互操作型DAPP的基础设施,专门支持各种全链交互类的应用协议,是一种典型的B To B To C底层基础设施。它通过 PoS 准入机制,允许任何质押资产的节点进入网络之中,充当公证人。全体 PoS 节点通过 TSS 门限签名技术,参与到跨链消息的验证与处理中,尽可能提升安全性。同时,ZetaChain上可以部署智能合约,添加与资产互换相关的业务逻辑,用户可以在任何一条链上发送特定格式的消息,调用 ZetaChain 或其支持的多链上的Defi合约,在BTC链上就可以间接调用 Polygon 上的 DeFi 功能。这样达到的效果是:在不同的区块链之间进行消息传递,实现互操作。
在此,我们可以将 ZetaChain 理解为一个“链中链结算层”,所有的多链交互场景,比如A链上发起调用B链的某DAPP,相当于A链先和 ZetaChain 进行“结算”,然后 ZetaChain将预处理的结算结果,同步到B链的相应账户,再完成后续的步骤。整个过程中不存在与映射资产合约的过度交互及手续费摩擦,资产流通经由ZetaChain在不同链上的公共账户来完成,这样就不需要像传统跨链应用那样,频繁的在不同链上部署映射资产合约。
此外,ZetaChain 本身也支持部署资产合约或AA账户,不同链上的用户可以发送特定格式的消息来调用,就好像在操作一个全链统一的账户一般,这种设计思路在 Particle Network 的 Particle chain 上也有体现,最终达成的效果是:用户可以尽量把资产的数据记录,集中在ZetaChain或Particle Chain一条链上,在必要时,通过“外部链”上的DAPP前端发送调用消息,异步调用自己在ZetaChain上的资产合约,然后ZetaChain会通过外部链上公共账户,转移一定的资产至用户消息指定的地址,或是与用户指定的Defi协议进行交互。
ZetaChain的安全模型:基于POS质押的大号公证人节点网络
归根结底,ZetaChain本质上是一个专为跨链消息处理,而设置的公证人节点网络,它建立在 Cosmos SDK 基础上,由很多台 Validator 验证节点组成,并以POS作为准入机制,以此实现节点反女巫和底层安全。
Zetachian的Validator 客户端中包含 ZetaCore 和 ZetaClient 两个模块。ZetaCore模块参与ZetaChain区块的产生和共识过程,ZetaClient 模块则观察外部链上的事件,并签署出站交易。这里的出站,可以简单理解成,将 ZetaChain 上的交易日志记录,发送到“外部链”(就是指ZetaChain外的其他链),从而在目标链上触发对应行为,发送的内容主要包含用户在消息中声明要调用的合约地址、链ID、消息内容,其实就类似于 Ethereum 交易中的 Log 部分。
首先,所有的 ZetaChain 节点都具备“验证者”的模块,与 PoS 公链中 Validator 节点的职能基本一致,要参与出块和共识流程。此外,节点可以按质押的代币(ZETA)比例,投票参与链上提案。ZetaChain 的区块中,则包含了处理的所有跨链记录、全链智能合约交互等行为,相当于日志记录。
TSS 签名
所有被ZetaChain节点观察到并验证过的跨链消息,最终会在目标链上通过ZetaChain的公共账户地址,触发一笔交易行为,进而执行后续的操作。而这个过程中,需要在目标链上为该笔跨链交易生成数字签名。为了保证安全与去信任,签名的生成由 ZetaChain 所有节点承担,共同存储用于生成签名的密钥片段。这些密钥片段分布在多个签名者之间,只有绝大多数签名者都签名了,才能在外部链上,生成交易的数字签名。任何时候,单个实体或一小部分节点,都无法代表 ZetaChain 在外部链上触发交易/签署消息
zEVM:一站式的全链DAPP合约平台
不同于传统跨链方案要在每条链上部署映射资产合约,ZetaChain 可以仅在自家链上部署一次智能合约,即实现多链的跨链功能。在 ZetaChain 中,有一个EVM兼容的执行层,称为 zEVM,而跨链智能合约可以直接部署在 zEVM 上。
zEVM支持以下功能:任何人可以在外部链上发送特定格式的交易数据,调用 zEVM 上的某个合约;zEVM 上的合约逻辑,可以控制在外部链上生成的出站交易数据。这两个附加功能使得 zEVM 支持通用编程,可部署特定的业务逻辑,原子性地对不同链上的状态进行修改。如果一笔跨链操作发生了,ZetaChain检测到这笔跨链行为的后续步骤,在目标链上没有成功,则可以回滚掉该笔跨链交易在ZetaChain合约里修改的数据,就好像什么都没发生。同时,全链应用DAPP无需在不同的链上部署映射资产合约,只需要通过ZetaChain链上的合约,就可以一站式的将消息跨链的处理逻辑集中设置,无需频繁的将跨链合约部署到多链网络中。
这样可以大幅度节省全链DAPP开发成本。在用户层面,因为不需要频繁的与多链上的映射资产合约产生交互,成本要比那些需要在不同链上部署映射资产合约的主流跨链桥更低。此外,ZetaChain上也可以部署专门的Defi合约和ZRC-20乃至NFT资产,对资产状态进行数据同步,或是部署AA账户。这使其具备了统一的资产管理(状态记录)平台功能。因为我们不再需要费尽心力的在多链上拥有资产,这种全链统一资产账户的场景,可以在未来赋予更多的想象力。
通过前面的内容,我们或多或少对 ZetaChain的“全链互操作基础设施”身份有了更多了解。其通过 Validator客户端中的观察者模块,监测外部链的特定消息/交易,并汇报给验证者模块,最终在ZetaChain网络中对消息进行共识。再对消息包含的数据进行解析,用TSS生成数字签名,在对应的目标链上触发后续的交易流程,从而实现全链上的交互。与此同时,基于ZetaChain的全链智能合约,使得我们可以与不同区块链进行贴近原生的交互,无需在不同的链上使用映射资产合约,这可以避免调用冗余的合约逻辑,节约了手续费成本。同时,由于ZetaChain本身EVM兼容,可以让任何DAPP开发者甚至个人用户,部署定制化的跨链消息处理逻辑,理论上可以一站式的部署全链DAPP合约,跨链应用开发者不需要在不同的链上频繁部署/更新映射资产合约逻辑,免去了重复造轮子的成本。
文章声明:以上内容(如有图片或视频亦包括在内)除非注明,否则均为谈天说币原创文章,转载或复制请以超链接形式并注明出处。