参考https://hyperledgercn.github.io/hyperledgerDocs/blockchain_zh/

Hyperledger区块链框架(https://blog.csdn.net/maixia24/article/details/79557917 )

  • Hyperledger Fabric,作为开发程序,或者解决模块架构问题的基础架构。它允许组件,像共识服务、成员服务是可插拔的。
  • Hyperledger Iroha,一个商业的区块链框架,可以简便的嵌入到需要用到分布式账本技术的项目
  • Hyperledger Sawtooth,一个构建、部署、运行分布式账本的平台。它包含一个共识算法——Proof of Elapsed Time (PoET),它的目标是,大量的分布式验证人群,使用更少的资源消耗。
  • Hyperledger Burrow,一个许可的智能合约机制。Hyperledger Indy,提供区块链上数字一致性的工具、库、可重用的组件,这样就可以在管理区域、程序、或者其它的仓库之间进行互操作。

fabric是在系统中数字事件,交易调用,不同参与者共享的总账。总账只能通过共识的参与者来更新,而且一旦被记录,信息永远不能被修改。每一个记录的事件都可以根据参与者的协议进行加密验证。

每个参与者通过向网络membership服务证明自己的身份来访问系统。交易是通过发放给各个的参与者,不可连接的,提供在网络上完全匿名的证书来生成的。交易内容通过复杂的密钥加密来保证只有参与者才能看到,确保业务交易私密性

MSP

Hyperledger Fabric与其他区块链系统最大的不同体现在私有许可。与开放无需许可的网络系统允许未知身份的参与者加入网络不同(需要通过工作量证明协议来保证交易有效并维护网络的安全),Hyperledger Fabric通过Membership Service Provider(MSP)来登记所有的成员。

channel

Hyperledger Fabric提供了建立channel的功能,这允许参与者为交易新建一个单独的账本。当网络中的一些参与者是竞争对手时,这个功能变得尤为重要。因为这些参与者并不希望所有的交易信息——比如提供给部分客户的特定价格信息——都对网络中所有参与者公开。只有在同一个channel中的参与者,才会拥有该channel中的账本,而其他不在此channel中的参与者则看不到这个账本。

共享账本

Hyperledger Fabric包含一个账本子系统,这个子系统包含两个组件:世界状态(world state,其实就是实现了这次的这一组交易后所有账本信息的最新结果)交易记录。在Hyperledger Fabric网络中的每一个参与者都拥有一个账本的副本。

世界状态组件描述了账本在特定时间点的状态,它是账本的数据库。交易记录组件记录了产生世界状态当前值的所有交易,它是世界状态的更新历史。那么,账本则是世界状态数据库和交易历史记录的集合。

账本的世界状态存储数据库是可更换的。默认配置下,这是一个key-value存储数据库。交易记录模块不需要被接入。只需要记录在区块链网络中账本数据库被使用时之前和之后的值就可以了。

共识

在网络中,不同的参与者写入的交易必须按照产生顺序依次被写入账本中。要实现这一目标,交易顺序必须被正确的建立并且必须包含拒绝错误(或者恶意)插入账本中的无效交易的方法。

这完全是计算机科学的研究领域,可以有多种方法实现上面提到的目标,这些方法各有优缺点。例如,PBFT (Practical Byzantine Fault Tolerance)可以为文件副本提供一种机制来相互通信,即使是在发生腐败的情况下,也可以保证每个副本保持一致。

另外,在比特币中,通过一种称为挖矿的行为进行排序。在挖矿过程中,竞争的计算机竞相解决一个密码难题,这个谜题定义了所有后续的构建顺序。

所以其实共识其实就是在所有节点记账之前先对要记录的交易进行验证并生成一个验证正确后的交易记录表,在以太坊中称之为块,然后才传到每个节点中让其记录下来

Hyperledger Fabric被设计为允许网络构建者依据业务需求来选择采用的共识机制。好比考虑隐私性,就会有一连串的需求,从高度结构化的网络或是更加点对点的网络。

其他内容并没有什么特别的,大家可以自己看看

hyperledger中文文档学习-2-简介的更多相关文章

  1. hyperledger中文文档学习-4-构建第一个fabric网络

    接下来的操作都将在hyperledge环境安装构建的虚拟机的环境下进行 参考https://hyperledgercn.github.io/hyperledgerDocs/build_network_ ...

  2. hyperledger中文文档学习-1-词汇表

    参考:https://hyperledgercn.github.io/hyperledgerDocs/glossary/ Chaincode - 链码,即智能合约 链码是一个运行在账本上的软件,它可以 ...

  3. k8s/02中文文档学习笔记

    k8s中文文档 一.k8s概述 Kubernetes:是一个开源的,用于管理云平台中多个主机上的容器化的应用 k8s设计目标:让部署容器化的应用简单并且高效 大规模容器集群管理工具,从Borg到Kub ...

  4. Kafka中文文档学习笔记

    文档位置: /Users/baidu/Documents/Data/Interview/机器学习-数据挖掘/Kafka 据说是目前见到的最好的 Kafka 中文文章 . Kafka 是一个消息系统,原 ...

  5. MySQL5.1中文文档学习笔记——第1章:一般信息(一)

    原文地址 MySQL软件是一种开放源码软件. 开放源码"意味着任何人都能使用和改变软件.任何人都能从Internet下载MySQL软件,而无需支付任何费用.如果愿意,你可以研究源码并进行恰当 ...

  6. 学习Python 新去处:Python 官方中文文档

    Python 作为世界上最好用的语言,官方支持的文档一直没有中文.小伙伴们已经习惯了原汁原味的英文文档,但如果有官方中文文档,那么查阅或理解速度都会大大提升.本文将介绍隐藏在 Python 官网的中文 ...

  7. 学习JQuery中文文档之get()函数

    前端大神群的群主告诉我们:学习一个框架最好的方法是去把官方文档研究一遍. 现在正式开始我的前端之路,从JQuery的中文文档开始. 基础不牢固,看起来有点慢,但是我会一直坚持下去的.把遇到的问题都记录 ...

  8. IdentityServer4 中文文档 -1- (简介)背景

    IdentityServer4 中文文档 -1- (简介)背景 原文:http://docs.identityserver.io/en/release/intro/big_picture.html 目 ...

  9. IdentityServer4 中文文档 -2- (简介)相关术语

    IdentityServer4 中文文档 -2- (简介)相关术语 原文:http://docs.identityserver.io/en/release/intro/terminology.html ...

随机推荐

  1. java.net.ProtocolException:unexpected end of stream

    原因:php 给android 写接口出现java.net.ProtocolException:unexpected end of stream,查找android方面原因时发现数据超长 ,发现htm ...

  2. IIS搭建Web服务器,外网可以访问,但无法加载视频

    错误提示如下: 可能原因: IIS的MIME中未注册MP4.ogg.webm相关类型,导致IIS无法识别 解决方法: 在IIS中注册MP4.ogg.webm类型,以下以MP4为例,ogg和webm以此 ...

  3. 如何用ABP框架快速完成项目(4) - 如何正确使用ABP?

    正如我在<如何用ABP框架快速完成项目(2) - 快的定义!>提到的, 很多同学在使用ABP中遇到很多问题, 花了很多时间和精力, 然而从最根本的角度和方向上来看这些问题应该是不存在. 这 ...

  4. Java中的变量与常量

    Java中的常量 final 常量名=值; final PI=3.1415;  //声明一个常量PI 定义常量:final double PI=3.1415926; Java三大变量分别是  类变量( ...

  5. Java虚拟机(四)垃圾收集算法

    前言 在本系列上一篇文章中我讲到了垃圾标记算法,垃圾被标记后,GC就会对垃圾进行收集,垃圾收集有很多种算法,这篇文章就来介绍常用的垃圾收集算法的思想. 1.标记-清除算法 标记-清除算法(Mark-S ...

  6. .NET Core 2.0

    下载 Visual Studio 2017 version 15.3 下载 .NET Core 2.0 下载 Visual Studio for Mac 微软今天发布了.NET Core 2.0 版本 ...

  7. PL/SQL重新编译包无反应案例2

    在这篇"PL/SQL重新编译包无反应"里面介绍了编译包无反应的情况,今天又遇到一起案例, 在测试环境中,一个包的STATUS为INVALID,重新编译时,一直处于编译状态,检查发现 ...

  8. 探索SQL Server元数据(二)

    背景 上一篇中,我介绍了SQL Server 允许访问数据库的元数据,为什么有元数据,如何使用元数据.这一篇中我会介绍如何进一步找到各种有价值的信息.以触发器为例,因为它们往往一起很多问题. 那么如何 ...

  9. ASP.NET MVC概述及第一个MVC程序

    一.ASP.NET 概述        1. .NET Framework 与 ASP.NET                .NET Framework包含两个重要组件:.NET Framework ...

  10. mcelog用法详解

    手动启动mcelog方法: # mcelog --daemon Run mcelog in daemon mode, waiting for errors from the kernel. 后台服务启 ...