| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 《区块链原理、设计与应用》 – 基于超级账本 Fabric 2.x(学习分享2.2-Fabric V1.x 与V2.0) -> 正文阅读 |
|
[区块链]《区块链原理、设计与应用》 – 基于超级账本 Fabric 2.x(学习分享2.2-Fabric V1.x 与V2.0) |
? ? ? ? 废话不多说,直接进入学习分享内容。Fabric 从IBM第一个内部通用版本V0.6 到 V1.x 再到V2.0的发布,经历很多场景、框架的完善,逐步将联盟链的概念完善起来。其实从外文的原文,公有链(Permissionless Blockchain)、联盟链(Permissioned Blockchain),就可以看出对于联盟链的定义。 ????????对比公有链来说,自激励、参与方式无限制、网络规模普遍偏大、吞吐量较低;而联盟链,主要通过外部激励、参与方式是通过授权、网络规模偏小、吞吐量较高。 ? ? ? ? 对于笔者而言之前有幸与IBM共事一个项目,基于Fabric V0.6版本,从而打开了笔者对于区块链项目的新世界。由于0.6的版本对于CA认证、账本隔离、隐私等方面都没有完善,因此本次的分享主要是针对V1.x 和 V2.0进行大致的介绍。 ? ? ? ? Fabric的基本模块概念: ????????Organiztion(membership service provider):组织,是Fabric网络中的基本成员。 ? ? ? ? Identify:身份标志,一般是通过Fabric-CA下发证书,通过证书和密钥来管理认证组织成员身份。 ? ? ? ? Consortium、Channel:联盟、通道。整个Fabric网络通过通道配置树来管理组织、联盟的范围。 ? ? ? ? Smart Contract:智能合约,直接与账本结构打交道,并支持上层业务逻辑。应用程序通过调用智能合约提供的方法来实现业务逻辑。 ? ? ? ? ChainCode:链码延伸自智能合约的概念,负责对应用程序发送的请求作出相应,执行代码逻辑,实现与账本的交互。 ? ? ? ? Endorsement:背书,可以通过Signature Policy方式,指定特定身份签名组合来进行背书,如指定多个组织内任意成员身份进行背书,或指定必须要有一个监管单位组织进行背书;也可以通过Channel Config Policy方式,引用通道内已有的策略进行背书。如果不显示的指定背书策略,则会使用通道配置中的Channel、Application、Endorsement策略,其默认为通道内的大多数成员。 ? ? ? ? Private Data:分布式账本可以帮助多个成员进行数据共享和协作,隐私保护就成了关键性问题。Fabric目前通过通道机制,使各个通道之间数据进行彼此隔离;通过私密数据库,在同一通道内,实现对私密交易内容的保护;通过数据加密保护,在数据上链之前进行客户端加密,实现对链上数据的保护。 ? ? ? ? Fabric V1.x更新的特征主要有: ? ? ? ? Private Data Collections(私有数据集合) ? ? ? ? Endorsement(背书) ? ? ? ? Commit(提交) ? ? ? ? Reconciliation(和解) ? ? ? ? Fabric V2.0的更新: ? ? ? ? Private Data Enhancements(私有数据增强) ? ? ? ? Decentralized Application Patterns(去中心化的应用模式) ? ? ? ? 私有数据集合:在同一通道上有多个组织之间共享数据,但是对通道上的其他组织保持数据私密。私有数据集合会在chaincode实例化、升级时定义,会定义组织中的哪些peer节点被授权存储集合数据。 ? ? ? ? 背书:背书节点分发私有数据到被授权的组织节点,私有数据先存储在临时存储中,交易提交时再存到StateDB。临时数据不会被包含在提交到排序服务的交易中,只有私有数据的HASH值会被包含在交易区块中。 ? ? ? ? 私有数据提交:交易验证后私有数据和HASH值会被存储至StateDB中,未被授权的节点只存储私有数据的HASH值。如果授权节点没有私有数据,那么它会尝试从其他被授权节点获取私有数据。 ? ? ? ? 私有数据和解:如果授权节点在提交时刻,还是获取不到私有数据,它会在提交后继续尝试获取私有数据。 ? ? ? ? 在V1.x的版本中,必须为所有可能交易的私有数据进行私有数据集合的定义,即使它是一个单组织的网络。 ? ? ? ? 私有数据增强:支持集合级别的背书策略,每个组织隐式的私有数据集合,能够跨集合共享、验证私有数据。这样隐式的背书所匹配的组织,只有组织内的peers可以读写私有数据,不需要定义集合。非集合成员通过存储在账本中的HASH值来验证私有数据,组织之间在需要知道的基础上进行私有数据的共享。 ? ? ? ? 本次分享就到这里,主要讲Fabric的基本概念,V1.x V2.0的更新进行了简介。这里不做太深入的探讨,在后期具体模块解读时,再进行解析。目前大家有个概念就行,下一次分享会继续讲框架、基本概念进行描述。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:33:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |