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

Hyperledger Fabric中的零知识证明

Fabric 1.3中的新增的idemixer(Identity Mixer)以前不大懂zero-knowledge proof(零知识证明),原本觉得PKI基础的MSP是比较常用和稳健的方式,新加个验证方式是不是有点增加复杂性...如果使用idemixer和零正式证明的方式, 我们只允许Bob知道当前这个女用户是个合法的司机,其它信息都保密。...- 数据隐私保护和身份验证,如Alice和Bob的例子所示, - 减少计算和扩容,同样的多次计算可以使用零知识证明压缩和减少,最新的以太坊可是大力推崇 2....如果使用Fabric的idemixer 2.1 测试开发环境使用idemixgen命令行 具体参看https://hyperledger-fabric.readthedocs.io/en/latest/..., mspdir对应文件应使用Fabric CA生成的IssuerPublicKey和IssuerRevocationPublicKey构成。

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

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

    让我们看看使用Hyperledger Fabric和Composer实现区块链应用程序是多么容易。...在Hyperledger中,不仅开发了单个区块链框架(或平台)。相反,重点是并行采用多种方法,创造协同效应,可重复使用的组件和灵活性。...其他方法更多用于在有限的环境中实施特殊情况。 Hyperledger Fabric ——灵活的区块链应用平台 使用Fabric作为平台,可以开发完全独立的分布式分类帐解决方案。...这为连接到Fabric网络的客户端提供了灵活的数据访问。 使用Composer添加更简单的概念 Hyperledger-Composer是Hyperledger生态系统中的工具之一。...使用案例:引擎块的供应链跟踪 为了使用Hyperledger-Fabric和Composer实现私有区块链网络,以汽车行业的发动机组跟踪为例。在这种情况下,有制造商和经销商作为网络参与者。

    2.1K20

    Hyperledger Fabric BCCSP 简介

    在Hyperledger Fabric中,BCCSP(Blockchain Cryptographic Service Provider)是一个关键的组件,用于处理加密和密钥管理相关的功能。...以下是对Hyperledger Fabric BCCSP的简介: BCCSP的作用: BCCSP是Hyperledger Fabric中负责处理密码学操作和密钥管理的组件。...//opts 参数应该适合所使用的算法。 //需要注意的是当需要较大消息的哈希签名时,调用者负责对较大消息进行哈希处理并传递哈希(作为摘要)。...具体的实现包括对各种加密算法和密码学操作的支持,以及对不同密码学库的接口适配。...BCCSP是Hyperledger Fabric中关键的安全组件,通过提供可插拔的密码学服务,允许系统在不同的安全需求下进行配置,并与不同的密码学库集成。

    15710

    99%的人都不懂中本聪、V神这么牛靠的是什么?一张图而已!

    其中,存储层主要用于存储比特币系统运行中的日志数据及区块链元数据,存储技术主要使用文件系统和 LevelDB。...其中存储层主要用于存储以太坊系统运行中的日志数据及区块链元数据,存储技术主要使用文件系统和 LevelDB。...它旨在支持不同组件的可插拔实现,并适应整个经济生态系统中存在的复杂性。 Hyperledger Fabric 提供了一种独特的弹性和可扩展的体系结构,使其不同于其他区块链解决方案。...状态存储的数据库可以使用 LevelDB 或者 CouchDB。LevelDB 是系统默认的内置的数据库,CouchDB 是可选的第三方数据库。区块链的账本则在文件系统中保存。...数据层由区块和区块“链”(区块的链式结构)组成。其中,区块中还会涉及交易列表在 Merkle 树中的存储及根节点哈希值的计算。交易的内容也需要加密处理。

    1.1K21

    Fabric的简单国密改造实验方案

    二、国密改造涉及的库 2.1 国密改造涉及的系统库 2.1.1 哈希算法 在Fabric中默认采用的SHA256的哈希算法,对应的国密算法是SM3,所以我们只需要建立github.com/studyzy...2.1.2 数字签名算法 发Fabric中默认采用ECDSA的签名算法,对应的国密算法是SM2,所以我们对应建立github.com/studyzy/crypto/ecdsa来替换系统库:crypto/...,然后还有一个特别的地方是在证书中会保存其使用的哈希算法和数字签名算法的OID,这是一个预先规定好的值,我们找到对应的OID,并进行替换即可。...2.2.3 其他 除了前面提到了比较核心的GRPC和Docker外,还有很多直接或者间接用到的第三方库,比如prometheus、go-digest等,大部分都是因为使用到HTTP协议,而协议中要支持HTTPS...其次我们不能再使用hyperledger/fabric-sdk-go这个包名,而是使用我们自己的包名,这里就全部改成studyzy/fabric-sdk-go。

    3.3K20

    区块链(Blockchain)简单介绍

    区块链本质上是一种去中心化的分布式数据库。任何人只要架设自己的服务器,接入区块链网络,都可以成为这个庞大网络的一个节点。(下图引用的原文链接在文章最下方的文章中) ?...而区块链中,采用的是一种更为复杂的哈希算法,叫做SHA256。最新的数据信息经过一系列复杂的计算,最终会通过这个哈希算法转化成长度为256bit的哈希值字符串,也就是区块头当中的Hash。...Bitcoin Core使用C++写的,而且用了一些C++11和Boost库机制。还可以对接繁荣的比特币技术社区。...另外,也不是所有人都有能力和必要精通区块链底层技术,所以对于基于冲到区块链领域做事的人来说,可以直截了当的学习目标是以太坊和Hyperledger Fabric。...在2016年3月一次黑客马拉松中,Blockstream和DAH两家公司将各自的代码并入Open Blockchain,随后改名为Fabric。

    2.4K70

    Fabric private data入门实战

    目前在Hyperledger Fabric中实现数据隐私的方法是使用通道。...这些数据集允许添加一些额外的数据,主要的数据还是保存在主状态和账本中。 ? 被授权的节点将可以看得到在主账本上的数据哈希,以及在私有数据库中的真实数据。...未得到授权的节点将不会同步私有数据库,只能看到在主账本上的数据哈希。由于哈希是不可逆的,因此这些未授权的节点无法看到真实的数据。...fabric private data用例 我们使用Hyperledger Fabric中经典的fabcar案例来展示如何使用私有数据集。initLedger函数将在我们的数据集中创建10个新车。...但是,其中某些数据是私有的,并且保存在私有数据集中,因此只能被数据集配置文件中定义的对等节点访问。 我们建议在公开和私有数据集中使用相同的键来保存数据,以便更易于数据的提取操作。

    1.3K40

    fabric private data的目的、作用及应用场景

    如果要快速掌握hyperledger fabric区块链的开发,推荐汇智网的在线互动实战教程: Hyperledger Fabric 区块链开发详解 Hyperledger Fabric java...目前在Hyperledger Fabric中实现数据隐私的方法是使用通道。...如果你使用通道,那么所有的你的行为将记录在账本状态中,而任何人都看得到。 fabric private data是如何解决上述问题的? ?...这些数据集允许添加一些额外的数据,主要 的数据还是保存在主状态和账本中。 ? 被授权的节点将可以看得到在主账本上的数据哈希,以及在私有数据库中的真实数据。...未得到授权的节点将不会 同步私有数据库,只能看到在主账本上的数据哈希。由于哈希是不可逆的,因此这些未授权的节点无法看到真实的数据。

    1K30

    Hyperledger Fabric和VSCode的IBM区块链扩展开发智能合约

    完成本教程后,你将了解如何使用VSCode在本地Hyperledger Fabric网络上快速开发,演示和部署区块链应用程序。本教程假设你对Hyperledger Fabric有一些基本的了解。...transaction1函数采用Hyperledger Fabric上下文和一个参数arg1,该参数用于存储用户定义的问候语。...不错的工作!你刚刚成功向Fabric网络提交了一笔交易,并更新了分类帐! 9.更新智能合约 image.png 在上一步中,你使用putState API更新了分类帐,并传入了密钥和值。...你学习了如何使用Hyperledger的最新API创建,打包,安装,实例化和调用智能合约。此时,你可以专注于开发智能合约并更新my-contract.js文件,因为你知道已经处理了区块链的网络方面。...tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,

    2.8K30

    构建一个应用程序来展示区块链是如何工作的

    和区块链提示准备好了,可以接受命令。 区块看起来像什么? 要查看当前的区块链,请在命令提示符中输入blockchain或bc。你应该看到如下图所示的块。 ?...CryptoJS.SHA256(index + previousHash + timestamp + data + nonce) 在给定这些输入的情况下,SHA256算法将计算唯一的哈希值。...Hyperledger Fabric 区块链开发详解,本课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含Fabric...Hyperledger Fabric java 区块链开发详解,课程面向初学者,内容即包含Hyperledger Fabric的身份证书与MSP服务、权限策略、信道配置与启动、链码通信接口等核心概念,也包含...tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,

    1.4K30

    Hyperledger fabric链码数据模型的探讨(1)之转账和交易

    编写过一些链码的人可能会觉得是在操作一个简单的key-value数据库, 就是GetState和PutState去操作键值对,而对复杂些的一对多,多对多等实体关系和数据模型不知怎么设计。...High-through高吞吐交易例子 参考fabric-samples/high-throughput/chaincode/high-throughput.go (1)update使用一个组合key聚合..., 名字~操作符+或-~数值~交易ID, value为0, 即主要的信息都是保存在组合键中, 组合键也方便用于类似模糊部分查询, 该例是使用name作为部分查询条件。..., 先保存在key值为name_PRUE_BACKUP的值中, 接着删除所有的流水记录, 之后把总账作为新的流水update插入, 最后删除备份的总账。...可能大家也有不少问题, 为什么用组合键, 用couchdb的index似乎也可以记录流水, key就用交易ID, 能不能像传统数据库那样设计, 一个账户表, 保存名字和余额, 另外一个账户交易流水表,

    1.1K30

    FastFabric:提升Hyperledger Fabric性能到20000TPS

    准备 使用拜占庭容错(BFT)一致性算法是HyperLedger中的关键性能瓶颈[2]。这是因为BFT一致性算法不能很好地与参与者的数量成比例。...因此,我们可以通过使用内存中的哈希表而不是数据库来加速该过程(第III-E节)。其次,交易流程不需要区块链日志,因此我们可以在交易流程结束时将其存储到专用存储和数据分析服务器(第III-F节)。...Peer改进I:用哈希表替换世界状态数据库 必须为每个交易按顺序查找和更新世界状态数据库,以保证所有Peer的一致性。因此,对此数据存储的更新以尽可能高的交易速率发生是至关重要的。...我们还对提交方的验证进行了并行化,并进一步将状态数据库替换为更有效的数据结构,即哈希表。 hyperledger fabric是一个最近才开发的系统,它的架构仍在快速发展和重大变化中。...在未来的工作中,我们希望通过以下方式进一步提高hyperledger fabric的性能: •结合有效的bft一致性算法,如rcanopus[22] •在不打开整个交易头的情况下,加快为排序服务提取交易

    1.6K10

    Hyperledger Fabric基础之账本

    同理Hyperledger Fabric结构也是类似的,需要记录Asset资产的当前状态和交易的历史。 区块链的账本 区块链的账本包含两部分,world state(世界的状态?整体的状态?)...现实中,World state常用数据库实现,数据库对于读取和存储状态都提供了高效的实现,是不是和no-sql中的couchdb, mongodb有点像 :-) 交易保存了World state的变化,...World State数据库的选择 Hyperledger Fabric当前支持Level DB和CouchDB. Level DB适合于简单的key-value键值对,嵌入网络的peer节点进程。...重要的是,Hyperledger Fabric作为state DB实现的level DB或couchDB都是可插拔的设计, 完全可能用其它的关系型数据库或非关系型数据库实现。...基础完结, 后面我们会通过Hyperledger Fabric的入门例子, 实际操作和配置, 使用Go和Nodejs编写联链码。

    95000

    跨链技术原理与实战

    哈希锁定 哈希锁定最早出现在比特币的闪电网络,是通过哈希锁和时间锁保障跨链双方资产的一种方式。...侧链 侧链是一种双向锚定的技术,最开始的侧链是相对于比特币主链而言的,如 BTC-Relay,在这条侧链上可以对比特币进行新特性的研发和测试,且当大量用户在比特币网络上进行交易时,使用侧链可以有效地拓展网络的吞吐量...而在具体实现中,如在 Fabric 网络中,则是通过子链调用跨链业务合约,而跨链业务合约统一调用一个适配器的合约,在这个适配器合约中,我们实现了交易信息传入,通过 Fabric 事件机制来进行监听(即在合约中实现...关于 Fabric 事件监听相关细节及实现详情见 《Hyperledger Fabric Go SDK 事件分析》。...参考资料 关于跨链技术的分析和思考 跨链的简要研究:从原理到技术 跨链技术平台 BitXHub 区块链跨链技术之哈希时间锁 Hyperledger Fabric Go SDK 事件分析 BitXHub

    68010

    Hyperledger Fabric学习笔记01-系统逻辑架构

    本系列学习笔记以阅读《深度探索区块链:Hyperledger Fabric技术与应用》一书的笔记为蓝本,故默认Hyperledger Fabric 1.0,期间可能会追加最新版本的内容,到时会在里面注明...Hyperledger Fabric 1.0设计的几个特点: 特点 说明 模块插件化 1.很多的功能模块(如CA模块、共识算法、状态数据库存储、ESCC、VSCC、BCCSP等)都是可插拔的,系统提供了通用的接口和默认的实现...2.这些模块也可以通过需求进行扩展,集成到系统中。 充分利用容器技术 1.不仅节点使用容器做为运行环境,链码也默认运行在安全的容器中。...安全性 Hyperledger Fabric 1.0提供的是授权访问的区块链网络,节点共同维护成员信息,MSP(Membership Service Provider)模块验证、授权了最终用户后才能使用区块链网络的功能...BBSCP是一个抽象接口,默认是软视线的国标算法,目前社区和较多的厂商都在实现国密的算法和HSM(Hardware Security Module)。

    1.3K30

    尝鲜使用微众银行WeCross实现基于哈希时间锁定的跨链转账

    本文就将带你尝鲜使用WeCross实现基于哈希时间锁定的跨链转账,文章最后再介绍下HTLC(哈希时间锁定)的原理。我们开始吧。...需要将资产合约的地址和对手方的哈希时间锁合约地址保存到自己的哈希时间锁合约。...哈希时间锁定最早出现在比特币的闪电网络,跨链资产交换支持一定数量的A链资产和一定数量的B链资产进行原子交换。...如下图所示,我们用一个例子来阐述如何使用哈希时间锁定进行跨链的原子资产交换,假设 Alice 和 Bob 有资产交换的需求,Alice想用1个BTC和Bob换20个ETH。...20个ETH Bob观察到步骤5中Alice的s值,将其发送给Alice的合约成功获取1个BTC 至此 Alice 和 Bob 完成了资产的交换 在WeCross的技术方案中,以上环节都是在提案发起后

    2K50

    “Hyperledger Fabric 是假区块链!”

    相反,Hyperledger Fabric 推荐使用一个名为 Kafka 的“订购服务”。...与之形成鲜明对比的是,Hyperledger Fabric 中唯一一个重要的签名就是验证者的签名,而用户的签名则消失在通过区块链网络复制的任意数据库中。...注:从理论上讲,Hyperledger Fabric 可以使用真正意义上的区块链共识,但这样做区块链会变得很慢,而在生产环境中慢是致命的,因此没有人会在生产环境中使用它。 为什么说智能合约很重要?...很不幸,Hyperledger Fabric 以及 R3 Corda 都因为架构的完全不兼容而与公有区块链切割开来,这里面也有智能合约的责任,因为它们的智能合约语言无法在公有区块链和私有区块链中无缝切换...在此之前,Stuart 曾在摩根大通集团的区块链产品部门工作,期间领导和开发了摩根大通的主要区块链产品 Juno,同时 Stuart 还为摩根大通编写了许多交易算法脚本,这些经验的积累帮助他在 Kadena

    2K20

    Hyperledger Fabric之模型

    Hyperledger Fabric当前主要使用Go语言和Nodejs开发链码, 使用Go兼容好些快些, 在BYFN官方例子中安装Nodejs链码时间较长,时不时timeout(不排除环境配置差异或有误...记账本是一条区块组成的链条,使用区块保存着不变的有序的记录,同时也使用状态数据库维护资源状态。每一个通道只有有一个记账本,而通道的成员节点为维护着该账本的副本。...为了进一步混淆数据,链码中的值在交易发送到ordering服务或追加到区块之前可使用常用的密码算法(例如AES)进行加密,一旦加密的数据被写到记账本,只能被拥有这个密钥的用户解密。...所以,数据的采访控制可以在更广的网络和通道级别被管理和控制。 Hyperledger Fabric允许的概念,与通道的存在和功能结合一起,帮助解决隐私和机密的这个至关重要的问题。 6....但是,共识不仅是交易中顺序如何达成一致,Hyperledger Fabric通过在整个交易流程中它的基础角色突出了这些差异,从计划和背书,到ordering排序,验证和提交,简而言之,共识被定义为整个周期的组成区块的一组交易的正确性的验证

    1.1K20
    领券