Fabric v1.x
Fabric v1.x
cactusblossom
这个作者很懒,什么都没留下…
展开
-
Fabric v1.x 应用开发指南
1 技术栈1.1 经典软件工程管理Fabric应用开发者需要了解经典软件工程管理:依赖管理(调用第三方库):govendor/dep, npm/yarn, gradle/maven, pip异常处理:defer, saync/await测试流水线:Smoke, Unit/Mock, SI tests1.2 PKI密码体系Fabric应用开发者需要精通PKI密码体系,包括:EC...原创 2020-03-05 16:19:00 · 936 阅读 · 0 评论 -
Fabric v1.x Idemix(Identity Mixer)介绍
一、Idemix是什么Idemix(Identity Mixer)的核心是零知识证明(Zero Knowledge Proof),用户无需暴露私有数据以及任何有用的信息,也能证明自己拥有这些私有数据,对方能够进行有效验证,这就是零知识证明。Idemix是一个密码协议套件(X.509+加密算法),保留隐私实现匿名性,交易时不用透露交易者的身份,而且交易间是无关联的,不可往前追溯。Identit...原创 2020-03-03 21:28:32 · 1231 阅读 · 0 评论 -
Fabric v1.x MSP的结构和使用方法
一、MSP是什么1.1 相关概念证书:证书是fabric权限管理的基础,采用ecdsa算法,符合X.509标准,通过CA来签发证书,每个identity或organization都可以拥有自己的身份证书。组织:证书遵循组织结构,通过组织实现灵活的权限管理,组织一般包含名称、ID、MSP、管理策略、anchor peer节点位置信息。成员:peer和client都是成员,peer提供节...原创 2020-03-03 15:27:08 · 984 阅读 · 0 评论 -
Fabric v1.x CA简介
一、Fabric CA架构概述Fabric CA主要功能有身份注册、签发ECert、证书续签和吊销等。下图说明了Fabric CA与Fabric总体架构之间关系:Fabric CA是典型的CS架构,包括单独的client端和server端,可以通过Fabric-CA client或SDK与server端交互。server端也可以扩展成HA模式,Fabric CA客户端或SDK可以连接到一个...原创 2020-03-02 19:41:37 · 521 阅读 · 0 评论 -
Fabric v1.x Orderer中的许可
Fabric是一个许可链,每一个模块都有permission的存在。除了背书策略(Endorsement Policy)还包括其他ACL管控,比如谁可以动态地增加一个组织,谁可以修改channel配置属性。Orderer中的许可的实现原理:ImplicitMeta Policy验证过程中并不起决定性作用,用于集合其他Policy,如下图所示叶子节点都是Signature Policy。Impl...原创 2020-02-22 21:06:49 · 280 阅读 · 0 评论 -
Fabric v1.x Orderer的共识算法
Fabric Orderer的共识算法是可插拔的,包括Solo、Kafka、Raft,其中Raft算法是在Fabric v1.4版本中新增的,未来还将加入BFT算法。本文会对已实现的3个共识算法进行剖析。一、SoloSolo算法中只有一个orderer节点,用于开发阶段的实验。一个Orderer节点不存在共识的问题,该节点接收所有来自客户端的交易,然后将其排序并产生区块,如下图所示:二、K...原创 2020-02-22 20:24:31 · 1601 阅读 · 0 评论 -
Fabric v1.x 通道(Channel)机制运行原理
一、channel实现原理1.1 System Channelchannel是Orderer的一个模块,Fabric的启动会创建一个内建的system channel,是系统的一个默认链,用于管理其他的user channel。orderer启动的时候必须要有该channel的genesis block,genesis block里规定了所有关于system channel的配置,因此所有的...原创 2020-02-22 10:45:12 · 3182 阅读 · 10 评论 -
Fabric v1.x Orderer全排序与区块切割规则
一、执行-排序-验证(Execute-Order-Validate)Fabric采用的是先执行、后排序、最后验证的共识模型(Execute-Order-Validate),如下图所示:首先由client提出交易,发给peer仿真执行,产生读写集并签名后返回给client,client会把签名的读写集(proposal response)打包发送给orderer,orderer会将所有从cli...原创 2020-02-21 19:48:23 · 867 阅读 · 0 评论 -
Fabric v1.x 私有数据(PrivateData)模型分析
一、私有数据是什么对于一些组织来说,总会有一些机密数据,比如产品价格、用户电话、用户地址等信息,这些数据可能希望只被某几个组织知道,或者仅仅自己知道。可以将这些机密数据存储到私有数据库中,然后通过私有数据收集策略来定义有哪些peer有权获得这些私有数据,这些授权peer同样是将这些数据存储到私有数据库里,对于ordering来说,也只能看到私有数据的哈希。另外私有数据同样是通过Gossip协议...原创 2020-02-21 13:23:34 · 562 阅读 · 2 评论 -
Fabric v1.x Gossip协议的一些细节和传播原理
一、Gossip协议的功能Fabric中需要在3个不同类型的节点间进行交易流 转,需要非常安全的、可靠的以及可扩展的传输协议,以确保数据的完整性和一致性,因此Fabric实现了Gossip数据传输协议。Gossip利用一种随机的方式将信息散播在整个网络中,与它名字的含义一样,类似于绯闻流言的传播。Gossip协议的具体功能如下:维护和管理channel成员,发现新的peer节点,不断探测p...原创 2020-02-20 17:36:02 · 610 阅读 · 0 评论 -
Fabric v1.x 智能合约的生命周期
一、智能合约是什么智能合约是Fabric区块链网络的心脏,在可执行代码中定义不同组织之间的规则。智能合约打包成chaincode,部署chaincode后即可通过chaincode生成交易记录到账本上。二、智能合约与账本的交互开发者需要开发的模块包括Application和SmartContract,Application可以通过ledger的API直接访问区块链,也可以通过智能合约访问区块...原创 2020-02-19 21:26:15 · 1275 阅读 · 4 评论 -
Fabric v1.x 账本与状态数据库
一、Fabric账本Fabric账本是有序的、不可篡改的状态转换记录,包括区块链(Blockchain)和世界状态(World stat)两部分。区块链中保存着不可变的顺序记录,包含配置记录,例如channel的配置;还包含全部交易记录;世界状态中维护账本的当前状态,方便Appication快速查询二、区块链区块链是一个历史交易记录,记录着所有数据对象是如何到达当前状态的。下图中有...原创 2020-02-19 18:01:01 · 1935 阅读 · 8 评论 -
Fabric v1.x 背书策略
一、背书策略是什么Committing Peers在验证交易的时候,通过背书策略来验证一个交易是否有效,背书策略里面定义了一些要求,只有根据背书策略进行背书的交易才被认为是有效的。每个智能合约在部署的时候,都会指定背书策略。Fabric定义了ESCC和VSCC两个system chaincode来为交易进行背书和验证:ESCC (Endorsement System ChainCode)在...原创 2020-02-19 16:58:16 · 1202 阅读 · 1 评论 -
Fabric v1.x Peer节点与交易流程分析
1. Fabric节点类型Fabric网络中包括Peer节点和排序节点(Ordering Node),Peer节点分为记账节点(Committing Peer)和背书节点(Endorsing Peer),这三种节点发挥的作用如下:Committing Peer:负责维护账本和世界状态以及将交易提交到账本并更新世界状态,可能部署有链码;Endorsing Peer:负责接收申请背书的交易...原创 2020-02-18 15:30:57 · 1707 阅读 · 0 评论