码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【跟小嘉学习区块链】二、Hyperledger Fabric 架构详解


    系列文章目录

    【跟小嘉学习区块链】一、区块链基础知识与关键技术解析
    【跟小嘉学习区块链】二、区块链基础知识与关键技术解析

    文章目录

    • 系列文章目录
      • @[TOC](文章目录)
    • 前言
    • 一、Hyperledger 社区
      • 1.1、Hyperledger(面向企业的分布式账本)
      • 1.2、Hyperledger社区组织结构
    • 二、Hyperledger 项目介绍
      • 2.1、Hyperledger 项目介绍
        • 2.1.1、Hyperledger 项目介绍
        • 2.1.2、Hyperledger 顶级项目介绍
    • 三、社区工作流
      • 3.1、Linux Foundation ID
      • 3.2、Jira
      • 3.3、Gerrit
      • 3.4、RocketChat
    • 四、开发环境
    • 五、Hyperledger Fabric
      • 5.1、Hyperledger Fabric 介绍
      • 5.2、Hyperledger Fabric 应用场景
      • 5.3、Hyperledger Fabric 架构
        • 5.3.1、Hyperledger Fabric 名词解释
        • 5.3.2、基础架构
        • 5.3.3、Fabric 1.x 架构优势
        • 5.3.4、交易流程

    前言

    本系列章节主要讲解 Hyperledger 社区、Hyperledger项目、Hyperledger 社区工作流程、Hyperledger Fabric 架构详解

    [参考资料]
    Fabric技术概览
    Fabric智能合约
    Fabric架构初探
    Fabric官方中文文档
    Fabric相关博客


    一、Hyperledger 社区

    1.1、Hyperledger(面向企业的分布式账本)

    超级账本(Hyperledger) 是首个面向企业应用场景的分布式账本平台,包括了IBM、Intel、Cisco、DAH、摩根大通、R3等在内的众多科技和金融巨头的贡献参与,在银行、供应链等领域得到了广泛的关注和发展,目前已经拥有了超过200家企业成员

    1.2、Hyperledger社区组织结构

    • 技术委员会(Technical Steering Committee,TSC)
    • 管理董事会(Govering Board)
    • Linux基金会(Linux Foundation)

    二、Hyperledger 项目介绍

    2.1、Hyperledger 项目介绍

    2.1.1、Hyperledger 项目介绍

    2015年12月,由Linux基金会牵头,30多家初始企业成员共同宣布 Hyperledger 联合项目成立。成立之初,IBM贡献了4万多行已有多 OpenBlockchain 代码,Digital Asset 则贡献了企业和开发者相关资源,R3贡献了新的金融交易架构,Intel 也贡献了分布式账本相关的代码

    作为一个联合项目,旗下由面向不同的场景的子项目构成(8大项目,fabric、iroha、 BlockChain Exploror、Cello、Indy、Composer、Burrow),所有项目都遵循 Apache V2 许可,并约定共同遵守如下的基本原则

    • 重视模块化设计:包括交易、合同、一致性、身份、存储等技术场景
    • 重视代码可读性:保障新功能和模块都可以很容易添加和扩展
    • 可持续的演化路线:随着需求的深入和更多的应用场景,不断增加和演化新的项目

    2.1.2、Hyperledger 顶级项目介绍

    • Hyperledger Fabric 是一个带有准入机制的企业级联盟链项目,它的前身就是IBM贡献的 OpenBlockChain。
    • Hyperledger Sawtooth 是一个创建、部署和运行分布式账本的模块化平台,它包含一个新的共识算法,叫做经历时间证明(Proof of Elapsed Time, PoET),面向大型分布式验证器群,消耗最少的资源;
    • Hyperledger Iroha 是为了将分布式账本技术简单容易地与基础架构型项目集成而设计的一个区块链框架项目
    • Hyperledger BlockChain Exploror:区块链浏览器
    • Hyperledger Cello:提供按需部署的功能,可以将区块链部署在各种裸机、虚拟机、容器等环境中,该项目起初是由IBM发起,目前等到了Soramitsu、华为和 Intel 的赞助
    • Hyperledger Indy 是特别为去中心化的身份而建立的一种分布式账本。它提供了基于区块链或者其他分布式账本互操作来创建和使用独立数据身份的工具、代码库和可以重用的组件
    • Hyperledger Composer
    • Hyperledger Burrow 是一个支持许可的智能合约机,提供了一个模块化的区块链客户端,带一个经许可的智能合约解释器,它部分建立在以太坊虚拟机(EVM) 规范的基础上

    三、社区工作流

    在社区开发过程中,需要了解 Linux Foundation ID、Jira(任务和进度管理)、Gerrit(代码和Review管理)、RocketChat(在线沟通)等工具使用

    3.1、Linux Foundation ID

    超级账本项目受到 Linux 基金会等支持,采用 Linux Foundation ID (LF ID)作为社区等唯一ID。

    3.2、Jira

    Jira 是一套任务管理和事项跟踪的追踪平台,提供 Web 操作界面,实用十分方便。

    3.3、Gerrit

    Gerrit 是一个负责代码协同的开源项目,很多企业和团队都使用它负责代码仓库都管理和代码的审阅工作。

    3.4、RocketChat

    RocketChat 是一个开源的沟通工具

    四、开发环境

    • git
    • golang
    • docker

    五、Hyperledger Fabric

    5.1、Hyperledger Fabric 介绍

    Hyperledger Fabric 是一个提供分布式账本解决方案的平台。Hyperledger Fabric 由模块化架构支撑,并具备极佳的保密性、可伸缩性、灵活性和可扩展性。

    Hyperledger Fabric 被设计成支持不同的模块组件直接拔插启,并能适应在经济生态系统中错综复杂的各种场景。

    5.2、Hyperledger Fabric 应用场景

    • 商业积分,利用区块链多方发行扩大参与者、使积分自由流通,吸引用户多次消费
    • 跨境支付与结算,减少机构之间的信任成本,将低手续费;
    • 数据存证,版权保护、鉴别数据真伪;

    5.3、Hyperledger Fabric 架构

    5.3.1、Hyperledger Fabric 名词解释

    • 成员服务(Membership Services):成员服务用来在许可的区块链网络上认证、授权和管理身份
    • 排序或共识服务(Order Service),确认交易并将交易排序放入 block;
    • 账本(Ledger),交易状态的持久化
    • 节点(Node),一个网络实体用来维护 Ledger,执行合约的容器
    • SDk 用来和区块链网络进行交互;

    5.3.2、基础架构

    在这里插入图片描述
    在这里插入图片描述

    5.3.3、Fabric 1.x 架构优势

    • 链码(Chaincode)执行信任的可伸缩性,将用户自己开发的链码(Chaincode)和系统提供的Order 服务拆分,用户开发的链码(Chaincode)和系统提供的Order服务不再是一一对应的关系,Order也可以适当容忍错误的出现,增加了系统的鲁棒性
    • 性能提升,拆分链码(Chaincode)和Order的串行执行,在原有架构中,当链码(Chaincode)执行非常耗时的时候,Order将会处于闲置状态,不利于提高系统的吞吐量,拆分以后链码(Chaincode)和Order可以并行执行发送交易
    • 共识机制可以单独实现(order)

    5.3.4、交易流程

    • 应用向单个或多个Peer节点放交易的背书请求;
    • 背书节点执行 ChainCode,但并不将结果提交到本地账本,知识将结果返回给应用
    • 应用收集背书节点的结果后,将结果播给Orderer
    • Orderer执行共识过程,并成Block,通过消息通道批量的将 block 发布给 Peer 节点
    • 各个Peer节点验证交易,并提交到本地账本中
  • 相关阅读:
    ESDB论文重点整理
    记录在BOSS直聘上遇见一位恶心的面试官——付润豪(华如科技的C++工程师)
    PostgreSQL高级
    【C++】C++ 类中的 this 指针用法 ③ ( 全局函数 与 成员函数 相互转化 | 有参构造函数设置默认参数值 | 返回匿名对象与返回引用 )
    【C#】【SAP2000】OAPI文档案例详解
    Linux常用操作
    论文 | REACT: SYNERGIZING REASONING AND ACTING INLANGUAGE MODELS
    多线程系列(三) -synchronized 关键字使用详解
    opencv 缩小放大用哪种插值更好??
    【Azure Developer】.Net 简单示例 "文字动图显示" Typing to SVG
  • 原文地址:https://blog.csdn.net/fj_Author/article/details/133231253
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号