区块链技术(Hyperledgerfabric)
1、认识区块链
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应⽤模式。 区块链(Blockchain),是⽐特币的⼀个重要概念,它本质上是⼀个去中⼼化的数据库,同时作为⽐特币的底 层技术,是⼀串使⽤密码学⽅法相关联产⽣的数据块,每⼀个数据块中包含了⼀批次⽐特币⽹络交易的信息, ⽤于验证其信息的有效性(防伪)和⽣成下⼀个区块。 ⽐特币⽩⽪书英⽂原版 其实并未出现 blockchain ⼀词,⽽是使⽤的 chain of blocks。最早的⽐特币⽩⽪书中 ⽂翻译版中,将 chain of blocks 翻译成了区块链。这是“区块链”这⼀中⽂词最早的出现时间。 国家互联⽹信息办公室2019年1⽉10⽇发布《区块链信息服务管理规定》,⾃2019年2⽉15⽇起施⾏。 简单的来说,可以把区块链认为是分布式的超级账本,⽤来记录账务数据。
1.2 、货币的发展
纸币(现⾦)->电⼦货币(⽀付宝、微信)->数字货币(⽐特币)
1.3、分布式账本
分布式账本(Distributed ledger)是⼀种在⽹络成员之间共享、复制和同步的数据库。分布式账本记录
⽹络 参与者之间的交易,⽐如资产或数据的交换。这种共享账本降低了因调解不同账本所产⽣的时间和开⽀成本。
1.4、中⼼化和去中⼼化
1.5、⽐特币
⽐特币就是⼀个去中⼼化的、分布式记账的虚拟货币。 ⽐特币不是⼀种货币, 他是⼀个分布式的总账系统, 电⼦总账在每个参与者电脑上备份, 实时的同步和对账.
总账记录这⼀定数量的⽐特币从⼀个参与者到另外⼀个参与者的过程, 每次记录都会⼴播到⽹络.
⽐特币本⾝没有价值. ⽐特币的价值在于, 第⼀个通过去中⼼化的分布式信任系统实现了价值转移
1.6、区块链的演化
数据结构算法世界状态变化
区块链1.0(公有链)整型基本函数
100,95-
>101,94
区块链2.0(智能合约,公有链)整型、数组、
map、结构
体..
图灵完备虚拟机中执⾏的
函数
10010110
区块链3.0(私有链)任意数据结构
NodeJs、Java、go、
Python编写的chaincode
10010110
区块链关键技术:香菇炒芹菜
1、抗抵赖与隐私保护(密码学,hash,数字签名…)
2、分布式共识(pow,pos,dpos,poe)
POW:Proof of Work,⼯作证明。
⽐特币在Block的⽣成过程中使⽤了POW机制,⼀个符合要求的Block Hash由N个前导零构成,零的 个数取决于⽹络的难度值。要得到合理的Block Hash需要经过⼤量尝试计算,计算时间取决于机器的 哈希运算速度。当某个节点提供出⼀个合理的Block Hash 值,说明该节点确实经过了⼤量的尝试计
算,当然,并不能得出计算次数的绝对值,因为寻找合理hash是⼀个概率事件。当节点拥有占全⽹ n%的算⼒时,该节点即有n/100的概率找到Block Hash。
POS:Proof of Stake,股权证明。
POS:也称股权证明,类似于财产储存在银⾏,这种模式会根据你持有数字货币的量和时间,分配给 你相应的利息。简单来说,就是⼀个根据你持有货币的量和时间,给你发利息的⼀个制度,在股权证 明POS模式下,有⼀个名词叫币龄,每个币每天产⽣1币龄,⽐如你持有100个币,总共持有了30 天,那么,此时你的币龄就为3000,这个时候,如果你发现了⼀个POS区块,你的币龄就会被清空为 0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(假定利息可理解为年利率5%),那么 在这个案例中,利息= 3000 * 5% / 365 = 0.41个币,这下就很有意思了,持币有利息。
DPOS:Delegated Proof of Stake,委任权益证明
⽐特股的DPoS机制,中⽂名叫做股份授权证明机制(⼜称受托⼈机制),它的原理是让每⼀个持有 ⽐特股的⼈进⾏投票,由此产⽣101位代表, 我们可以将其理解为101个超级节点或者矿池,⽽这101 个超级节点彼此的权利是完全相等的。从某种⾓度来
看,DPOS有点像是议会制度或⼈民代表⼤会制 度。如果代表不能履⾏他们的职责(当轮到他们时,
没能⽣成区块),他们会被除名,⽹络会选出新 的超级节点来取代他们。DPOS的出现最主要还是因为矿机的产⽣,⼤量的算⼒在不了解也不关⼼⽐ 特币的⼈⾝上,类似演唱会的黄⽜,⼤量囤票⽽丝毫不关⼼演唱会的内容。
POE: Proof of elapd time ,消逝时间证明
Intel 公司芯⽚级别的共识协议, 耗电量少 交易性能 ⽐特币:7笔/秒 10分钟产⽣⼀个区块 原始区块⼤⼩为1MB。
交易性能:
trades⽐特币:7笔/秒 10分钟产⽣⼀个区块 原始区块⼤⼩为1MB。理论上⼀秒产⽣7笔交易,实际还要低。
以太坊:15笔/秒。
VISA / hyperledger: 百万笔/分钟。
1.7、区块链应⽤场景
⾦融服务: 银⾏业 证券交易 众筹
征信权属管理: 征信管理 权属管理 ⾳乐版权保护
资源共享 :共享单车 社会能源共享 电商平台 ⼤数据共享 减少共享的风险
贸易管理: 跨境贸易 物流供应链 ⼀带⼀路
物联⽹ :IBM Fiament NeuroMesh(物联⽹疫苗) 公共⽹络服务
其他应⽤场景: 云存储 医疗 通讯软件 电⼦游戏 投票 ……
2、了解Hyperledger fabric
2.1简介
Hyperledger Fabric,是⼀个基于模块化架构的分布式账本解决⽅案平台,它是由 IBM 带头发起的⼀个联盟链项 ⽬,于 15 年底移交给 Linux 基⾦会,成为开源项⽬。Hyperledger 基⾦会的成员有很多⼤牌,诸如 IBM,Intel,思 科等。基⾦会⾥孵化了很多区块链项⽬,Fabric 是其中最出名的⼀个,⼀般我们说超级账本(Hyperledger)基本上 指的都是 Fabric。
Hyperledger fabric 不是货币技术,是区块链技术。所以fabric没有挖矿的概念,绿⾊环保。
2.2、数据完整与数据安全
分布式的账本存储 每⼀个节点都保存了完整的数据,从⽽实现了数据不可被篡改 区块链中的数据不能被删除,只能添加和修改,变化后的数据状态为World State(世界状态)
2.3、如何解决现实问题
通过Hyperledger fabric解决:
将各个机构形成环状,每个结构都有⾃⼰的账本,数据都⼀致
fabric保证数据的同步
如果有A机构做了数据篡改,其他机构就会发现A机构的数据发⽣了错误
中国十大名茶实际上,fabric解决就是信任问题
2.4、术语
小女孩简笔画channel
数据通道,可以理解成独⽴的hyperledger fabic的实例
不同channel的数据彼此完全隔离
channel可以保证区块链上的数据隐私问题
channel类似微信群聊
chaincode
链码
智能合约
chaincode定义了business logic
Ledger的变化只能通过调⽤chaincode来完成
ledger
账本
ledger记录的是当前的世界状态(world state)
夏天安
ledger链式的记录了所有的历史世界状态
在hyperledger中,ledger是⼀个具有授权管理的共享账本系统
从底层设计上保证了数据的⼀致性,有效性,不可篡改性
network减肥广告
由peer组成的network
在同⼀个network中的peer,实时同步记账,保证ledger数据的⼀致性
ordering rvice
排序服务
贷款合同排序,验证transaction,最终提交invocation,把数据写⼊peer的ledger。world state
世界状态
当前ledger中存放的数据
铅山县key和value,以version的形式存在
当前的实现有couchdb和leveldb
MSP
Membership Service Provider
管理peer的⾝份和访问许可
具有相同MSP的peer才能通信。
3、区块链在项⽬中的应⽤
合同上链、交易数据上链等。