知世金融网专注于股票行情,期货开户,外汇储备等最新相关资讯信息提供投资者参考学习!

当前位置:网站首页 > 区块链 > 正文

跨链:详解Cosmos跨链间是如何相互通信

原创
文章作者
知世-金融领域资深作者
知名金融领域作者,从事金融超过十余年,在行业内有一定影响力。
金融风险管理师认证证书 常识职业资格认证 特许金融分析师 国际金融理财师认证证书
发布时间:2020-02-16 20:26:33 发布来源:区块链研究实验室 文章点击:101

跨链作为区块链一种不可或缺的技术,我们研究跨链,以更好地了解区块链之间是如何相互通信。 最初构建区块链时,他们设想能够提供“一刀切”的解决方案,这意味着所有交易,智...

目录

    本文标题跨链:详解Cosmos跨链间是如何相互通信,作者:知世,本文有2277个文字,大小约为9KB,预计阅读时间6分钟,请您欣赏。知世金融网众多优秀文章,如果想要浏览更多相关文章,请使用网站导航的搜索进行搜索。本站虽然不乏优秀之作,但仅作为投资者学习参考。

    跨链作为区块链一种不可或缺的技术,我们研究跨链,以更好地了解区块链之间是如何相互通信。

    最初构建区块链时,他们设想能够提供“一刀切”的解决方案,这意味着所有交易,智能合约或其他任何事物都在单个链上执行。 但是,现在很明显,这样的系统不太实用,尤其是在存在可伸缩性限制和创新约束的情况下。

    跨链是两个相对独立的区块链之间的互操作性。换句话说,由于区块链是以标准化的方式构建的,因此它允许区块链彼此通信。跨链实施主要以资产交换和资产转移为代表,既是区块链世界的重要组成部分,也是PPIO的重要研究方向。使用交叉链,可以避免单链的局限性。今天,我们将探讨Cosmos跨链协议的逻辑结构。

    根据不同的基础技术,跨链的相互作用可以分为同构的跨链和异类的跨链。对于同构链,安全机制,共识算法,网络拓扑和块生成验证逻辑是一致的,它们之间的跨链交互相对简单。

    另一方面,异构链的跨链交互相对复杂,并且包括诸如针对比特币的PoW算法和针对Tendermint的PBFT共识算法之类的技术。区块组成和确定性保证机制差异很大,因此直接设计跨链交互机制并不容易。异构链之间的跨链交互通常需要第三方辅助服务。

    如何实现跨链同构?

    基于Tendermint开发的链可以采用同构跨链。 Cosmos中同构链之间的资产转移原理如下。

    由于Tendermint使用PBFT+POS共识算法,因此只有在2/3个验证者同意的情况下,才会将区块提交到网络。可以通过检查区块头以验证区块头在特定链中是否合法来验证验证器信息。例如Tendermint正在开发两条链:链A和链B。现在假设资产需要在链上转移。首先,两个链A和B将相互注册。在注册过程中,A和B认识到它们的独立性。然后链将相互发送各自的创世块和ChainID(用于表示不同的链)。由于创世块包含验证者信息,因此在注册后,A和B链将具有另一条链的验证者信息以及区块头信息。

    现在,需要将A中的资产转移到B。首先用户可以将跨链交易包Tx发送到A。A执行packageTx,销毁或锁定相关资产,然后将packageTx写入出口。出口可视为放置所有外部通知的跨链交易的邮箱。

    为了将在链A中发生的事件通知链B,需要一个中继器。中继器负责将跨链消息从链A的出口转发到链B的出口。在这种情况下,中继器在链A的出口中查询packageTx,并获得packageTx的Merkle证明。该信息被打包到IBC Package PostTx事务中并发送到链B,链B查询关于packageTx位置的区块头信息。它还将区块头信息打包到IBCUpdate Chain Tx中,并将其发送到链B。注意中继器支付了IBC Package PostTx和IBCUpdate Chain Tx的交易成本。

    链B接收到IBCPacketPostTx事务后,它首先通过该链中的验证器检查IBCUpdateChainTx中的区块头是否为链A的一部分,然后验证IBCPacketPostTx中跨链事务的Merkle证明是否等于该区块IBCUpdateChainTx中的头哈希。当所有支票都通过时,B链开始执行相关操作(对于B链,这意味着生成相关资产等)。

    同构跨链实现方法

    Cosmos中的跨链由IBC协议实现。 Cosmos生态系统中定义了以下IBC协议软件包:IBCRegisterChainTx,IBCUpdateChainTx,IBCPacketCreateTx,IBCPacketPostTx。

    IBCRegisterChainTx

    在跨链的开头使用以下代码注册和发送创世纪区块。验证者会将其交给另一方。此代码只能执行一次,多次执行将报告错误。

    type IBCRegisterChainTx struct {
    BlockchainGenesis
    }

    type BlockchainGenesis struct {
    ChainID string
    Genesis string
    }

    IBCUpdateChainTx

    用于将当前链上的最新区块信息,区块高度和区块头信息传输到另一个链。

    type IBCUpdateChainTx struct {
    Header tm.Header
    Commit tm.Commit
    // TODO: NextValidators
    }

    IBCPacketCreateTx

    当链条接收到交易包时,它将执行跨链交易并将相关信息放入出口。

    type IBCPacketCreateTx struct {
    Packet
    }
    type Packet struct {
    SrcChainID string
    DstChainID string
    Sequence uint64
    Type string // redundant now that Type() is a method on Payload ?
    Payload Payload
    }

    IBCPacketPostTx

    跨链交易执行后,此软件包包含Merkle证明,然后由中继器将其发送到另一个链。

    type IBCPacketPostTx struct {
    FromChainID string

    // The immediate source of the packet, not always Packet.SrcChainID
    FromChainHeight uint64

    // The block height in which Packet was committed, to check Proof
    Packet
    Proof *merkle.IAVLProof // Merkle证明
    }

    plugin

    从上面的协议我们可以看到,这些协议包实际上是一个事务。Tendermint有一个plugin模块,以方便我们扩展。 我们可以在plugin中实现接口,并使用IBC plugin执行跨链交易。

    type Plugin interface {

    // Name of this plugin, should be short.
    Name() string

    // Run a transaction from ABCI DeliverTx
    RunTx(store KVStore, ctx CallContext, txBytes []byte) (res abci.Result)

    // Other ABCI message handlers
    SetOption(store KVStore, key, value string) (log string)
    InitChain(store KVStore, vals []*abci.Validator)
    BeginBlock(store KVStore, hash []byte, header *abci.Header)
    EndBlock(store KVStore, height uint64) abci.ResponseEndBlock
    }

    上面的代码是plugin接口的定义。可以看出,该plugin与ABCI接口非常相似,因此IBC事务在deliverTx处交给了该plugin。

    // ABCI::DeliverTx
    func (app *BaseApp) DeliverTx(txBytes []byte) (res abci.Result) {
    // Exec tx
    switch tx := tx.(type) {
    case *types.SendTx:
    // 执行正常交交易
    case *types.AppTx:
    // 执行plugin中的交易
    plugin := pgz.GetByName(tx.Name)
    res = plugin.RunTx(cache, ctx, tx.Data)
    return res

    default:
    return abci.ErrBaseEncodingError.SetLog("Unknown tx type")
    }
    return res
    }

    异构跨链PegZone

    对于使用POW共识算法的链,例如比特币和以太坊,它们如何使用Tendermint的IBC协议跨链运作?由于这些链中使用了POW算法,因此我们无法通过验证器验证这些链的区块。我们也无法使用Merkle证明来证明这些链上跨链交易的合法性。此外,POW共识算法生成的区块是概率性最终的,并且有可能被回滚。我们需要确保跨链交易是真正的最终交易,并且不会回滚。

    基于以上考虑,我们使用PegZone方案执行异构跨链。PegZone本身实际上是Tendermint开发的代理链,它实时跟踪原始链的状态,并设置安全阈值以等待原始链块的增长。当数字达到安全阈值时,原始链状态被视为具有伪实时终结性(回滚概率小),这与轻客户端钱包验证的原理相同。例如比特币安全阈值通常设置为6,而ETF安全阈值可以设置为20或100。PegZone本身具有实时确定性,可以通过IBC连接到Cosmos Hub以实现跨链。

    下图使用PegZone或Peggy以及以太坊作为跨链接的示例。

    从上图可以看出,PegZone可分为五个部分:

    1. smart contract:资产托管在以太坊和Cosmos中代币托管中的作用。它主要提供四种方法:锁定,解锁,铸造和销毁。
    2. witness:这是一个完整的以太坊节点,它监视以太坊合约的事件并等待生成100个区块。封装的见证人Tx被提交给PegZone以证明以太坊区块链上的状态变化。
    3. PegZone:PegZone是基于Tendermint的区块链,可维护用户帐户信息,允许用户之间进行资产转移并提供交易查询。
    4. signer:Secp256k1用于签名交易,以便可以通过智能合约有效地验证签名;这对应于智能合约的验证者公钥集。
    5. relay:relay负责所有事务转发。该角色将已签名的SignTx转发到智能合约。

    Cosmos Hub角色

    在Cosmos中的basecoin跨链演示中,两个链(链A和链B)被跨链接,并相互发送IBC注册链Tx进行注册。 跨链时,将直接发送IBC协议包以执行资产的跨链操作。但是这种直接连接有问题。随着访问网络的区域(相当于一个独立的区块链)的数量增加,如果直接实现通信,链接的数量将以平方的顺序增加。以连接到网络的100个区域为例。 果每个区域直接需要建立IBC连接,则网络需要n(n-1)/ 2 = 4950个通信链路。如此快速的增长显然将压倒整个网络。

    Hub的概念可以解决有关此问题的问题。在Cosmos生态系统中,所有区域都将注册并向集线器发送IBC软件包。

    Hub运行模式

    Hub管理许多区域。所有区域都需要向Hub注册。Hub跟踪每个区域的状态。每个区域将其产生的所有新区块信息报告给Hub。同时每个区域还需要同步Hub的状态。每个区域不是通过区域之间直接通信,而是通过将IBC发送到Hub进行间接通信。

    当区域建立与Hub的IBC连接时,它可以自动访问连接到Hub的其他区域,这意味着一个区域不需要连接到其他区域。

    当一个区域从连接到Hub的另一个区域接收令牌时,它只需要信任Hub和该区域,而不必信任网络中的所有其他区域。

    本文相关推荐: 加密货币系统详解

    以上便是知世金融网给大家分享的关于跨链:详解Cosmos跨链间是如何相互通信/qkl/28660.html的相关信息了,希望能帮助到大家,更多金融相关信息,敬请关注知世金融网!

    网站内容均来自互联网,如侵害您的利益联系客服进行删除!

    关键词:详解
    (0)
    (0)

    上一篇:区块链其实是由这早期就有的4大核心技术组成,你知道几个?

    下一篇:Borromean环签名是如何实现匿名转账的?

    本文标题:跨链:详解Cosmos跨链间是如何相互通信

    本文地址:/index.php?s=article&c=search&keyword=%E8%AF%A6%E8%A7%A3

    金融知名领域

    南方财富网 | 金融界 | 金融界 |

    更多推荐

    • 茅台吃饱,经销商哭倒
      茅台吃饱,经销商哭倒
    • 汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
      汇金的五次增持从短期看具有一定的“稳定器“作用,但从市场表现看效果逐次递减
    • 158亿元!比亚迪收购!
      158亿元!比亚迪收购!
    • 9月价格回落近五成 “冷静期”酒店业备战“十一”市场
      9月价格回落近五成 “冷静期”酒店业备战“十一”市场
    • 2023哈马博览会哈尔滨银行展区精彩纷呈
      2023哈马博览会哈尔滨银行展区精彩纷呈
    • 大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
      大额解禁撂倒股价 医疗影像龙头跌出千亿俱乐部 葛兰二季度大幅减仓
    • A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
      A股,又上了热搜!数字要素概念走高多股涨停,锂电池板块走低恩捷股份大举跌停
    • 最新!巨头出手,加仓宁王51%
      最新!巨头出手,加仓宁王51%
    • 600亿巨头暴雷
      600亿巨头暴雷
    • 一天32家!科创板回购潮涌来
      一天32家!科创板回购潮涌来
    • 提振信心实招来了!30余家上市公司密集出手 最高要买10亿
      提振信心实招来了!30余家上市公司密集出手 最高要买10亿
    • 高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成
      高盛再发50年后预测:2075年印度股市全球市值占比将升4倍 中国升3成

    新闻资讯栏目

    站长QQ: 2397470084