首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Fabric简单国密改造实验方案

如果我们要改成通过配置形式让Fabric启动读取配置,然后决定使用国密算法还是美国那一套算法,则改动量特别大,而且判断地方也很多,比较难。...所以我打算直接从最底层SHA256、ECDSA、AES等算法进行替换,而且只是代码实现上替换,而所有的包名、对外接口(公共变量、公共方法)都保持不变,这样修改量特别小,出错可能性也降低了很多。...ecdsaecdsa,主要实现了: func GenerateKey(c elliptic.Curve, rand io.Reader) (*PrivateKey, error) func Sign...3.3 源码修改 有些地方,Fabric源码里面是写死了关于SHA256和ECDSA,比如前面提到过OID,Fabric也有对应OID,我们需要进行替换。...ccenv构建,需要把ChainCode依赖所有相关代码Copy到镜像,而这些依赖文件是从$GOPATH/src下copy过来

3.1K20

Hyperledger Fabric 网络与安全体系浅析

R4作为网络启动,需要先配置网络并设立O4排序节点!网络创建后,添加R1作为网络管理员,因此,R1和R4可以对网络进行配置(NC4)。...Fabric智能合约是链码,把链码存储节点文件系统上称为安装智能合约,安装后还需要在特定通道上启动和实例化链码,至此,应用可以发送交易 proposal 至背书节点了(需要遵守链码设置背书策略...通道每一个节点都是提交节点,可以接收新区块(来自排序节点)进行验证,并提交至账本;而部署了链码一些节点则可以成为背书节点。 定义新联盟、创建通道 在网络定义新联盟并加入C2通道。...加入节点并部署智能合约与应用 值得注意是,有些节点会同时加入多个通道,不同业务扮演不同角色,其他流程同上。...现有的系统成员需要制定加入成员规则,比如进行多数投票等;现有成员也需要决定网络和智能合约更新和改变,这样能够很大程度上防止恶意节点破坏系统安全性;现有节点不能自行升级权限;除此之外,还需要决定系统通用数据模型等设置

77510
您找到你想要的搜索结果了吗?
是的
没有找到

Hyperledger Fabric权限进阶篇

=/etc/hyperledger/fabric/tls/server.key - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls...,笔者估计是peer是标记不同peer节点调用, 或者是链码安装时候可以指定不同OU config.yaml配置是可选, 它是通过crypto-config.yaml下org设置了EnableNodeOUs...当然平常这些ACL配置我们一般很少需要去配置, 就按照configtxgen生成默认值就好, 但是开发需要知道Readers, Writers, Admins 策略含义和默认ACL策略。...如果确实需要定制化一些权限,可以configtx.yaml组织配置上覆写policy策略。 3. chaincode权限如何配置?...Chaincode/链码级别的背书策略之前我们是chaincode实例化和更新才能修改背书策略, 而现在shim api接口支持chaincode编写时候动态设置背书策略。

1.4K10

FastFabric:提升Hyperledger Fabric性能到20000TPS

初始校验之后,区块被推入队列,保证其添加到区块链。但是,在此之前,区块会依次执行两个验证步骤和最后一个提交步骤。 第一个验证步骤,将解压缩块所有交易,检查其语法并验证其认可。...排序将相应有效负载分别存储本地数据结构,并在从Kafka收回ID重新组装交易。随后,与Fabric一样,orderer将交易集分段为块并将它们传递给Peer。...Peer任务 回忆一下第II-C2节,在从排序接收块Fabric Peer按顺序执行以下任务: •验证收到消息合法性•验证每个交易块头和每个认可签名•验证交易读写集•更新LevelDB或...然后,对于端到端设置,我们实现了完整系统:背书根据来自提交人验证复制世界状态从客户端背书交易建议;订购人从背书交易创建块并将它们发送给提交人;提交验证并提交对其内存中世界状态更改,并将已验证块发送给背书和块存储...作为消息大小函数订购方吞吐量 在这个实验,我们设置了多个客户机来向订购发送事务,并监视发送100000个事务所需时间。

1.4K10

使用Hyperledger Fabric和Composer实现区块链应用程序

每个参与为他们所属每个通道保留一份分类帐副本。这为网络每个现有信道创建了区块链数据结构。与区块链一样,交易存储,这些块单个连接列表成为加密链。...这为连接到Fabric网络客户端提供了灵活数据访问。 使用Composer添加更简单概念 Hyperledger-Composer是Hyperledger生态系统工具之一。...设置工具之后,可以本地完成相同操作,这样我们就可以短时间玩游戏后离开托管游乐场。这个游乐场非常适合使用原型验证想法并了解底层Composer和Fabric模型。...测试设置之后,我们现在可以针对嵌入式网络编写测试用例。由于其长度,设置代码未包含在列表,但可以test/EngineSupplychainSpec.js主分支上查看和测试。...对于由真正组织联盟跨越区块链网络,我们仍然有一些问题需要解决: 我们如何管理组织和对等节点?组织如何自动将对等节点添加到网络?我们如何获得一个可以抵御失败公平和同质网络?

2.1K20

Hyperledger Fabric零知识证明

Fabric 1.3新增idemixer(Identity Mixer)以前不大懂zero-knowledge proof(零知识证明),原本觉得PKI基础MSP是比较常用和稳健方式,加个验证方式是不是有点增加复杂性...这个场景,Alice就是下图user/用户, DMV车管所则是issuer/证书颁发, Bob则是verifier验证者。 ?...如果使用Fabricidemixer 2.1 测试开发环境使用idemixgen命令行 具体参看https://hyperledger-fabric.readthedocs.io/en/latest/.../pkg/cid" "github.com/hyperledger/fabric-chaincode-go/shim" pb "github.com/hyperledger/fabric-protos-go.../en/latest/idemix.html#current-limitations 零知识证明以太坊是推崇,它应用场景实际蛮广,fabric尚需努力,不过貌似2.0那么久还没release或者是推广得不好

1.6K10

Fabric6大特性

成员准入 Hyperledger Fabric是用于准入网络框架,其中所有参与都具有已知身份。考虑准入网络,您应该考虑您区块链用例是否需要遵守数据保护法规。...性能,可伸缩性和信任级别 Hyperledger Fabric建立模块化架构之上,该架构将事务处理分为三个阶段:分布式逻辑处理和协议(“链码”),事务排序以及事务验证和承诺。...这种分离具有多个优点:跨节点类型所需信任和验证级别更少,并且网络可伸缩性和性能得到了优化。 为了说明这一点,让我们看一下Hyperledger Fabric v1.0事务流,如下图所示。 ?...6)当提交peer节点收到一批事务 7)验证是否符合背书策略,并检查读/写集以检测冲突事务。如果两项检查均通过,则该块将提交到账本,并且每个事务状态更新都将反映在状态数据库。...Hyperledger Fabric v1.X,可以动态和以编程方式添加peer,而不是像v0.6那样以静态方式添加。例如,假设一家管理外汇汇率公司有一家银行要添加到网络

