前面我们提到,在区块链3.0中,已经发展出了智能合约+私有链的形式,而目前这种形式应用最广泛的就是今天要说的:Hyperledger fabric。
一、Hyperledger fabric 介绍Hyperledger Fabric,是一个基于模块化架构的分布式账本解决方案平台,它是由 IBM 带头发起的一个联盟链项目,于 15 年底移交给 Linux 基金会,成为开源项目。Hyperledger 基金会的成员有很多大牌,诸如 IBM,Intel,思科等。基金会里孵化了很多区块链项目,Fabric 是其中最出名的一个,一般我们说超级账本(Hyperledger)基本上指的都是 Fabric。
Hyperledger fabric 不是货币技术,是区块链技术。所以fabric没有挖矿的概念,绿色环保。
1、分布式的账本存储
2、每一个节点都保存了完整的数据,从而实现了数据不可被篡改
3、区块链中的数据不能被删除,只能添加和修改,变化后的数据状态为World State(世界状态)
假如A公司与B公司要进行资产交换,数据都存储在自己的服务器
由于A公司和B公司互不信任,所以两公司之间要进行对账,实际上往往账目是对不上的
一般传统解决方案:
通过引入第三方中央机构解决,实际上这种方式也是存在问题的:
1、成本高
2、三方机构的安全问题
通过Hyperledger fabric解决:
1、将各个机构形成环状,每个结构都有自己的账本,数据都一致。
2、fabric保证数据的同步。
3、如果有A机构做了数据篡改,其他机构就会发现A机构的数据发生了错误。
4、实际上,fabric解决就是信任问题。
项目:江苏省农牧厅区块链渔政管理系统
如果,王大壮与餐馆A和餐馆B的交易放在同一个channel的话,那么价格的隐私数据得不到保障。
在Hyperledger fabric中,channel可以理解为是独立的实例。参与者称之为peer。
实际上可以理解为两个微信群,
Chaincode就是智能合约。是读取、修改数据的唯一途径。
Chaincode属于某个channel,channel中的peer都需要安装该Chaincode,否则会导致数据不一致。
Chaincode的生命周期为:
1)安装 install
2)实例化 init
3)调用 invoke
SDK是为客户端提供 *** 作的API,和实现语言无关。
1)peer0、peer1、peer2在同一个channel中
2)多个peer必须有相同的MSP(Membership Service Provider)才能进行通信。
1)客户端通过SDK发起提案,如:我需要修改某一条数据了。
2)各个peer接收到提案后,进行模拟执行,会产生读写集,内部采用version的机制来记录修改前后的状态。
1)各个peer将模拟执行后的结果以及签名,发送给SDK
更新申请1)SDK收集到一定数量的背书后,将发送正式的更新申请给orderer
orderer1)对请求的内容以及签名做校验
2)如果校验完成,没有问题的话,就会发送真正的调用更新给各个peer,各个peer才真正的执行更新。
3)如果不合法的请求,也会保存到block chain,方便后续的审查。
4)排序解决双花问题,解决方式为把并行的问题转化成串行执行。
痛点的本质就是信任问题:
1)餐馆不信任王大壮
2)监管部门不信任餐馆
3)监管部门不信任王大壮
4)王大壮的隐私问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)