参考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被设计为允许网络构建者依据业务需求来选择采用的共识机制。好比考虑隐私性,就会有一连串的需求,从高度结构化的网络或是更加点对点的网络。
其他内容并没有什么特别的,大家可以自己看看
来源:oschina
链接:https://my.oschina.net/u/4263469/blog/3617772