区块链的 TCP/IP ?Cosmos 技术分析

标准共识
标准共识 机构得得号

Aug 15, 2019 全球知名的区块链和加密货币领域投资风险评级机构

摘要: 以 Cosmos、Polkadot 为代表的跨链技术正在构建区块链领域的 IP 协议,故而有人将跨链技术视为区块链 3.0 时代

区块链的 TCP/IP ?Cosmos 技术分析
00:00
07:34

图片描述

Cosmos 简介

以传统互联网的角度来看,正是由于 IP 协议的中继左右,让我们熟知的 HTTP、P2P、IEEE、WiFi 等协议相互连接,才有了我们可以在 HTTP 协议上登录网页版微信,利用 P2P 协议将文件通过网页版微信传输等应用场景。而以 Cosmos、Polkadot 为代表的跨链技术正在构建区块链领域的 IP 协议,故而有人将跨链技术视为区块链 3.0 时代。

图片描述

Cosmos 原理

图片描述

图中最左侧和最右侧的 4 条公链在没有 Hub 的情况下要实现连接,就必须在彼此之间新建一条通道,但如果有了 Hub ,它们都只需要与 Hub 连接,由 Hub 实现跨链的中转。

Hub 本身也是一条公链,使用 Cosmos SDK 开发,具备 tendermint 结构;Hub 连接的公链以及公链的代理链被称作「Zone」,所有的 Zone 都需要实现 IBC 通信标准。

Cosmos SDK 架构

图片描述

  • baseapp :定义了一个基本ABCI应用的模版,与 Tendermint 通信。开发者也可以根据自己的需求重写。
  • 应用程序 :包括 gaia、basecoin、democoin 。其中 gaia 就是 hub 主程序,basecoin 以及 democoin 是提供的两个示例应用。
  • plugins :cosmos-sdk 的基本单元,每个 plugin 都是 baseapp 的功能扩展,包含各自的消息和交易处理逻辑。

目前 SDK 已经集成了一些重要的 plugin :

  • staking :POS 相关的实现,包括:绑定,解绑,通货膨胀,费用等操作。
  • ibc :跨链协议 IBC 的实现,也是 Cosmos 支持跨链的主要插件。
  • governance :治理相关的实现,如提议、投票等。
  • auth :定义了一个标准的多资产账户结构(BaseAccount),开发者可以直接嵌入自己的账户体系中。
  • bank :定义资产的转移。

PegZone 原理

基于 Cosmos-sdk 开发的区块链能够轻松满足实时最终性,然而现存的 Bitcoin 和 Ethereum 这类使用 POW 共识的区块链并不具备此特点,只能属于概率最终性,无法防止区块链的回滚。对于这类链,团队采用 PegZone 方案来解决。

图片描述

上图我们可以看出 PegZone 可以分为 5 个部分:

  1. Smart Contract :资产托管的角色,保管以太坊中的代币和 Cosmos 中的代币。主要提供了 lock、unlock、mint、burn 四个方法。
  2. Witness :是一个以太坊全节点,监听以太坊合约的 event ,并等待 100 个区块产生后,封装 WitnessTx 提交到 PegZone 中来证明在以太坊内状态更改。
  3. PegZone :PegZone 是基于 Tendermint 的区块链,负责维护用户的账户信息,允许用户之间资产的转移,并提供交易查询。
  4. Signer :使用 secp256k1 对交易进行签名,以便签名能够高效的被智能合约验证,对应于智能合约的校验者公钥集合。
  5. Relayer : 中继器负责交易转发。将所有 Signer 签名后的 SignTx 转发到 smart contract 中。

以太网到 Cosmos 的传输过程

图片描述

  1. 合同在 Cosmos 端接收 lock 带有 ERC20 令牌和目的地地址的交易。它将收到的资金锁定在挂钩区域的共识,记录通知转发器的事件。
  2. 中继器通过 RPC 连接到以太坊完整节点,监听 Lock 事件。
  3. 一旦节点收到智能合约的存款,它就等待 100 个街区(最终门槛),然后生成并签署 SignWitnessMsg 证明宇宙钉区正在监听的事件的证据。
  4. 挂钩区域接收证人交易,直到超级大多数投票权见证了事件。每个 BeginBlock 调用 peg 区域检查是否有任何传入的以太坊传输已达到超过大多数确认。
  5. 然后,节点使用内部事务更新状态,以反映某人想要从以太坊发送令牌并生成 IBCWitness 将令牌转换为指定的目标链.

合约操作过程如下图

图片描述

Cosmos到以太网的传输过程

图片描述

  1. ABCI 应用程序收到 IBCRelay 要求刻录以太坊令牌的请求,并根据 IBC 规范处理它。ABCI 应用程序生成一个有效的以太坊交易,其中包含{地址,令牌地址,金额,非现金},并将其写入其状态。
  2. 每个签名应用程序正在监视 ABCI 状态中的新事务,并检测新事务。
  3. 每个签名应用程序使用 secp256k1 使用以太坊智能合约已知的密钥签署交易。
  4. 每个签名应用程序都将其中继提交回 ABCI 应用程序以 SignRelayMsg 进行复制。
  5. 定期查询 ABCI 应用程序事务的中继进程看到事务已达到所需的中继阈值。
  6. 其中一个中继器通过调用该 unlock 函数将事务发送到智能合约
  7. 智能合约用于 ecrecover 检查它是否由与交易高度相对应的超级大多数验证器集签名(这可能已被更新)。智能合约释放交易中指定的令牌,使其可用于目标地址。

标准共识分析

Cosmos 目前有 Cosmos Hub 模块 跨链 PegZone 模块 IBC 模块 治理相关模块 等一系列全生态环境,从愿景上看,Cosmos 希望打造成一个区块链互联网。所以需要解决跨链的问题,目前未知并未在跨链方面看到成熟方案,这个目标还是很远大,但很难实现,类比互联网网络没有共识层,只要解决好传输问题,就可以完成基本的通信,但区块链不一样,它的特色就是有不同的共识模型,这是它的生命力,也是它进步的方向。

(作者:标准共识,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 标准共识 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信