1.2K20

Hyperledger Fabric

首先,必须将环境变量GOPATH设置为指向包含下载Fabric代码库Go工作区,如下所示: export GOPATH=$HOME/go 必须设置GOPATH变量即使Linux,GoGOPATH...其次,你应该(同样,适当启动文件)扩展命令搜索路径以包含Go bin目录,例如下面Linux下bash示例: export PATH=$PATH:$GOPATH/bin 虽然这个目录可能不存在于...fabric-samples存储库根目录安装指定版本Hyperledger Fabric平台专用二进制文件和配置文件 下载Hyperledger Fabric docker镜像指定版本 准备好之后...你可能想要将其添加到PATH环境变量,这样就可以不完全限定每个二进制文件路径情况下获取这些环境变量。...脚本列出了结束安装Docker映像。

2.2K30

Hyperledger: 向现有Fabric 区块链网络添加一个组织

区块链基础:术语表和用例 适当了解,然后 Hyperledger Fabric 术语表 更深入钻研。...本教程,我们将展示如何将第三个组织添加到一个应用程序渠道,将它自己对等节点添加到一个已在运行 Hyperledger Fabric 区块链网络,然后将它加入该渠道。...验证为应用程序渠道渠道配置块创建工件 点击查看大图 4 对提取配置节进行编辑,以创建配置 修改应用程序渠道 mychannel 渠道配置。 具体来讲,添加 Org3MSP,如图 9 所示。...参见图 17 和 18 来从客户端(CLI 容器)和服务器(订购)端成功执行该命令。此命令将该交易一个签名添加到文件系统合适位置。...将配置更新提交到订购之前,update 命令自动将用户签名添加到配置更新上(所以不需要第二次使用 signconfigtx)。

1.1K40

Hyperledger Fabric 和企业级以太坊,谁才是企业首选?

