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 elapsed time ,消逝时间证明
Intel 公司芯片级别的共识协议, 耗电量少 交易性能 比特币:7笔/秒 10分钟产生一个区块 原始区块大小为1MB。
交易性能:
比特币: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 service
????????排序服务
????????排序,验证transaction,最终提交invocation,把数据写入peer的ledger。
world state
????????世界状态
????????当前ledger中存放的数据
????????key和value,以version的形式存在
????????当前的实现有couchdb和leveldb
MSP
????????Membership Service Provider
????????管理peer的身份和访问许可
????????具有相同MSP的peer才能通信。
3、区块链在项目中的应用
合同上链、交易数据上链等。
|