区块链技术的介绍

上传人:xmg****18 文档编号:120458696 上传时间:2020-02-06 格式:PPT 页数:56 大小:5.33MB
返回 下载 相关 举报
区块链技术的介绍_第1页
第1页 / 共56页
区块链技术的介绍_第2页
第2页 / 共56页
区块链技术的介绍_第3页
第3页 / 共56页
区块链技术的介绍_第4页
第4页 / 共56页
区块链技术的介绍_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《区块链技术的介绍》由会员分享,可在线阅读,更多相关《区块链技术的介绍(56页珍藏版)》请在金锄头文库上搜索。

1、区块链技术的起源 演进与发展 从比特币到区块链 1 2 3 从比特币到区块链 4 什么是比特币 1 1比特币的起源 Apurelypeer to peerversionofelectroniccashwouldallowonlinepaymentstobesentdirectlyfromonepartytoanotherwithoutgoingthroughafinancialinstitution SatoshiNakamoto Bitcoin apeertopeerelectroniccashsystem 2008 比特币采用密码技术来控制货币的产生和转移 因此被称为密码货币 Crypto

2、currency 比特币采用去中心化的发行方式 通过工作量证明计算产生 采用分布式账本技术 区块链 来确认并记录所有的交易过程 通常被认为是区块链的第一个成功应用案例 什么是比特币 1 1比特币的起源 BitCoin网络中的任意两个用户可在无可信第三方参与的情况下进行P2P交易 并将每笔交易计入总帐中 如何解决信任问题 在比特币出现之前 一般采用建立可信第三方机构的方法 对交易进行记录 这种情景下 数字货币的流通对第三方机构的依赖程度很高 所以要求第三方具有很强的可靠性 同时存在第三方作恶的可能性 能不能构建一个去中心化的可信的记账系统呢 1 1比特币的起源 比特币的信任构建方法 1 1比特币

3、的起源 1 2 3 从比特币到区块链 4 比特币中的区块链 1 2比特币中的区块链 BitCoin采用了去中心化的区块链技术来完成交易记账 比特币中的区块链 比特币网络 账本 区块 1 2比特币中的区块链 区块 区块是一种记录交易的数据结构 每个区块由区块头和区块主体组成 区块头包含了除了交易相关信息以外的所有信息 区块主体负责记录前一段时间内的所有交易信息 区块整体结构 区块示意图 区块头结构 1 2比特币中的区块链 区块链 每个区块通过包含上一区块hash值的方式 使得区块 链接 起来构成区块链 1 2比特币中的区块链 1 2 3 从比特币到区块链 4 公钥 地址 公钥通过这样一个过程得到

4、 K k G 其中k是私钥 G是椭圆曲线 成点的常数点 K是所得公钥 其反向运算 被称为离散对数问题 即已知公钥K来求出私钥k是 常困难的 比特币地址是由公钥经过哈希运算再经过Base58Check编码后生成的 它是系统中用户的身份标识 1 3比特币中的交易 私钥 个 特币地址中的所有资 的控制权取决于相应私钥的所有权和控制权 在 特币交易中 私钥 于 成 付 特币所必需的签名以证明资 的所有权 比特币私钥其实是随机生成的二进制随机数 有效私钥的范围取决于比特币使用的椭圆曲线数字签名标准 私钥必须保密和备份 1 3比特币中的交易 交易 笔 特币交易是 个含有输 值和输出值的数据结构 创建交易的

5、过程就是 填写 交易需要的数据 交易结构 1 3比特币中的交易 交易的结构 特币交易的基本单位是未花费的交易输出 简称UTXO UnspentTransactionOutput 比特币币值最小单位是聪 类似于人民币中的分 1聪为0 00000001个比特币 UTXO是一定数量的聪 被交易消耗的UTXO称为交易输 由交易创建的UTXO称为交易输出 1 3比特币中的交易 交易过程 1 3比特币中的交易 交易示例 Alice下载一个比特币客户端 客户端自动生成一个钱包 随机生成一个私钥和对应的比特币地址 1 3比特币中的交易 获取比特币 向朋友Joe现金购买 按下发送键后钱包创建一笔交易Joe的私钥

