wp区块链资讯网站源码分享(区块链免费源码)

大家好,今天来为大家分享wp区块链资讯网站源码分享的一些知识点,和区块链免费源码的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

序言

小雪的文章中技术内容,基本上是从各大技术论坛进行阅读理解,然后转发到币乎平台让大家增加些技术性的知识;

如果已阅读过此文章的请忽略,如果未读切对区块链技术有兴趣的同学建议认真阅读,您可以留言与小雪进行互动;

技术原文内容

跨链加密货币资产转移是开发团队在Cosmos中实现的核心功能。在Cosmos生态中,加密资产可以通过IBC协议进行转移。IBC协议是一种能够促进互操作能力的跨链通信协议(Inter-BlockchainCommunicationProtocol)。值得一提的是,IBC协议只有在转出和转入区块链都具有最终性时才能使用。

但是,比特币和以太坊都不具有最终性保证;他们都是概率最终性。[注:不久的将来CaspertheFriendlyFinalityGadget(FFG)实现后,以太坊会具有最终性。(编者注:中译本见文末超链接)]概率最终性意味着,随着某个区块后面的链的长度的增加,这条链也就更不容易被重新组织,也就更能让我们相信这个区块是“最终的”。但是因为概率最终性不能完全防止区块链的重新组织,所以通过IBC协议安全地跨链转移资产是不可行的。这就提出了一个问题:Cosmos分区(Zone)是如何与已经存在的不具有最终性的区块链进行互操作的。

挂钩分区(PegZone)

挂钩分区是Cosmos的解决方案。一个挂钩分区是一条基于账户模式的区块链,它将Cosmos中的分区与像Bitcoin、Ethereum这样的外部的区块链连接起来。它扮演了一个适配器分区的角色;或者是像在Casper演讲中说的那样,它是一个“最终性工具”。通过设定一个“最终性阈值”,当区块链中新增一定数量的区块后认为区块链具有了伪最终性(Pseudo-finality)。一般来说,这种“连接”分区设计可以被认为是一种两路挂钩(2WP)。

像TendermintCore这样的共识引擎提供了实时最终性。如果想更好的了解它是如何工作的,请阅读关于Tendermint共识的更多内容

连接以太坊

以太坊挂钩分区将是Cosmos中第一批实现的这种分区之一。它与Ethermint非常不同,后者剥离了PoW挖矿,然后在Tendermint共识机制和新的网络协议栈之上实现EVM。而以太坊挂钩分区会使得ERC20代币和以太币能够在原生的以太坊和Cosmos网络中通过IBC连接的所有分区间转移。

挂钩分区的细则还在开发中,你可以关注它的Github代码库:Peggy,下面是仓库链接。

CosmosGitHub:

Peggy:https://github.com/cosmos/peggy

Peggy

在Cosmos中,因为我们可以使用IBC协议转移任何加密资产,所以容易进行互操作。然而,在Cosmos和以太坊之间转移加密货币在技术上是十分复杂的,这是因为IBC数据包不能以太坊中被高效地解码。这又是因为EVM没有设计成与IBC兼容。这些问题只有Peggy才能解决。

Peggy有一个曲折的开端。第一个尝试把Cosmos和以太坊连接起来的是一个叫ETGate的黑客马拉松项目,但后来证实ETGate需要大量消耗Gas。ETGate是由Joon设计的,他是第二届HackAtom的大奖获得者。他也加入了Cosmos开发Peggy。

ETGate最初尝试直接将Cosmos枢纽(Hub)和以太坊连接起来的。它尝试在EVM内部编译出兼容性。就像这样:

[以太坊]<-ETGate->[Cosmos枢纽]

当面对Tendermint和以太坊使用不同的构件的问题时,这种设计是非常不实用的。Tendermint中使用的每一个基础构件都与以太坊中的基础构件不兼容。事实证明,尝试在EVM中客服兼容性问题、构建可互操作区块的成本非常昂贵。

以下是构建可互操作区块的模块分析:

序列化格式:Tendermint的序列化对象的编码方法是go-wire。以太坊用的是RLP(RecursiveLengthPrefix)。签名方案:Tendermint使用的是ed25519,而以太坊用的是secp256k1。数据结构:Tendermint把键值对存在IAVL+树中,而以太坊把它们存在Patricia树中。