因此,我们看到这两个项目非常具有吸引力——企业级以太坊(Enterprise Ethereum)和Hyperledger Fabric本文中,我们将对它们进行探索与对比。...另一方面,Hyperledger Fabric只有一个实现。它没有类似于基于EVM链客户端。当我们指的是Hyperledger Fabric客户端,我们将指的是Linux 基金会组织唯一实现。...客户端支持JWT身份验证,JWT身份验证可以用来定义承载方访问权限,可以根据这些权限调用RPC等。在其最新版本(1.4.2),该团队添加了更多基于租户特性。 Quorum具有更高级链上许可。...协议不断涌现,这些协议将公有以太坊主网用作常见参考框架,从而降低了目前孤立企业结构。这提供了避免因为联盟部署许可网络而产生问题能力。...同时,欢迎所有开发扫描下方二维码填写《开发与AI大调研》,只需2分钟,便可收获价值299元「AI开发万人大会」在线直播门票!

79620

超级账本——Hyperledger Fabric

简介 Hyperledger Fabric是一个开放源代码企业级许可分布式账本技术(DLT)平台,旨在用于企业环境,是第一个支持以通用编程语言(例如Java,Go和Node.js)而非受约束领域特定语言...(比如在链码交易),或者系统中指定角色所有(比如,配置交易组织管理员) 同属于一个Channel组织,将需要参与到Channel交易所有身份MSP共享到Channel里,不在Channel...每个Channel里会部署有多套合约,供channel里peer去签订 world state——世界状态,每个peer上面的联盟实时状态数据副本 endorsement——背书,即peer为提案添加验证通过...通道 MSP 上下文中通道策略定义了谁有能力参与通道上某些操作,比如,添加组织,或者实例化链码 Peer 节点MSP:由一个单独组织所有,每个 Peer 节点都有一个单独 MSP 实例维护本地文件系统...指定通道名 -f: 指定通道配置交易文件(channel.tx) --tls:开启TLS验证 --cafile:指定了ordererca根证书

1.4K20

Hyperledger Fabric 系统架构详解

企业应用场景较为复杂,往往 Hyperledger 只是在其中参与了某个或某些环节,因此与其他现有系统交互必不可少,因此 Hyperledger 设计上注重配备完整 API 以供其他系统调用与交互...共识机制 Fabric中广义共识机制包括背书、排序和验证三个环节,狭义共识是指排序, Fabric区块链网络,不同参与之间交易必须按照发生顺序写到分布式账本,依赖共识机制,主要有三种: SOLO...Fabric 应用开发及交互 上图就是作为一个区块链开发应用Fabric区块链开发和交互流程。...对于一个链码交易来说,背书策略是链码实例化时候指定,一笔有效交易必须是背书策略相关组织签名才能生效,本质上Fabric区块链交易验证是基于对背书节点信任,这也是称Fabric并不是严格意义上去中心化原因之一...验证环节 当节点接收到由排序节点发送来区块,会对区块所有交易进行验证并标记是否可信,主要验证两个方面:1.是否满足背书策略。

1.6K10

Hyperledger Fabric 是假区块链!”

【声明:文章仅代表个人观点,其内容与观点不代表区块链大本营立场】 Hyperledger Fabric 性能指标 具有误导性 2016年我摩根大通工作,我领导了一个专攻前沿技术团队,来研究区块链银行业潜在应用以及对区块链战略投资...比特币和以太坊这样公有区块链,这种共识是通过工作量证明或称“挖矿”来实现许可区块链,参与提供密码学签名来对共识内容进行投票,从而达成共识。无论是哪种方式,都不会有中央机构进行干预。...与之形成鲜明对比是,Hyperledger Fabric 唯一一个重要签名就是验证签名,而用户签名则消失通过区块链网络复制任意数据库。...所有的节点都会收到订购服务发来区块信息,但它们需要验证区块交易信息来保证区块链数据安全性,步骤如下: 1、验证背书节点执行策略; 2、验证当前状态数据库读写集版本; 3、向区块链中提交区块信息...因此,Hyperledger Fabric 区块链部署之后性能指标并不尽如人意,随着节点增加性能还会迅速下降,而且它所宣称性能是单通道性能:如果你想跨过多个通道与整个区块链网络进行交互,这些所谓性能指标没有任何意义

1.9K20

Gossip in Hyperledger Fabric