6、签名这笔交易公告比特币全网矿工通过 挖矿 使交易包括在一个区块中将区块存储到全网公开账本 区块链 交易示例 1 3比特币中的交易 Alice去Bob的咖啡店消费 交易示例 1 3比特币中的交易 1 2 3 从比特币到区块链 4 挖矿 达成全网共识 验证交易每个全节点依据统一的标准对每个交易进 验证 验证交易通过后 将交易加入交易池中 构建区块矿 交易池中的一组交易构建 个候选区块的主题 再构建区块头 校验并广播区块矿工成功构建一个区块后 广播该区块到邻近节点 其他节点接到区块后依据统一的标准对区块进 独 验证 验证通过后再广播该区块 并将区块组装到节点保存的区块链上 将区块组装进区块链因为区块

7、链是去中 化的数据结构 所以不同节点间的状态会有不一致 但组装区块时 所有的节点都遵从选择 最长 的区块链 这样整个 特币 络最终会收敛到 致的状态 1 4挖矿原理概述 1 4挖矿原理概述 POW共识机制 POW ProofOfWork 工作量证明 核心思想是通过计算能力竞争的方式来保证数据一致性从而达成共识 在比特币系统中 各节点 即矿工 基于各自的计算机算力的相互竞争来解决一个求解困难但验证容易的问题 最快解决该难题的节点获得区块记账权 即该参与方创建了一个区块 所有其他参与方更新本地区块链 1 4挖矿原理概述 区块头结构 版本号区块版本号 表示本区块遵守的验证规则时间戳该区块产生的近似时

8、间 精确到秒前一区块hash值前一区块的哈希值 使用SHA256 SHA256 父区块头 计算 1 4挖矿原理概述 区块头结构 Merkle根hash值该区块中交易的Merkle树根的哈希值 用于验证交易是否存在 同样采用SHA256 SHA256 计算目标值该区块工作量证明算法的目标值目标值 最大目标值 难度值新难度值 旧难度值 过去2016个区块花费时长 20160分钟 其中最大目标值为一个恒定值 0 x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF随机数为了找到满足目标值所设定的随机数 1 4挖矿原理概述

9、POW过程 创建交易列表 通过MerkleTree算法生成Merkle根HashMerkle根Hash与其他相关字段组装成区块头 将区块头的80字节数据 BlockHeader 作为工作量证明的输入不停的变更区块头中的随机数即nonce的数值 并对每次变更后的的区块头做双重SHA256运算 即SHA256 SHA256 区块头 将结果值与当前网络的目标值做对比 如果小于目标值 则解题成功 工作量证明完成 1 4挖矿原理概述 POW 优点算法简单 容易实现节点间无需交换额外的信息即可达成共识破坏系统需要投入极大的成本缺点浪费能源区块的确认时间难以缩短 挖矿的作用 挖矿在构建区块时会创造新的比特币

10、 类似中央银行印发新的纸币 比特币的总数是固定的 创建比特币的速度随时间下降 挖矿创建信任 挖矿确保只有在包含交易的区块上贡献了足够的计算量后 这些交易才被确认 区块越多 花费的计算量越大 数据越难篡改 意味着更多的信任 挖矿实现了在没有中 机构的情况下 也能使整个 特币 络达成共识 1 4挖矿原理概述 区块链技术的演进 区块链的演进 狭义来讲 区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构 并以密码学方式保证的不可篡改和不可伪造的分布式账本 广义来讲 区块链技术是利用块链式数据结构来验证与存储数据 利用分布式节点共识算法来生成和更新数据 利用密码学的方式保证数据传

11、输和访问的安全 利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式 中国区块链技术和应用发展白皮书 2016 1 技术来源 2 区块链1 0 数字货币 区块链就是一种无须中介参与 亦能在互不信任或弱信任的参与者之间维系一套不可篡改的账本记录的技术 1 以区块为单位的链状数据块结构2 全网共享账本3 非对称加密4 源代码开源 3 区块链2 0 智能合约 智能合约区块链系统中的应用 是已编码的 可自动运行的业务逻辑 通常有自己的代币和专用开发语言 虚拟机EVM用于执行智能合约编译后的代码 虚拟机是图灵完备的 分布式应用 DAPP 包含用户界面的应用 包括但不限于

