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
微信公众号: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