Hyperledger学习(一)
Hyperledger Fabric
-
plug-and-play 即插即用的,任何一个模块可以剔除和添加
-
开发的重点:编写智能合约
-
模块化
-
可扩展
-
超安全
-
解决不信任的个体和组织中引入的信任机制
-
Hyperledger Fabric是基于区块链的企业级分布式账本技术,通过智能合约解决多个组织之间的信任问题
重要名词
Hyperledger 超级账本:
Linux基金会孵化的区块链技术
Hyperledger Fabric:
第一个孵化出来的商用DLT(Distribute Ledger Technology) 框架,分布式账本技术框架
Hyperledger composer:
一个在DLT框架上创建商业应用的工具
fabric相关组件:
peer节点,ordering service 排序服务,ca证书认证,msp会员管理
fabric ca
- certificate authority
- 生成证书和创建账户的工具集
- 设定相关安全策略
- 支持链式继承,上级CA可以作废下级CA证书
fabric peer
- Ledger和blockchain 存储的位置
- 每个peer具有背书策略,决定ledger是否更新
ordering service
- 验证和排序服务
- 创建区块
Hyperledger 是区块链技术,但不是数字货币,没有挖矿概念,使用独特的共识协议,不需要挖矿!!!
数据完整性和安全性
-
分布式系统,没有单点故障,没有单点信息存放,每个节点(peer)都保存了全部数据,保证一致同一且不可篡改
-
区块链没有删除操作,只能创建新记录标记错误记录,一旦账本出问题,方便回滚
-
Hyperledger是联盟链,需要许可才能加入
-
记录了数据的变化过程,每一笔transaction都会导致数据变化,变化后的状态叫世界状态(world state)
-
账本由密码学签名保证
为什么其适合企业级开发
-
permissioned network 授权网络
- access control
-
confidential transaction 交易安全
- transaction 是可以控制可见性的
- 成员之间可以创建私密的通道
-
no cryptocurrency 无数字货币
- 没有矿工,低成本,验证操作灵活
-
programmable 可编程
- chaincode(smart contract 智能合约)
无51%攻击,没有挖矿,采用独特的共识协议,每个共识协议
Assets,chaincode&ledger
assets:有价值的东西,可以被交易的东西
- json表示:{vinnumber:xxx,owner:zhangsan} - 车辆及车主信息
chaincode:智能合约,连码
- transaction|business logic ,程序员编写的一些逻辑
ledger:账本
- 记录所有的transaction,发生了什么都会记录,溯源非常方便
- 所有的参与者都保存了ledger
解决现实生活问题
- 交易不再信任中央机构,所有数据在每个节点同步,通过智能合约描述商业流程
- hyperledger保证数据实时同步,所有的node节点保存同步的数据
- 有人修改了自己的数据,所有其他的party就能立刻发现数据错误
- 更新靠smart contract 链码,描述了transaction操作是否可以执行
- code is law。链码执行可以指定背书策略,某个机构可以执行什么策略
- smart contract 可以用 Java、nodejs、go语言去编写
授权网络和MSP、CA
business interact with known entities
hyperledger是实名的网络
MSP - Membership Service Provider
Roles 和 Access Restrictions(权限管理)