12、各种加密货币 如以太坊钱包 典型特征 4 区块链类型 区块链2 0的典型案例 以太坊 以太坊的目的是基于智能合约 竞争币和链上元协议概念进行整合和提高 使得开发者能够创建任意的基于共识的 可扩展的 标准化的 特性完备的 易于开发的和协同的应用 以太坊通过建立内置有图灵完备编程语言的区块链 使得任何人都能够在平台上创建合约和去中心化应用 并在其中设立他们自由定义的所有权规则 交易方式和状态转换函数 以太坊比比特币脚本所能提供的智能合约强大得多 POS共识机制 POS ProofOfStake 权益证明 核心思想 持有的权益越大 挖到区块的概率越大 2012年8月 SunnyKing 提出Peer

13、Coin PPC 首次采用PoW机制发行新币 采用PoS机制维护网络安全 只有持有PPC才能挖矿 参与网络安全的维护 POS 挖矿方程Hash Kernel Target 币龄Kernel类似于POW中的区块头 Target类似于POW中的随机数 可以看到币龄 即权益 越大 挖矿成功的概率越大 在PoS挖矿过程中 只需要客户端的PPCom钱包中有存储超过30天的PPC 就可以自动开始PoS挖矿 当挖到一个Block后 系统会消耗掉币龄 按照消耗的币龄数量来获得挖矿奖励 币龄 CoinAge 货币的持有时间段 比如A从B那里收到了10个币 并且持有90天 那么A就收集到了900币天 coin d

14、ays 的币龄 如果A使用了从B收到的这10个币 就认为A从这10个币上积累的币龄被消耗 销毁 了 POS 优点在一定程度上缩短了共识达成的时间不再需要大量消耗能源挖矿缺点记账权利可能过度集中在首次发行者 安全性得不到保证还是需要挖矿 本质上没有解决商业应用的痛点 联盟链案例 Hyperledger 联盟链案例 HyperledgerFabric的组成 PBFT共识机制 拜占庭将军问题拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军 问题是这些将军在地理上是分隔开来的 并且将军中存在叛徒 叛徒可以任意行动以达到以下目标 欺骗某些将军采取进攻行动 促成一个不是所有将军都同意的决定 如当

15、将军们不希望进攻时促成进攻行动 或者迷惑某些将军 使他们无法做出决定 如果叛徒达到了这些目的之一 则任何攻击行动的结果都是注定要失败的 只有完全达成一致的努力才能获得胜利 拜占庭假设是对现实世界的模型化 由于硬件错误 网络拥塞或断开以及遭到恶意攻击 计算机和网络可能出现不可预料的行为 PBFT PracticalByzantineFaultTolerance 实用拜占庭容错算法 在一个3f 1节点的分布式系统中 可以允许有不超过f个节点失效 PBFT 从全网节点选举出一个主节点 Leader 新区块由主节点负责生成Pre Prepare 每个节点把客户端发来的交易向全网广播 主节点0将从网络收

16、集到需放在新区块内的多个交易排序后存入列表 并将该列表向全网广播 扩散至123Prepare 每个节点接收到交易列表后 根据排序模拟执行这些交易 所有交易执行完后 基于交易结果计算新区块的哈希摘要 并向全网广播 1 023 2 013 3因为宕机无法广播Commit 如果一个节点收到的2f f为可容忍的拜占庭节点数 个其它节点发来的摘要都和自己相等 就向全网广播一条commit消息Reply 如果一个节点收到2f 1条commit消息 即可提交新区块及其交易到本地的区块链 PBFT 优点系统运转可以脱离币的存在 可用性强共识的时延短 基本达到商用实时处理的要求共识效率高 可满足高频交易量的需求缺点当有1 3或以上节点失效后 系统将无法提供服务不适合节点数量过多的场景 扩展性较差 fabric ca 联盟链案例 HyperledgerFabric1 0体系架构 Fabric1 0提出了将应用层共识同全局数据一致性算法相分离的设计逻辑 区块链应用场景 区块链应用场景 区块链的应用场景 需要从区块链自身的特性出发进行分析 区块链具有去中心化 不可篡改 安全可靠等特性 未来几年内 可能深入应用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号