Qcon北京2018 《区块链服务在华为公有云平台上的重要问题设计实现及解决方法》 张子怡

2020-03-01 148浏览

  • 1.HUAWEI TECHNOLOGIES CO., LTD. www.huawei.com
  • 2.
  • 3.
  • 4.目 录 1. 区块链介绍及选型说明 2. 华为平台架构及使用介绍 3. 分布式系统共识问题 4. 密码学以及安全技术 HUAWEI TECHNOLOGIES CO., LTD.
  • 5.Hyperledger Fabric交易 流程 Hyperledger Fabric概述 和架构 传统记账系 统面临的挑 战 区块链技术 发展现状和 趋势 区块链带来 的解决方案 HUAWEI TECHNOLOGIES CO., LTD.
  • 6.传统商业网络面临的挑战 l l l l 每个参与方都有自己的账本,在交易发生时修改各自账本 为了协同各参与方需要增加中介等额外的工作及附加成本 由于业务条件(合同)- 重复分散在各个参与方造成整体业 务流程的低效 整个业务网络依赖于一个或几个中心系统,一旦中心系统发 生问题如欺诈、网络攻击或错误将导致整个商业网络混乱 账本 账本 账本 复杂账本 … 效率低下, 成本高, 易遭攻击 HUAWEI TECHNOLOGIES CO., LTD. 账本 账本
  • 7.技术组成 区块链系统价值 只可添加 提高效率 账本修改需共识 降低成本 哈希、公私钥对 降低风险 共享账本 共识算法 安全隐私 共享账本 可编程,图灵完备 促进互信 智能合约 l l 共享账本:区块链架构使每一个商业网络 的参与方共享同一帐本,当交易发生时, 通过点对点的同步更改所有账本 共识算法:网络参与者基于共识机制来保 证交易是共同验证的。商业网络满足政府 监管、合规及审计 HUAWEI TECHNOLOGIES CO., LTD. l 多中心化,共识, 可信, 不可篡改, 可追溯 l 安全隐私:使用密码算法确保网络上的参 与者仅仅可以看到和他们相关的账本内容, 确保交易的安全、授权和验证性。 智能合约:区块链也将资产转移交易相关 的合同条款嵌入交易数据库以做到满足商 务条件下交易才发生
  • 8.区块链技术演进 按许可性质分类 2009 2013 2015 可编程货币 可编程金融 可编程社会 功能: 数字货币 可编程 权限控制、隐私保护、 复杂合约 核心技术: POW共识 智能合约 高效可拔插共识 云服务 性能指标: 7 TPS 100+TPS 1000+TPS 组织形态: 公有链 公有链 联盟链 账本全公开 任何参与者可见 参与者都是匿名 账本联盟组织内公开 可实名参与过程 可满足监管AML/KYC 账本不公开 组织内可见 代表作品: 联盟链在合规性、隐私保护,复杂合约和交易效率有非常大的领先优势 HUAWEI TECHNOLOGIES CO., LTD.
  • 9.基本概念 l 身份认证: 插件式, 身份管理,隐私和交易审计 l 账本:分布式事物的账本状态在各个参与方达成共 识下可以更新 l 智能合约:可编程的账本,提供可以在区块链上运 行的业务逻辑 l APIs, SDKs,CLI:支持多语言的SDK可以使擅长不 同语言的研发开发自己的链上应用 l Peer:维护账本状态和管理链码的网络中的节点 l Orderer:共识节点,提供原子广播,使用可插拔 的共识引擎 l 通道:数据划分机制来控制交易只对参与方可见, 共识只在通道成员中发生 HUAWEI TECHNOLOGIES CO., LTD.
  • 10.HUAWEI TECHNOLOGIES CO., LTD.
  • 11.目 录 1. 区块链介绍及选型说明 2. 华为平台架构及使用介绍 3. 分布式系统共识问题 4. 密码学以及安全技术 HUAWEI TECHNOLOGIES CO., LTD.
  • 12.区块链 管理员 华为云区块链VPC Kubernetes Hyperledger 部署、管理和监控 BCS监控管理平台 Peer 节点 Peer 节 点 排序节点 物理机 /虚拟机 物理机 /虚拟机 华为云其他服务 云安全 人工智能 物理机 物理机 /虚拟机 /虚拟机 大数据分析 自动运维 用户认证系统 HUAWEI TECHNOLOGIES CO., LTD. 用户应用域 用户业务系统 Fabric SDK 智 能 合 约
  • 13.一键上链,节约80%的开发、部署成本;按需付费,统一运维和管理,减少60%的初始和运行成本; 一键快速部署区块链系统: 相对自建区块链:部署时间从天级降至分钟级 HUAWEI TECHNOLOGIES CO., LTD. 全方位、全生命周期区块链企业应用解决方案 一站式规划、采购、配置、开发、上线和运维
  • 14.智能合约基础 1、智能合约基础 多语言支持 2、高效、安全的智能合约引擎 • • • 支持Go、Java和NodeJS编写智能合约 使用Docker安全容器运行智能合约引擎 对智能合约引擎的威胁和逃逸行为进行全 面监控 3、可视化智能合约生命周期管理 链代码查看 HUAWEI TECHNOLOGIES CO., LTD. 链代码安装 链代码实例化
  • 15.云平台安全 华为云完整安全体系 安全合规:获得多项权威认证,安全的云平台 防篡改 区块链安全和隐私 用户和交易数据隐私保护 BCS安全隐私支持:国密支持、加法同态和零知识证明等 HUAWEI TECHNOLOGIES CO., LTD.
  • 16.共识算法 SOLO kafka(CFT) FBFT 节点数 1 2f+1 3f+1 错误节点容忍 不容忍 最多1/2个crash节点 最多1/3个拜占庭错误节点 交易性能 一般 10000+TPS 2000+TPS – 快速拜占庭容错算法(Fast Byzantine Fault Tolerance ) 从节点将消息发 送给主节点 HUAWEI TECHNOLOGIES CO., LTD. 主节点对交 易进行验证 每个节点收到2f个准 备消息后对交易进行 验证 从节点收到2f+1 个commit后进行 写区块
  • 17.u 简单易用 • • • • 5分钟完成区块链配置、部署,相对于自建节约80%开发部署时间和成本 开发、测试、部署、管理和监控全覆盖 同时支持联盟链和私有链 和华为云其他服务打通 u 高可用 u 高性能 • • • • • 动态邀请联盟成员,快速组建联盟链 按需付费、节点弹性伸缩,故障自动恢复 可扩展、海量弹性文件存储共享账本。 支持SQL访问和存储共享账本 支持Go,Java等多语言智能合约 u 高安全 • • • • • • 华为云安全立体安全防护 多级加密:签名、通道、内容 支持国密、加法同态保护数据隐私 零知识证明保护用户隐私 HUAWEI TECHNOLOGIES CO., LTD. • 秒级共识。 多种高效共识算法可选 (kafka, FBFT) 交易性能2000-10000 TPS 电信级网络,系统延时小于300毫秒 u 全球部署 • • • 支持华为云大陆和香港站点部署 规划和合营云全球公有云部署区块链 (德电、法电等) 和私有云结合形成混合部署
  • 18.目 录 1. 区块链介绍及选型说明 2. 华为平台架构及使用介绍 3. 分布式系统共识问题 4. 密码学以及安全技术 HUAWEI TECHNOLOGIES CO., LTD.
  • 19.共识 机制 概览 工作量证明机制(PoW)· 股权证明机制(PoS)· 权威证明机制(PoA)· 证明 类共 识机 制 投票 类共 识机 制 区块链共 识改进思 路 HUAWEI TECHNOLOGIES CO., LTD. 结合 的共 识机 制 · 不考虑拜占庭容错 (Paxos/RAFT) · 考虑拜占庭容错(BFT)
  • 20.一致性问题 什么是拜占庭 问题? N > 3f+1 共识算法 FLP不可能原理 HUAWEI TECHNOLOGIES CO., LTD.
  • 21.工作量证 明机制 (PoW) 股权证 明机制 (PoS) 权威证明 机制PoAClique HUAWEI TECHNOLOGIES CO., LTD.
  • 22.经典Paxos 不考虑拜 占庭 (RAFT) 投票类共 识机制 拜占庭容 错机制 (PBFT) HUAWEI TECHNOLOGIES CO., LTD. 拜占庭容 错机制 (其他 BFT类)
  • 23.原理理 VRF函数的特点 优点 缺点 HUAWEI TECHNOLOGIES CO., LTD. • 节点先通过VRF算法选举出⼀一批节点作为committee成员节 点,这些节点会通过BFT共识后确认⼀一个最终⼀一致性的结果, 最后通过gossip⼴广播将区块分发给所有节点。 • 选举结果不不可预知性; • 选举结果数量量确定性 • 没有分叉; • 防⽌止节点作恶; • 具有很好的可扩展性 • 缺乏算法完备性; • 相对⾼高的延迟
  • 24.共识算法名称 中⼼心化 实⽤用拜占庭容错 (PBFT) 部分去中⼼心化, 预设了了决策⻆角⾊色 (⽆无Leader) Paxos/Raft Paxos允许有多 个Leader,Raft 有单⼀一Leader ⼯工作量量证明 Proof-ofWork(PoW) 完全去中⼼心化 股权持有证明 Proof-ofStake(PoS) 持有更更多股份者 有较⼤大权利利,可 能有中⼼心化倾向 延时/吞 吐量量 ⼀一致性 适⽤用区块链 场景 备注 最终收敛 N/A 后⾯面所有协议本质上都是拜占庭容错的改进。⼏几位将军如何在有 ⼀一定数量量个叛徒的条件下达成⼀一致决策,即分布式系统如何在部 分信任环境下如果取得状态⼀一致 低/⾼高 最终收敛 私有链、信 任度⾼高的联 盟链 简化了了拜占庭将军问题,排除拜占庭节点的存在,仅考虑节点之 间由于⽹网络中断、系统崩溃等原因导致⽆无法正常沟通时的状态⼀一 致性问题 ⾼高/低 依概率收 敛 公有链 ⾸首个在完全不不信任的⽹网络环境中可以达成状态⼀一致的共识算法; 需要消耗⼤大量量的计算资源,安全性依赖⽹网络中诚实节点的计算资 源总和 公有链、联 盟链 克服了了PoW浪费⼤大量量算⼒力力的缺点。PoS的基本原理理是将区块链系 统内⽤用户的⼀一部分资源作为其信⽤用的凭证,让其在⼀一致性决策时 拥有较⼤大的话语权。例例如和PoW结合可以依据资产降低挖矿难度; 或者由资产最多的⽤用户选择100位其它⽤用户作为代表决策投票; 或每若⼲干块由持股⼈人投票持久化分⽀支;设计时考虑需短程攻击、 ⻓长程攻击、⽆无成本作恶等问题 低/较⾼高 中/依赖 实现 依赖实现 典型改进协议 (Ripple、Stellar、 依赖实现 Tendermint等) 低/⾼高 最终收敛 联盟链 Ripple是拜占庭容错的⼀一个实现,每个节点可以按照规则信任其 它节点,每个共识周期中对尚未确认的Tx进⾏行行多轮投票来决定是 否将其永久记录;Tendermint可以看作是PoS和PBFT的结合; Stellar恒星协议是提供了了更更灵活信任容忍度的经典PBFT改进⽅方 案 Intel PoET HUAWEI TECHNOLOGIES CO., LTD. 去中⼼心化 (Elapse Time) 低/⾼高 最终收敛 联盟链 使⽤用Intel的可信执⾏行行环境(TEE),根据芯⽚片产⽣生的等待时间随 机产⽣生Leader,⽣生成新的Block;所有节点必须使⽤用Intel的芯⽚片
  • 25.– 快速拜占庭容错算法(Fast Byzantine Fault Tolerance ) 从节点将消息发 送给主节点 HUAWEI TECHNOLOGIES CO., LTD. 主节点对交 易进行验证 每个节点收到2f个准 备消息后对交易进行 验证 从节点收到2f+1 个commit后进行 写区块
  • 26.目 录 1. 区块链介绍及选型说明 2. 华为平台架构及使用介绍 3. 分布式系统共识问题 4. 密码学以及安全技术 HUAWEI TECHNOLOGIES CO., LTD.
  • 27.哈希算法(Hash) 一段数字内容的Hash可以用于验证数据的完整性 数字内容的微小修改都会引起Hash值的巨大变化 合格的Hash算法很容易由数字内得到Hash值, 却几乎不可能通过Hash值反算出原数字内容 • • • 公私钥体系(PKI) • 公私钥体系是现在加密通讯的基石,通过加密算法随机生成公私钥对,一般私钥需要在用户手中绝对安全保存,保证只有用户才能接触到, 公钥可以对外公开。可靠的加密算法可以保证任何人无法通过公钥计算出其对应的私钥 基于PKI的加密(Encryption) • 加密一般是指向特定用户发送加密内容,保证只有接收方才能解密原内容。具体地,发送方用接收方的公钥加密原内容,得到密文,将密 文发送给接收方,接收方用自己的私钥便可由密文解密(Decryption)出原内容 基于PKI的签名(Signature) • 签名用于他人验证消息内容确实来自声明的内容发送者。具体地,内容发送者发送一段明文,并将明文的Hash用自己的私钥加密,生成 签名。任何接收方收到明文后,同样对明文进行Hash,然后用发送者的公钥解密签名,将得到的数据与自己对明文Hash的结果对比如果 一致,则可以证明消息确实是该公钥对应的私钥持有者发出的 HUAWEI TECHNOLOGIES CO., LTD.
  • 28.国密算法 身份服务 应用 应用 Peer (Endorser/commiter) Orderer Orderer Orderer Orderer Peer (Endorser/commiter) 应用 Peer (Endorser/commiter) HUAWEI TECHNOLOGIES CO., LTD. Peer (Endorser/commiter) 应用 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── peers │ ├── peer0.org1.example.com │ │ ├── msp │ │ │ ├── admincerts │ │ │ │ └── Admin@org1.example.com-cert.pem │ │ │ ├── cacerts │ │ │ │ └── ca.org1.example.com-cert.pem │ │ │ ├── keystore │ │ │ │ ├── aeddeddd3f2e9cff9df633ebb1f94593c1af5889a0fa3ff2dc18b93754392c06_sk │ │ │ │ └── e793df0a0c15141f643f7dd28fa53ef4270778f647f2740d52b88958e7b2f2d7_sk │ │ │ ├── signcerts │ │ │ │ └── peer0.org1.example.com-cert.pem │ │ │ └── tlscacerts │ │ │ └── tlsca.org1.example.com-cert.pem │ │ └── tls │ │ ├── ca.crt │ │ ├── server.crt │ │ └── server.key │ └── peer1.org1.example.com │ ├── msp │ │ ├── admincerts │ │ │ └── Admin@org1.example.com-cert.pem │ │ ├── cacerts │ │ │ └── ca.org1.example.com-cert.pem │ │ ├── keystore │ │ │ ├── 2382e79a6a79843472b1b8c4fd058fcfdcde3fc2aff4453d524fc9e2bd7cf3b3_sk │ │ │ └── 51c4a538ef160f608af028956843ac7e255181078f14ef4c1c563f8775e181da_sk │ │ ├── signcerts │ │ │ └── peer1.org1.example.com-cert.pem │ │ └── tlscacerts │ │ └── tlsca.org1.example.com-cert.pem │ └── tls │ ├── ca.crt │ ├── server.crt │ └── server.keySM1:为对称加密。其加密强度与AES相当。该算法不公开, 调用该算法时,需要通过加密芯片的接口进行调用。SM2:为非对称加密,基于ECC。该算法已公开。由于该算 法基于ECC,故其签名速度与秘钥生成速度都快于RSA。 ECC 256位(SM2采用的就是ECC 256位的一种)安全强度 比RSA 2048位高,但运算速度快于RSA。SM3:消息摘要。可以用MD5作为对比理解。该算法已公开。 校验结果为256位。SM4:无线局域网标准的分组数据算法。对称加密,密钥长 度和分组长度均为128位。
  • 29.同态加密 问题:A向B转账10元,需要区块链节点记账,但是不想让区块链节点知道交易金额以及最新余额 2 1 交易 2 区块节点计算A:'>A: