Fabric基础架构原理(3):通道的结构
2025-11-04 01:58:53阅读量:17 字体:大 中 小
本文选自新书《区块链核心技术与应用》,略有删节。上期介绍了Fabric基础架构的共识与交易机制,本次介绍Fabric私密交易方式:通道的结构。通道是Fabric中非常重要的概念,它实质是由排序节点划分和管理的私有原子广播通道,目的是对通道的信息进行隔离,使得通道外的实体无法访问通道内的信息,从而实现交易的隐私性。5hZ北海亭 - 区块链数字货币实时行情平台
目前通道分为系统通道(System Channel)和应用通道(Application Channel)。排序节点通过系统通道来管理应用通道,用户的交易信息通过应用通道传递。对一般用户来说,通道是指应用通道。系统通道与应用通道的关系如图10-5所示:5hZ北海亭 - 区块链数字货币实时行情平台
5hZ北海亭 - 区块链数字货币实时行情平台
系统通道与应用通道5hZ北海亭 - 区块链数字货币实时行情平台
通道由排序服务节点负责管理,同时该节点还负责排序通道中的交易。在通道中一般包含有若干成员(组织),若两个网络实体的身份证书能够追溯到同一个根CA,则认为这两个实体属于同一组织。此外,通道中的每个组织都会有一个或以上的“锚节点”,它负责与其他组织交换共享账本的数据。5hZ北海亭 - 区块链数字货币实时行情平台
创建通道的时候定义了成员,只有通过成员MSP验证的实体,才能够加入到通道并访问通道数据。一个验证例子如下:5hZ北海亭 - 区块链数字货币实时行情平台
Org1 是通道 mychannel 的成员之一,与 Org1 绑定的 MSP 标识为 Org1MSP,其代表的 CA 称为 CA1;若实体的 MSP 满足以下条件则认为实体有权限访问 mychannel 的数据:5hZ北海亭 - 区块链数字货币实时行情平台
实体的MSP标识(ID)为 Org1MSP;5hZ北海亭 - 区块链数字货币实时行情平台
实体身份证书的信任链源头为 CA1.5hZ北海亭 - 区块链数字货币实时行情平台
实体只要满足通道中任意成员的 MSP 校验,则认为该实体有权限访问通道中的数据。5hZ北海亭 - 区块链数字货币实时行情平台
1.通道的配置5hZ北海亭 - 区块链数字货币实时行情平台
通道的配置信息都被打包到一个区块中,并存放在通道的共享账本中。该区块除了配置信息外不包含其他交易信息,称之为通道的配置区块(Configuration Block)。通道可以使用配置区块来更新配置,因此在账本中每新添加一个配置区块,通道就按照最新配置区块的定义来修改配置。通道账本的首个区块一定是配置区块,也称为初始区块(Genesis Block)。5hZ北海亭 - 区块链数字货币实时行情平台
2.使用configtxgen工具生成通道的配置5hZ北海亭 - 区块链数字货币实时行情平台
configtxgen是Fabric提供的工具,用于生成通道所需要的配置文件。configtxgen工具以一个yaml文件作为输入,一般称为 configtx.yaml,该文件定义了将要创建通道的配置信息,该文件通常包括以下部分:5hZ北海亭 - 区块链数字货币实时行情平台
1)Profiles: 包含了通道的配置模板,通过configtxgen工具的参数 -profile 来指定使用哪个模板。5hZ北海亭 - 区块链数字货币实时行情平台
2)Organizations: 定义了组织以及与之相应的 MSP。5hZ北海亭 - 区块链数字货币实时行情平台
3)Orderer: 定义系统通道的相关配置,如排序节点地址、共识算法。5hZ北海亭 - 区块链数字货币实时行情平台
4)Application: 定义应用通道相关配置,被 profile 引用。5hZ北海亭 - 区块链数字货币实时行情平台
以下面的配置文件configtx.yml为例,解释如何通过 configtxgen 创建通道的初始区块。 configtx.yml 清单如下:5hZ北海亭 - 区块链数字货币实时行情平台
5hZ北海亭 - 区块链数字货币实时行情平台
5hZ北海亭 - 区块链数字货币实时行情平台
上面的 profile 定义了系统通道和应用通道两种不同类型的通道。5hZ北海亭 - 区块链数字货币实时行情平台
系统通道必须定义 Orderer 和 Consortiums 两部分,应用通道必须定义 Application 和 Consortium 两部分。 (更详细的说明请参看 哈希1024社区文章[需粘贴地址到浏览器]:https://hash1024.org/topics/50 )5hZ北海亭 - 区块链数字货币实时行情平台
定义好 yaml 文件后,需要把 configtxgen 工具以及 msp 目录都拷贝到yaml文件的所在的目录下,configtxgen 默认会读取当前目录的 configtx.yaml 作为输入:5hZ北海亭 - 区块链数字货币实时行情平台
1)创建排序节点的初始区块:5hZ北海亭 - 区块链数字货币实时行情平台
configtxgen -profile Genesis -outputBlock genesis.block5hZ北海亭 - 区块链数字货币实时行情平台
该命令通过 profile 参数来指定生成 yaml 文件中 Profile.Genesis 的配置,通过 -outputBlock 参数来将区块写入 genesis.block 文件。5hZ北海亭 - 区块链数字货币实时行情平台
2)创建应用通道 mychannel 的初始区块的交易文件 channel.tx:5hZ北海亭 - 区块链数字货币实时行情平台
configtxgen -profile Channel -outputCreateChannelTx channel.tx -channelID mychannel5hZ北海亭 - 区块链数字货币实时行情平台
该命令通过-outputCreateChannelTx参数将生成的交易写入channel.tx文件,通过-channelID来指定创建通道的名称为mychannel。5hZ北海亭 - 区块链数字货币实时行情平台
3)创建配置区块的交易文件Org1MSPanchors.tx以更新mychannel中PeerOrg1的锚节点:5hZ北海亭 - 区块链数字货币实时行情平台
configtxgen -profile Channel -outputAnchorPeersUpdate Org1MSPanchors.tx -channelID mychannel -asOrg PeerOrg1MSP5hZ北海亭 - 区块链数字货币实时行情平台
该命令通过-asOrg来指定使用PeerOrg1MSP身份创建配置区块,并且通过-outputAnchorPeersUpdate参数将配置区块写入到文件Org1MSPanchors.tx中。5hZ北海亭 - 区块链数字货币实时行情平台
类似地,创建配置区块的交易文件 Org2MSPanchors.tx 以更新 mychannel 中 PeerOrg2 的锚节点:5hZ北海亭 - 区块链数字货币实时行情平台
configtxgen -profile Channel -outputAnchorPeersUpdate Org2MSPanchors.tx -channelID mychannel -asOrg PeerOrg2MSP5hZ北海亭 - 区块链数字货币实时行情平台
3.通道相关命令5hZ北海亭 - 区块链数字货币实时行情平台
对通道的管理可通过命令行的方式,与通道相关的命令如下:5hZ北海亭 - 区块链数字货币实时行情平台
peer channel create: 用于创建通道,主要参数有-c, -f, -o分别用于指定通道ID, configtx的路径和orderer的地址。5hZ北海亭 - 区块链数字货币实时行情平台
peer channel fetch:抓取通道中的特定区块,通过-c和-f参数来指定通道ID和orderer地址。5hZ北海亭 - 区块链数字货币实时行情平台
peer channel join:加入通道,通过-b参数指定初始区块。5hZ北海亭 - 区块链数字货币实时行情平台
peer channel list:列出peer加入的通道。5hZ北海亭 - 区块链数字货币实时行情平台
peer channel update :签名并且发送configtx以升级通道配置,需要通过-c, -f, -o参数分别指定通道ID, configtx的路径以及排序节点的地址。5hZ北海亭 - 区块链数字货币实时行情平台
4.动态修改通道配置5hZ北海亭 - 区块链数字货币实时行情平台
在通道创建后,通道相关的配置以区块的形式存在于通道的账本中。如果需要修改通道的配置,可通过生成新的配置区块去更新。修改通道配置的步骤如下:5hZ北海亭 - 区块链数字货币实时行情平台
1)通过sdk或CLI获得最新的配置区块。5hZ北海亭 - 区块链数字货币实时行情平台
2)编辑配置区块。5hZ北海亭 - 区块链数字货币实时行情平台
3)计算配置更新量。5hZ北海亭 - 区块链数字货币实时行情平台
4)为配置区块添加配置更新量。5hZ北海亭 - 区块链数字货币实时行情平台
5)sdk或CLI签名并发送配置区块。5hZ北海亭 - 区块链数字货币实时行情平台
若新的配置区块通过验证,则通道配置以最新配置区块为准。具体操作流程请参考后文修改通道配置。5hZ北海亭 - 区块链数字货币实时行情平台
(未完待续)5hZ北海亭 - 区块链数字货币实时行情平台
(来源:亨利笔记)5hZ北海亭 - 区块链数字货币实时行情平台
免责声明:
本文《Fabric基础架构原理(3):通道的结构》版权归原作者所有,内容不代表本站立场!
如本文内容影响到您的合法权益(含文章中内容、图片等),请及时联系本站,我们会及时删除处理。
推荐阅读

