宇宙链 宇宙链
Ctrl+D收藏宇宙链

在Fabric、 Quorum以及Corda之间实现跨链,超级账本的集成框架是这样的

作者:

时间:1900/1/1 0:00:00

当前区块链平台的数量正在迅速增长,这对于行业而言无疑是一件好事,但区块链之间信息孤岛的问题,一直是个未解难题。

在公链领域,比特币和以太坊是最大的两个公链,因此很多跨链协议主要解决的就是这两大区块链之间的通信问题。

而在联盟链领域,IBM的Fabric、摩根大通的Quorum以及R3的Corda是企业使用最多的区块链框架,那如何去实现这些联盟链之间的通信呢?

在去年的时候,埃森哲宣布,他们开发并测试了两个解决方案,这使得两个或多个主要的联盟链生态系统能够进行集成。从那时起,Hyperledger联盟开发了一个新的解决方案,专门为没有中央连接者节点的许可区块链创建,而这个新的区块链集成框架,被称为HyperledgerLab。

而这个区块链集成框架的设计原则是这样的:

在不同联盟链账本之间实现直接传输;

可插拔模型和组件;

灵活的需求和数据协议;

利用预先存在的角色;

这个区块链集成框架为每个可互操作的区块链引入了一个“互操作性验证者”覆盖网络。

互操作性验证者将通过验证本地节点的账本版本来共同处理来自本地节点的导出请求。每个请求都由验证者签名的最低quorum数应答。即使某些验证者关闭或不参与,网络也可以继续工作,前提是可以保证最低quorum数。任何安全的链外通信系统,都可以传递由分布式账本的传输验证者认证的消息。而来自外部分布式账本的证明,可以由接收者在本地或使用链上逻辑根据该外部分布式账本的传输验证者的公钥进行验证。

而下面这个教程,演示了如何在Fabric、Quorum以及Corda网络之间传输简单资产。

外媒:Meta计划今年五月在Facebook上率先启动NFT试点计划:4月8日消息,根据英国《金融时报》获得Meta公司最新披露的一份备忘录显示,该公司已经给NFT和区块链技术集成到旗下应用和服务中设定了一个粗略的时间表,并计划在今年五月率先在Facebook上启动NFT试点计划。

该试点上线之后,Facebook将迅速跟进一项新功能,即让拥有特定NFT的用户获得Facebook群组的会员资格。此外,Facebook还将启动一个NFT铸造项目,未来会通过费用和广告等手段变现。(Kotaku)[2022/4/8 14:12:04]

一、部署先决条件

Docker

Docker-compose

Node.jsnpm>=5.6,node>=8.9

Fabric1.4

JDK8

注意:FabricSDK有更严格的引擎要求

脚本和以下命令只在Ubuntu18.04上测试过

一、安装程序

由于该示例运行在HyperledgerFabric和Quorum上,因此我们首先需要安装并运行这两种结构的本地网络。考虑到我们需要运行2个或更多的DLT网络,演示的首选设置是在Docker容器中,目前我们还没有支持手动安装。我们将部署2条对接的区块链,我们建议在不同的机器上部署环境:例如,在一台机器上部署Fabric区块链和相关联盟,在另一台机器上部署Quorum区块链和相关联盟。

导航到示例文件夹:cdexamples/simple-asset-transfer?安装npm依赖项:npmi

F1车手Pierre Gasly将在Fantom NFT市场Artion上拍卖首批NFT:10月20日消息,F1车手Pierre Gasly将在Fantom NFT市场Artion上拍卖首批NFT,拍卖将于北京时间10月20日22:00开始,拍卖的NFT共三份,分别为了纪念Pierre Gasly在2019年至2021年期间三次在F1赛事中获奖,成功竞拍NFT的用户还将获得与PierreGasly的见面机会以及签名帽子等礼物。本次拍卖将会使用wFTM进行出价,拍卖结束后,Artion还将在10月22日出售另外350份NFT,用户可使用wFTM、TOMB、ZOO进行购买。[2021/10/20 20:43:33]

导航到示例FabricAPI文件夹:cdexample/simple-asset-transfer/fabric/api?安装npm依赖项:npmi

导航到示例QuorumAPI文件夹:cdexample/simple-asset-transfer/quorum/api安装npm依赖项:npmi

有关可用命令,请查看examplepackage.json,它在简单资产转移文件夹中:catpackage.json。

1、1Fabric区块链

要运行Fabric区块链,你可使用以下脚本:

npmrunfabric

这将自动为Fabric节点拉取必要的镜像,并运行一个由同一通道内的2个组织划分的4个节点组成的环境,以及监听端口4000的FabricSDK。如果你已经有一个进程在监听端口4000,那么你可以在Fabricapi配置文件Fabric/api/config.json中更改它。注意:一些bash脚本将直接引用在端口4000上运行的应用程序,如果你更改了FabricSDK端口,完成后,你可能需要自己终止应用程序。