ETGate的设计消耗大量计算资源,因为它在EVM中解码IBC数据包。IBC数据包中的内容是Tendermint头、交易、IAVL+树证明和ed25519签名。

在意识到我们可以通过把解析转换机制放在EVM之外,即定制的区块链中完成,此方式将节省大量Gas,Peggy的设计思路就变得清晰了。

Peggy的5个组成部分

以太坊智能合约:将会有一组以太坊智能合约扮演资产保管人的角色,它们能够保管以太坊中的代币和Cosmos中的代币。见证人(Witness):见证人组件能够证明以太坊中发生的事件。100个区块(也就是最终性门槛)产生之后,见证人会在不具有最终性的区块链上实现伪最终性。它运行一个完全验证的以太坊节点,以便通过将WitnessTX提交到挂钩分区中来证明以太坊中的状态更改。我们在这里使用一个共享的安全模型,让一组Cosmos枢纽验证人同时作为挂钩分区的见证人。挂钩分区:挂钩分区是建立在Tendermint上的,用于连接不同类型区块链。它允许用户执行或者查询交易。这就是Cosmos如何与以太坊进行通信的。签名者:签名者使用以太坊能够解析的secp256k1签名方案对信息进行签名,以便智能合约能够高效地验证签名。签名组件通过SignTx消息生成一个secp256k1签名并将其发布到挂钩分区中,以便在管道中的智能合约中转发事务进行验证。中继器:中继器组件批量转发交易信息。这些交易由签名者模块进行签名后被转发到以太坊智能合约中。

总结

现实世界中的例子:把Cosmos中的代币转到以太坊中

例如,你想取出一些Cosmos的Photon代币并且把他们变成等值的以太币。该怎样利用Peggy完成的呢?为简单起见,我们会略去低层次的技术细节,只描述主要的流程。

首先从Cosmos枢纽中开始。你先通过IBC协议把一些Photon转移到挂钩分区中。挂钩分区接收到传来的IBC数据包:一个包含发送Photon代币的消息。签名者监视着这个挂钩分区并且对这些IBC交易进行签名,高效的把这些签名转换为以太坊能解析的secp256k1格式的私钥。这样一来,你的交易就在挂钩分区上完成了签名。关注这个挂钩分区的中继器等到他们看到超过2/3的签名者这个交易进行了签名,然后将你签署的交易批量处理为通过IBC发送的所有其他交易的清单。然后他们把附有签名的列表转发到以太坊智能合约运行的EVM上。以太坊智能合约接下来检查交易列表是否有效。针对Photon智能合约会生成它的ERC20版本。智能合约产生ERC20Photon之后,它将ERC20Photon发送到你在以太坊主网中的地址上。此时,你可以方便地通过例如0xprotocol或是OmiseGO这样的ERC20去中心化交易所(DEX)把ERC20Photons转换成ETH。

最后

我们正在进行Peggy的早期设计。相关以太坊智能合约已经编写完成并且正在进行测试。在许多方面上,Peggy甚至比Cosmos枢纽更加复杂。为了使其能正确的运行,Peggy将需要进行数次迭代。大家可以期待Peggy在今年下半年上线,也就是在Cosmos主网上线后。对于以太坊项目而言,很多问题都亟待解决:可扩展性解决方案的需求,吞吐量的增加以及降低运行成本。以上问题都十分重要。因此,Peggy的部署是重中之重,在开发其余生态系统项目的同时,Cosmos/Tendermint团队已经将其大部分资源用于Peggy的开发。

正在进行的工作

以太坊智能合约一旦部署之后就无法修改,因此非常难以更新。在智能合约更新管理方面还缺乏组织结构。Peggy的发展路线图迫使我们应对这种不确定性,但这是我们希望能够产生具体解决方案的一个研究领域。

原文地址:

https://blog.cosmos.network/the-internet-of-blockchains-how-cosmos-does-interoperability-starting-with-the-ethereum-peg-zone-8744d4d2bc3f

好了,文章到此结束,希望可以帮助到大家。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平