区块链技术概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
19
© 2016 IBM Corporation
IBM开放区块链名词解释
Transaction – 交易。账页中的一笔记录,用于确认一个事实,执行一段代码(chaincode)
Ledger – 账薄(账册)。由首尾相连的一组区块(block,有时也称为一个账页)构成,记录交易和区块世界的状 态
2
© 2016 IBM Corporation
区块链介绍
什么是区块链?
区块链是一种共享账本技术 ,商业网络中的任何参与方 都可以查看交易系统记录(账本)
3
© 2016 IBM Corporation
区块链是支撑比特币的底层关键技术
公有链
Pow/Pos/DPos
联盟链
OBC/Etherenum pbft共识
IBM开放区块链参考架构概览(模块与服务)
26
© 2016 IBM Corporation
成员管理(Membership)
成员管理提供会员注册、身份保护、内容保密、交易审计功能
OBC所有成员
– 首先,通过Registration Authority(RA)注册获得许可 – 然后,通过Enrollment Certificate Authority(ECA)获得注册安全证书(ECert), – 第三步(可选),通过Transaction Certificate Authority(TCA)获得交易安全证书(TCert) – 使用二者之一签名发起交易请求 – 与公有链不同(所有参与方不需要身份认证,可直接进行交易)
用户(Client) – 登录与交易
22
© 2016 IBM Corporation
网络拓扑结构
整个OBC网络中含有两种节点,验证节点(Validating Peer)和非验证节点(NonValidation Peer)。前者是全功能节点,构成全连通拓扑结构,后者是代理节点,通常挂接 在相邻验证节点上
– 交易信息需要保密 – 身份不和交易绑定 交易必须是真实的 密码学是这些步骤的核心
11
© 2016 IBM Corporation
共识
共识是交易验证与确认的过程
当参与方是匿名时
– 交易确认代价高昂
–
的挖矿过程为匿名者提供验证,但需巨
大计算成本(工作证明)
当参与者都是已知且可信时
OBC帐本
8
什么是区块链?
© 2016 IBM Corporation
共享账本
9
什么是区块链?
记录商业网络中的所有交易 在参与者之间共享 参与者通过同步获取自己的备份 授权许可的,参与者只能看到适当 的交易记录信息 共享的记录系统
© 2016 IBM Corporation
World State – 区块世界的状态。由一组变量组成,指明交易的执行结果
Chaincode – 交易中记录的一段代码,其执行结果会改变区块世界的状态(World state)
Validating Peer – 验证节点。OBC区域链网络中的全功能节点,负责验证交易、记录账薄、达成共识
区块链技术平台对比
15
© 2016 IBM Corporation
为何要用区块链—强信任机制解决中心化系统中信用不连续问题
第一,跨组织协作。在区块链信任机制中,所有成员参与
对信任价值的监督、控制和审计,对地址、链、公钥、私钥、 摘要等几乎所有数据记录的要素,进行全生命周期的协作密码 保护,而且是全球、随机的。一个联盟链,相当于一台全球超 级密码、交换机、密钥签名服务器和密码本的总和, 信用连续。
OBC角色划分与工作内容
成员服务(Member Services) – 注册(Registration) – 身份管理(Identity Management) – 可审计(Auditibility)
验证节点(Validating Peer) – 进行共识(Consensus) – 运行交易(Transaction) – 维护账本(Ledger) – 发出事件(Event)
27
© 2016 IBM Corporation
成员管理模型
28
© 2016 IBM Corporation
业务网络动态组建示例:第一个节点
OBC节点相关配置位于github.com/openblockchain/obcpeer/openchain.yaml
在配置文件的peer小节中, – validator_enabled为true表示节点是验证节点,否则是非验证节点 – discovery_rootnode在启动时使用,当这个参数被设置时节点会使用 discovery protocal查找其他节点。这个参数是网络上另外一个节点的 IP,这个节点作为网络上所有节点进行discover的起始点。 – rest_enabled表明节点是否接受REST请求,对于生产环境一般把验证节 点设置为false,只让非验证节点接受来自应用的REST请求
Non-validating Peer – 非验证节点。 OBC区域链网络中的半功能节点,负责验证交易,但不执行交易,也不记录账薄,通常用 于代理 Validating Peer,提供REST service转发功能
Permissioned – 许可。只接受成员接入,不接受匿名接入
Privacy – 隐私。OBC中任何成员都能发起交易,但只有相关方才能知道,其它无关节点无法从交易回溯到交易方
Hyperledger项目
IBM 社区贡献
项目核心范围内
18
© 2016 IBM Corporation
IBM 开放区块链: 贡献给Linux社区的架构及代码
Community + Code
MEMBERSHIP 包括OBC参与方的
身份识别,隐私, 可审计性。 BLOCKCHAIN | TRANSACTIONS 经过共识过程进行 分布式交易账本处 理。 CHAIN-CODE “智能合约”, 提供 在区块链上运行业 务逻辑的能力。 APIs, SDKs, CLI 为开发人员提供以 可编程方式控制区 块链网络的能力。
单节点和多节点网络
若OBC网络中只有一个VP节点(极端简化),则应用程序可以直接与该节点连接,执行其上 的Chaincode代码,这时VP节点只需要记账,不需要共识
若OBC网络中有多个VP节点,则应用程序可以通过NVP节点(NVP与应用程序可以一对多) 间接访问VP(NVP与VP之间多对一),这时VP节点需要验证交易、运行代码、记录账薄、达 成共识
智能合约
合约中的商业规则内嵌在区块链系统中,在 交易时被执行
可验证的、被签署的 编码在编程语言中 案例:
– 在公司债权发生转移时执行定义的合同条 款
什么是区块链?
10
© 2016 IBM Corporation
隐私保护
什么是区块链?
账本是共享的,但是参与者要求其具有隐私保护 参与者需要:
– 交易确认的成本降低
多种替代方案Fra Baidu bibliotek
– 权益证明, 欺诈性交易产生时需要验证 (如债券交 易)
– 多个签名(如5个参与者中3人的同意)
企业级区块链需要“可插拔的”共识
12
什么是区块链?
© 2016 IBM Corporation
行业采用区块链的好处
减少成本及复杂度 提高可发现性
13
为什么与业务相关?
© 2016 IBM Corporation
区块链运营对比
17
© 2016 IBM Corporation
IBM开放区块链与Linux社区——开放持续投入
IBM区块链
应用部分
区块链行业应用
增值部分 (模块、工具、
封装)
SDK(API) 共识算法库(插入模块) 成员管理策略 区块链网关 开发工具 管理控制台
应用程序可以连接在验证节点,也可以连接在非验证节点
成员服务 Member Services
用户Client
用户Client
在OBC网络中需要有一个密钥管理结节,考虑到PBFT算法的3f+1共识机制,典型的容错(允许
一23 个节点故障)环境需要有4个Validation Peer节点
© 2016 IBM Corporation
1 区块链技术介绍
2 OBC组网与智能合约 3 智能合约的开发与示例
© 2016 IBM Corporation
序
”继互联网后的又一大变革时代到来”、“互联网金融的终极形式”、 “价值互联网的开端”、“Record of Things 记录一切”……
区块链在短短时间内获得了巨大的涟漪效应,IBM在2016年2月开放 了OpenBlockChain技术并贡献给了Linux社区,引起了业界巨大轰 动。那么区块链到底是怎样的一项颠覆性技术?其特点是什么?IBM 区块链平台的特点是什么?未来会如何演变?区块链应用与已有应用 的关系是什么?本片将对这些问题逐一解链并进行探讨。
Application
Chaincode
Validating Peer
Application
Non-Validating Peer
24
Member Services
Validating Peer
© 2016 IBM Corporation
商业票据的Blockchain应用-星形架构
25
© 2016 IBM Corporation
更进一步——什么是(企业级)区块链
什么是区块链?
区块链是一种分布式多节点“共识”实现技术,通过区块链可以完整、“不可篡改”地记 录价值转移(交易)的全过程。区块链的形成按照时间先后顺序进行连接,每一个参与共 识形成的节点都有一份区块链信息的完整副本。
跨商业网络共享的,不 可更改的,分布式交易 记录系统
私有链
4
区块链技术的分类?
© 2016 IBM Corporation
区块链是支撑比特币的底层关键技术
1.
是不受监管的,抗审查的影子货币
2. 区块链确保“类现金”的货币流通
• 唯一的,
• 不可篡改
• 确定的
3.
是区块链首个应用
• 区块链 不是
什么是区块链?
5
© 2016 IBM Corporation
可信的记录保存
共享的可信流程
© 2016 IBM Corporation
区块链——并非万能
不适用场景 1. 高性能(毫秒级)交易 2. 小型组织 (无商业网络) 3. 寻找数据库的替代方案 4. 寻找消息传递的解决方案 5. 寻找交易处理的替代方案
为什么与业务相关?
14
© 2016 IBM Corporation
共享账本
智能合约
交易条款和交易状态内 嵌在区块链系统中,驱动 交易执行
保证共享账本适当的可 见性;保证交易是真实 和可验证的
隐私保护
共识
所有参与者一致同意才 意味着交易在网络中通 过验证
更广泛的参与,更低的成本,更高的效率
6
© 2016 IBM Corporation
比特币帐本
7
什么是区块链?
© 2016 IBM Corporation
第二,永不宕机。因为成员的动态运算机制,所有成员节点,
进行实时同步,无法实现局部控制,全球节点的随机分布和相 应在运算时钟和动态时间戳的控制下,永远不停机, 信用连续。
第三,成员监管。区块链强信任的技术特点,来自其节点成
员无中心的安全职责,成员局部的协作综合实现了体系安全的 监管全部,融监管与过程之中,实现了系统学中安全的正反馈 机制,在目前的计算条件下,尚无法通过跨越动态时间戳的可 靠超越, 信用连续。
非验证节点(Non-Validating Peer) – 维护节点间的安全上下文(Secure Context) – 代表客户向成员服务或验证节点请求服务 – 向应用交付事件(Event) – 处理API请求
应用(Application) – 认证客户 – 把客户映射到安全上下文(Secure Context) – 调用REST API
Confidentiality – 保密。OBC中只有交易相关方可以看到交易内容,其它无关节点只能验证交易的真实性
Auditability – 审计。如果把审计方加入OBC交易,则它可以看到交易,从而审计是否合规
20
© 2016 IBM Corporation
帐本结构示意
21
© 2016 IBM Corporation
基础部分 共享账簿 (Shared Ledger)
核心API
代码运行环境 账簿数据结构 模块化(可插式)共识框架 模块化(可插式)身份服务 P2P网络技术升级包
IBM在Blockchain 上持续投入,致力于 行业应用 – 是Linux开源社区 Hyperledger的主 要贡献方,致力于协同其他公司共同 研发,公布Open Ledger标准(规 格说明书),创建基于Linux的开源 共享账簿(比Bitcoin更适合行业应 用) – 推动区块链技术在行业中的应用(行 业区块链) – Blockchain已经作为一种实验性 (网络)服务在Bluemix上推出 – 基于LinuxOne的开放计算平台对 Blockchain的支持 – ……