YFI创始人Andre Cronje在Fantom推出Loot仿盘游戏Rarity:9月5日,Yearn.finance创始人Andre Cronje(AC)发布博客,称赞了Dom Hofmann推出的Loot游戏的是鼓舞人心的。受此启发,AC决定在Fantom推出Loot仿盘游戏Rarity,玩家每天可以通过冒险赚取xp经验值,一旦获得了一定量的xp,就可以升级。游戏共有11个角色,分别是野人、游吟诗人、牧师、德鲁伊、展示、僧侣、圣骑士、游侠、巫师、法师。Rarity总量没有限制,任何人都可以在Rarity合约完成铸造。目前,已经有6.2万枚Rarity被铸造出来。

AC称,游戏是他的个人爱好,并非其全职项目(全职项目只有Fantom 和 Keep3r),如果有愿意参与游戏建设的可以与他联系或者在github提交PR。[2021/9/6 23:02:34]

Fabric网络和SDK将在后台启动,你可以使用npmrunfabric:log显示Fabric节点输出,并使用catfabric/logs/start.log显示SDK输出。

或者,你可以使用Fabric/artifacts中的配置来遵循Fabric文档,并部署来自``fabric/contracts`的合约。

1、2Fabric联盟

要启用验证者的覆盖网络,我们需要在本地构建docker镜像?:

npmrunfed:build

然后,你就可以运行4个验证者的联盟:npmrunfed:fabric联盟验证者依赖于Fabric节点和连接器来执行区块链操作和验证,默认配置设置为在端口4000本地查找FabricSDK的运行实例。如果要在不同端口或其他计算机上运行FabricSDK,则相应地修改federations/docker-compose-Fabric.yml,为每个服务查找URL:“http://172.20.0.1:4000”,并修改字符串以指向正确的端点。

Cream Finance在Fantom启动:Cream Finance宣布在Fantom启动,共支持19种资产。此前SushiSwap已经在Fantom上启动。[2021/3/4 18:16:05]

联盟将在后台启动,你可以使用npmrunfed:fabric:log显示Fabric联盟验证者输出。

1、3Quorum区块链

要运行Quorum区块链,你可以使用以下脚本:

npmrunquorum

这将使用Tessera和RAFT运行一个由7个节点组成的Quorum网络,Tessera可能需要几分钟才能完全启动,你必须等待它,然后才能启动以下命令。当Tessera准备好时,你可以列出你的docker容器dockerps,并等待它们全部变为“健康”状态。

然后,你就可以构建npmrunquorum:api:build,然后运行自定义QuorumAPInpmrunquorum:api,QuorumAPI将默认使用端口5050、5051、5052和5053,你可以在Quorumapidocker-compose文件quorum/api/docker-compose.yml中更改它,为每个服务查找APP_PORT:505。

Quorum网络和SDK将在后台启动,你可以分别使用npmrunquorum:log和npmrunQuorumapi:log来显示Quorum节点和QuorumAPI输出。

1、4Quorum联盟

与Fabric联盟相同,为了启用验证者的覆盖网络,我们需在本地构建docker镜像:

动态 | eToro已在Facebook Libra上进行了标记资产试验:据Cointelegraph消息,总部位于英国的交易平台eToro 6月20日表示,已成功在Facebook的Libra协议上进行了一项发行代币资产的试验。根据Github信息,该公司最近推出的创新和研究分支eToroX成功地在Libra上推出了其eToken。[2019/6/21]

npmrunfed:build。如果你计划在同一台计算机上部署两个联盟,则不必重新生成镜像。

然后,你就可以运行4个验证者组成的联盟:npmrunfed:quorumQuorum联盟验证者依赖于Fabric节点和连接器执行区块链操作和验证,默认配置设置为在端口5050上本地查找FabricSDK的运行实例。如果要在不同端口或其他计算机上运行FabricSDK,则相应地修改federations/docker-compose-Fabric.yml,为每个服务查找URL:“http://172.20.0.1:5050”,并修改字符串以指向正确的端点。

1、5?Corda区块链

首先你需要建立和部署一个Corda网络,为此,你需要运行以下脚本:

npmruncorda:build

加载必要的组件和组装Corda节点的过程,可能会消耗你几分钟的时间。在成功部署Corda节点和web服务器后,你就可以运行Corda网络了。

要运行Corda区块链,你可以使用以下脚本:npmrunCorda

这将运行一个由5个节点和4个web服务器组成的Corda网络。部署过程大概需要几分钟的时间。

1、6Corda联盟

如上所述,如果你已经建立了docker镜像,那么你就不需要重建它了。建立完后,运行下脚本:

npmrunfed:build

然后,你就可以运行一个由4个验证者组成的联盟:npmrunfed:cordaCorda联盟验证者依赖于连接器来触发Corda流和验证。

联盟将在后台启动,你可以使用npmrunfed:corda:log来显示Corda联盟验证者输出。

二、场景

所有的场景都连接到了上面提到的三个区块链及其联盟。如果使用默认端口在本地运行所有内容,则可以前进并使用以下命令启动其中一个场景。否则,你将不得不修改位于场景文件夹/simple-asset-transfer文件夹中的配置文件,以匹配每个网络的正确url。

场景1:share-pub-key:npmrunscenario:share

从Corda、Quorum和Fabric区块链获取所有验证者的公钥,并在参与区块链之间共享它们。

步骤1为每个活跃的Corda验证者调用askForPubKey,并收集它们;

步骤2为每个活跃的Quorum验证者调用askForPubKey,并收集它们;

步骤3为每个活跃的Fabric验证者调用askForPubKey,并收集它们;

调用addForeignValidator,将Corda+Quorum的公钥存储到Fabric智能合约当中;

调用addForeignValidator,将Corda+Fabric的公钥存储到Quorum智能合约当中;

调用addForeignValidator,将Fabric+Quorum的公钥存储到Corda账本当中;

注:如果已经存储了公钥,则最后的步骤将失败,多次启动脚本将自动导致此问题。

场景2:?fabric到quorum:npmrunscenario:FtQ

场景3:quorum到fabric:npmrunscenario:QtF

场景4:?corda到quorum:npmrunscenario:CtQ

场景5:?corda到fabric:npmrunscenario:CtF

场景6:fabric到corda:npmrunscenario:FtC

场景7:quorum到corda:npmrunscenario:QtC

而上面的应用场景,就需要以下这些步骤:

步骤1调用createAsset在“导出链”上生成具有伪随机ID的标准资产;

步骤2调用lockAsset以注销指定“导出链”上目标公钥的资产;

步骤2.5调用getAsset以验证“导出链”上的资产状态;

步骤3为资产的报废调用askForSignature并收集验证者的签名;

步骤4调用verifySignature检查“导入链”上生成的证明;

步骤5调用copyAsset在“导入链”上创建导出资产的副本;

三、测试

测试有两个版本:本地单元测试和测试调用正在运行的区块链环境。要运行本地单元测试,可以在simple-asset-transfer文件夹中使用npmruntest。要运行扩展测试,则可以使用npmruntest:bc。注意:与场景类似,test:bc同时连接到Fabric和Quorum区块链。如果使用默认端口在本地运行所有内容,则可以继续,否则,你将不得不修改位于tests文件夹中的配置文件,以匹配每个网络的正确url。

四、未来的工作

集成HyperledgerIndy以管理不同区块链的互操作性验证者身份;

实现更复杂的互操作性用例;

测试可扩展性和性能;

集成更多联盟链平台;

在覆盖网络内实现保密通信,验证者网络应与本地账本的保密设置相匹配;

用BLS签名方案替换当前签名方案,以优化证明大小;

相关资料:

1、https://www.hyperledger.org/blog/2019/11/20/accenture-open-sources-blockchain-integration-framework-as-a-hyperledger-lab

2、https://github.com/hyperledger-labs/blockchain-integration-framework/blob/master/docs/tutorials/simple-asset-transfer.md

3、https://github.com/hyperledger-labs/blockchain-integration-framework

标签:FABABRFABRICBRIfab币矿机Labra FinanceFABRIC币

火必交易所热门资讯
李礼辉:中国在法定数字货币的研发上处于领先地位

本文来源:凤凰网财经《启谈》 作者:徐彩月 区块链站上风口,央行数字货币蓄势待发。10月24日,中共中央局会议强调区块链作为核心技术突破口在改善民生、智慧城市、促进信息与资金互联互通上具有重要作用,同时也指出区块链在数字金融及数字.

1900/1/1 0:00:00
恐慌情绪还未发酵,保持观望

监管政策层出不穷,BTC顺利跌破7000美元的关口,市场萧条的很,这次监管的重点放在交易所,确实今年一整年在强监管的政策下,新增的项目明显减少,但是与此同时涌出了较多的交易所,这些交易所普遍规模不大,通过上线一些垃圾币圈钱.

1900/1/1 0:00:00
Gartner:2027年,区块链将实现全球化和规模化

作者:张?月;王梓韬 来源:京东数字科技研究院在全球严峻的经济形势下,区块链成为近两年炙手可热的风口,区块链技术及其背后的社会经济价值业逐渐被越来越多的人关注.

1900/1/1 0:00:00
建议SEC“砍掉”IPO承销商,纽交所也玩起了IEO?

文|王也? 出品?|?Odaily星球日报“这不是币圈的IEO吗?”美东时间11月26日,纽约证券交易所向美国证券交易委员会提交了一份申请文件,建议修改关于直接上市的相关规定.

1900/1/1 0:00:00
诺奖得主Tirole:人类正面临新一轮货币战争,本轮战争很可能包含加密货币

钛媒体编辑:蔡鹏程 来源:钛媒体 编者注:原标题为《诺奖得主Tirole:人类正面临新一轮货币战争》 “本轮货币战争很可能不仅仅局限于有形的货币,还会包括虚拟货币、加密币,甚至会出现数字货币交易问题.

1900/1/1 0:00:00
增加对接交易所数量 切换新区块链,USDT市场占有率依然领先

USDT仍然是大多数加密交易者选择的稳定币。尽管有人批评Tether没有完全受到法币支持以及iFinex的银行问题,USDT仍然被广泛使用.

1900/1/1 0:00:00