跨链服务何以成为区块链的 HTTP 协议 | Interchain Conversations II 回顾

IRISnet 研究总监胡智威于 12 月 13 日参加 Interchain Conversations II 直播,介绍了跨链服务 iService 及其在应用层与 IBC 结合可实现的跨链 TCP/IP + HTTP 的效果。

主要分享内容有:

  • 跨链的应用层协议应该是什么样
  • iService 及其在单链、跨链、链外的能力
  • iService 的应用场景及案例
  • 已有成绩及未来计划

本文是该直播内容的回顾记录(有修改)。

跨链的 应用层协议应该是什么样

类比现在的互联网,对于未来的区块链互联网络中的应用开发者和用户,他们不应再关心具体他们在基于何种区块链基础设施来使用或开发。以 IBC 为代表的跨链技术有助于实现这一愿景。

IBC 协议的设计与 TCP/IP 的设计理念非常相似:IBC 抽象了区块链/分布式账本的设计以及如何相互间的通信,所以可以将其视作为 TCP/IP 协议栈中负责网络通信的部分, 可以最通用的适用于异构的区块链/分布式账本系统

如果我们回想跨链所能解决的问题,我认为 跨链解决的核心应该是链间的信任问题,正如区块链解决的核心是链内的信任问题。

因此这里,我从如何解决信任的思路出发,把跨链或更广义的账本间、实体间的交互方法,归纳为以下 3 类:

1. 没有办法的办法 ,也就是必须去信任或假设可信,例如网关、见证人的方式。用户需要信任网关或默认网关是可信的,以便传输资产或其他信息。

2. 基于数学的办法 ,即基于数学上可计算验证的证明材料,用户可以不用信任而是去验证(Don’t trust, verify)例如 IBC,可利用 Merkle 树来验证另一个链上的交易是否合法有效。这种思路也和 Layer 2 中的 ZK Rollup 等类似,使用的是零知识证明的方式来验证。如果我们再推而广之,经典的 BFT 类共识也是基于数学可证的方法来实现节点间的一致性。

3. 基于资产的办法 ,实际上这种办法更在于是基于资产之上的经济激励或博弈。由于数学方法的严格性,其使用场景一般也会相对受限;而采用博弈与激励方式,则会相对更通用。例如 Layer 2 的 Optimistic Rollup 更容易支持通用型的智能合约;系统采用乐观的方式推进,而当发现有不端行为时相应的用户会收到惩罚。如果我们做类似的推广,中本聪共识也是采用这种博弈而非严格证明的方法,来实现 BFT 共识曾无法实现的超大规模的分布式系统协作。

而今天想重点介绍的跨链服务 iService 也是采用基于资产的方式来最大限度的扩展系统间的集成能力:当用户提供了正确的服务时,可获得服务费用;反之则可能收到惩罚,例如抵押的保证金被罚没等。

思 路 案 例
1. 没有办法的办法 必须去信任某人 网关、见证人等
2. 基于数学的办法 使用 Merkle 证明、零知识证明 IBC、ZK Rollup、BFT 共识
3. 基于资产的办法 使用经济激励、博弈 iService 、Op Rollup、中本聪共识

当然,这些方法间并非泾渭分明,而是可以进行有机的结合,例如,Optimistic Rollup 也存在可验证的证明,用户可利用这些证明来鉴别不端行为。而 iService 也可与 IBC 进行有效结合,来实现区块链的互联网络

那么,既然 IBC 已经是一个可连接异构区块链的跨链协议了,为什么还需要使用另一种思路的 iService 呢?

因为区块链互联网络所希望连接的系统,还应包括传统中心化系统(非链)、联盟链等形式更多样化的系统。这些数据和服务的来源很可能并没有一个可验证的证明,所以我们需要结合跨链服务作为应用端来补全整个协议栈:将 iService 作为应用层、IBC 作为网络通信层,实现区块链互联网协议的 TCP/IP + HTTP

iService 在单链上的能力

不过,iService 也可以不依赖于 IBC 而单独在一个链上所使用。用户可定义服务、绑定服务,并对服务请求、响应等,实际上形成了链上的服务交易市场。

iService 在跨链的能力

如果涉及到跨链,iService 可结合 IBC 发挥出更广的连接作用。

不过需要一定的定制化开发,我们在实践中通常会涉及到开发:

  • 跨链中继(relayer):可连接应用专有链(即跨链所要连接的、完成一定业务应用的区块链)的轻客户端,解析并传递跨链服务 iService 的信息及相应证明
  • iService 扩展(iService Ex):部署在应用专有链上,一般为智能合约形式,负责处理跨链服务,一般包括 iService Core Ex(负责跨链服务调用与响应的核心逻辑)和 iService Market Ex(获取跨链服务及服务提供者信息)

iService 在链外的能力

iService 也可连接到链外系统,即非区块链/分布式账本的系统。

最典型的例子就是预言机(oracle)。IRISnet 基于 iService 开发 oracle 模块;所有基于Cosmos SDK 的区块链在集成该模块后都可具备获取链外数据的能力。

获取数据任务(feed)基于 iService 实现,其生命周期也和链上服务类似,包括创建、开始、暂停等。

此外,iService 还可集成更多类型的系统,例如,可实现数据加密共享的隐私计算服务、企业级应用中 ERP、OA 等。这些传统中心化服务都可以封装为服务来跨链交互。

目前进 展及计划

基于上述设计,IRISnet 开发团队已实现了:

  • iService 功能已在 IRISnet 主网上可用
  • 预言机模块已基于 iService 开发
  • 实现了对一些区块链产品,例如:以太坊、Hyperledger Fabric、FISCO BCOS 等的 relayer 和 iService Ex,可实现公链与联盟链等系统间的跨链交互
  • 基于定制化的 IBC,部署了跨链服务枢纽在 BSN 环境中

例如,基于 IBC + iService 实现的 BSN 跨链服务枢纽,可实现联盟链与公链、链外预言机之间的交互。

下一步,将通过这种 IBC + iService 的方式开发出可与更多的区块链系统连接的能力,其中可包括公链与联盟链等。

同时,还将利用跨链服务发布多种应用,例如,与 StarryMedia 合作的电子票券(当然还会使用到 NFT 模块)等等。

完整视频回顾:

您可以通过以下方式找到 IRISnet:

邮件:contact@irisnet.org

官网:https://www.irisnet.org/

论坛:https://forum.irisnet.org

微信公众号:irisnetwork

加微信群:irisnetwork2018

英文电报群:https://t.me/irisnetwork

中文电报群:https://t.me/irisnetworkcn

推特:https://twitter.com/irisnetwork

Facebook:IRISnet

LinkedIn:IRISnet

Medium:https://medium.com/irisnet-blog

币乎:IRISnet