2.2 Hyperledger Fabric 架构 Hyperledger Fabric 架构具有多层次结构,包括以下核心组件: 1.身份管理: 区块链网络参与需要具备身份,以便访问网络资源。...Gossip Fabric 使用 Gossip 协议是 Hyperledger Fabric 区块链平台中关键组件之一,它负责节点之间通信和信息传播。...当交易被提交并生成区块,Gossip 协议负责将这些区块传播到网络其他节点,以确保每个节点都具有相同账本副本。...3.3 Gossip 协议使用示例 Hyperledger Fabric ,Gossip 协议是默认启用,并在网络每个节点上运行。...下面是 Gossip 协议一个典型 Fabric 网络使用示例: 1.数据同步: 当一个节点生成区块,Gossip 协议会负责将这个区块传播到网络其他节点。

19210

1.修改docker-compose文件,增加CA容器

但是实际生产环境,我们肯定不能这么做,我们应该为每个Org建立一个CA,由CA来管理其中用户。...下面我们就试着讲Fabric CA集成到整个Fabric网络,并用CA Client生成新用户,最终使用新用户调用ChainCode,验证新用户合法性。.../peerOrganizations/org1.example.com/ca这个文件夹中去遍历文件,找到私钥文件文件名,并把文件名赋值给privName,然后docker-compse启动,指定到...3.使用CA Client生成新用户 只需要经过前面2步,我们给Org1设置CA Server就算完成了。 3.1启动Fabric网络 运行 ....,验证新用户可用性 因为我们是给org1设置CA,用户devin也是org1下,所以需要把~/ca/devinmsp下面的文件转移到org1下面。

48310

万字长文,教你用go开发区块链应用

6、什么是共识 保持账本整个网络同步过程称为共识。该过程确保账本仅在交易被相应参与批准时才会更新,并且当账本更新,它们以相同顺序更新相同交易。...Hyperledger Fabric 网络成员只能从可信赖成员服务提供(MSP) 注册,也就是说 Hyperledger Fabric 搭建区块链是一种联盟链。...Hyperledger Fabric 账本包括两个组件: 世界状态和交易日志。并且每个参与都拥有他们所属每个 Hyperledger Fabric 网络账本副本。...2、将 fabric 二进制工具添加到环境变量 为了后续方便使用命令,可以将第 1 步下载工具添加到系统环境变量: $ export PATH=${PWD}/hyperledger-fabric-linux-amd64...每次写入账本,会验证这两个节点数据一致性,只有当这两个节点数据一致,交易才算最终成功。

3.3K20

如何用Python&Fabric打造区块链“淘宝”商城

由于交易 Trader 一定是网络参与,所以当你想直接引用该交易 Trader ,可以用符号 -->。 最后,模型文件添加以下代码,来指定创建交易和发起事件所需参数。...要在交易球星卡函数 TradeCard 添加交易逻辑,你需要新建一个表示逻辑Javascript文件,具体而言就是项目的文件夹创建一个名为 lib 目录,并使用以下代码创建一个名为 logic.js...此外,确保函数末尾参数是你函数调用传递参数。 上述代码(forTrade == true)检查了指定球星卡是否设置为待交易,若是,则会更新球星卡所有。...然后,它会触发该卡 TradeNotification 事件。 4)定义权限和访问规则 permissions.acl 添加新规则,以便参与访问自己资源。...接下来,你可以给球星卡交易网络添加更多功能: 给每张球星卡加入价格属性并为每个交易加入余额属性; 给交易设置接受交易(forTrade)最低价位; 将交易网络与非区块链应用程序整合,将用户链下购买球星卡添加到其帐户

2.3K40

Java为Hyperledger Fabric(超级账本)开发区块链链代码智能合约之环境部署

完成本节后,您就可以运行一个 Hyperledger Java 链代码示例了,该示例,您将在真实链代码上部署和调用交易。然后,我将展示如何(几乎)从头编写一个链代码程序。...本节,您将: 设置网络环境 — 用于运行您本地区块链网络。 安装构建软件 — 用于构建您链代码。 安装一个 HTTP 客户端 — 用于链代码上调用交易。 启动区块链网络。...将用于此目的预构建 Docker 镜像命名为 hyperledger/fabric-membersrvc。 vp0:网络单独验证对等节点。...请参阅 Hyperledger 设置文档 “日志控制” 了解日志级别的更多信息。 可以 Docker 网站 上找到有关 Docker Compose YML 文件定义更多信息。...备注:请确保解压该文件,将 root 目录名称从 fabric-master 更改为 fabric

2.8K20
领券