Yuga Labs:不会再控制CryptoPunks!使其成完全去中心化数字藏品
4GM数字认知网 - 区块链数字货币实时行情平台NFT界的元老级项目CryptoPunks,在被无聊猿背后的母公司Yuga Labs收购后,今日迎来治理上的重磅消息。Yuga Labs共同创办人兼执行...
阅读: 85

足球巨星C罗携手币安推出第四个NFT系列!29日上线币安NFT市场
fny数字认知网 - 区块链数字货币实时行情平台传奇足球巨星C罗(Cristiano Ronaldo)几天前的推文透露,其将与交易所币安合作推出第4个NFT系列,将于29日正式上线币安NFT市场。然而...
阅读: 91

Xociety启动NFT质押系统!首两周代币NTx两倍送
50k数字认知网 - 区块链数字货币实时行情平台链游板块经历了牛熊市的洗礼后仍持续发展,并在今年成为加密社群瞩目的焦点。代表性的代币如YGG、GALA、MBOX今年以来的表现都相当不错。50k数字认知...
阅读: 64

胖企鹅NFT蹭LayerZero空投!但代币分配提案引起社群极大反弹
QWI数字认知网 - 区块链数字货币实时行情平台全链互操作协议LayerZero即将空投,超过数千个围绕LayerZero构建的项目正申请配合其代币分配,其中就包含知名蓝筹NFT项目胖企鹅(Pudgy...
阅读: 97

引领加密潮流!英国将发行官方NFT 稳定币纳入支付框架
6i7数字认知网 - 区块链数字货币实时行情平台根据《CNBC》报导,英国政府宣布将铸造非同质化代币(NFT),希望英国能在加密货币领域成为世界领导者。英国财政部经济事务秘书John Glen在一场金...
阅读: 85

Web3游戏王来袭? Konami合作AVAX开发商Ava Labs推NFT平台Resella
OJD数字认知网 - 区块链数字货币实时行情平台天本游戏巨头Konami Digital Entertainment(下称Konami),在2023年9月的东京电玩展(TGS2023)上,宣布将推出N...
阅读: 86

数字艺术家Beeple将举办Pepe艺术展!提交作品有望获得免费门票
MF1数字认知网 - 区块链数字货币实时行情平台美国知名数字艺术家Beeple,将在8月10日于南卡罗来纳州的Charleston举办Pepe艺术展!并公开募集艺术品,入选者将可获得活动免费门票!MF...
阅读: 102

OpenSea要求美国SEC厘清:NFT市场不是交易所或经纪商
mnn数字认知网 - 区块链数字货币实时行情平台美国NFT龙头平台OpenSea正式向监管机关喊话,要求美国证管会(SEC)明确表态:NFT市场不应被纳入 联邦证券法中的「交易所」或「经纪商」定义范畴...
阅读: 70

一文了解Ubisoft搞NFT、链游失败?分割旗下刺客信条三大IP设子公司 腾讯入股12.5亿美
Kkh数字认知网 - 区块链数字货币实时行情平台加拿大游戏大厂育碧Ubisoft今(28)宣布成立专责《刺客信条》、《极地战嚎》、《虹彩六号》三大新子公司,目的是为了获取由腾讯腾讯11.6亿欧元巨额投...
阅读: 100

美国司法部深入调查泰达币:1:1美元储备再遭质疑,投资者如何避险?
数字认知网报道:u7n数字认知网 - 区块链数字货币实时行情平台近期,美国司法部对泰达币展开了深入调查,这一消息在加密货币市场引起了轩然大波。泰达币作为全球最大的稳定币之一,一直宣称与美元保持1:1的...
阅读: 77
猜你喜欢

比特币作为风险资产的演变角色:市场压力事件的教训
2025-11-10

Visa 称稳定币或将改变价值 400 亿美元的全球信贷市场
2025-11-10

比特币在市场压力事件中的角色演变:从投机资产到宏观经济风向标
2025-11-10

为什么$MOBU是后SOL时代被低估的宝石
2025-11-10

XRP 大幅上涨 100%:市场方向逆转?
2025-11-10

Hyperliquid 创始人否认盈利传闻,称风险控制优先
2025-11-10

罗伯特·清崎:法定货币正在消亡——真正的货币存在于加密货币中
2025-11-10
