区块链技术介绍

上传人:小** 文档编号:59279296 上传时间:2018-11-05 格式:PPTX 页数:55 大小:5.05MB
返回 下载 相关 举报
区块链技术介绍_第1页
第1页 / 共55页
区块链技术介绍_第2页
第2页 / 共55页
区块链技术介绍_第3页
第3页 / 共55页
区块链技术介绍_第4页
第4页 / 共55页
区块链技术介绍_第5页
第5页 / 共55页
点击查看更多>>
资源描述

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

1、区块链技术的起源、演进与发展,,,从比特币到区块链,,1,2,3,从比特币到区块链,4,,什么是比特币?,1.1比特币的起源,A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution. Satoshi Nakamoto, “Bitcoin: a peer to peer electronic cash system”,

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

3、性。,能不能构建一个去中心化的可信的记账系统呢?,1.1比特币的起源,,比特币的信任构建方法,1.1比特币的起源,,1,2,3,从比特币到区块链,4,,比特币中的区块链,1.2比特币中的区块链,BitCoin采用了去中心化的区块链技术来完成交易记账,,比特币中的区块链,比特币网络,账本,. . .,区块,1.2比特币中的区块链,,区块,区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成。区块头包含了除了交易相关信息以外的所有信息,区块主体负责记录前一段时间内的所有交易信息。,区块整体结构,区块示意图,区块头结构,1.2比特币中的区块链,,区块链,每个区块通过包含上一区块hash值的方

4、式,使得区块“链接”起来构成区块链。,1.2比特币中的区块链,,1,2,3,从比特币到区块链,4,,公钥、地址,公钥通过这样一个过程得到:K = k * G。其中k是私钥,G是椭圆曲线成点的常数点,K是所得公钥。 其反向运算, 被称为离散对数问题,即已知公钥 K 来求出私钥 k是常困难的。 比特币地址是由公钥经过哈希运算再经过Base58Check编码后生成的。它是系统中用户的身份标识。,1.3比特币中的交易,,私钥,个特币地址中的所有资的控制权取决于相应私钥的所有权和控制权。在特币交易中,私钥于成付特币所必需的签名以证明资的所有权。 比特币私钥其实是随机生成的二进制随机数,有效私钥的范围取决

5、于比特币使用的椭圆曲线数字签名标准。 私钥必须保密和备份。,1.3比特币中的交易,,交易,笔特币交易是个含有输值和输出值的数据结构。 创建交易的过程就是“填写”交易需要的数据。,交易结构,1.3比特币中的交易,,交易的结构,特币交易的基本单位是未花费的交易输出,简称UTXO(Unspent Transaction Output)。比特币币值最小单位是聪,类似于人民币中的分,1聪为0.00000001个比特币,UTXO是一定数量的聪。 被交易消耗的UTXO称为交易输。 由交易创建的UTXO称为交易输出。,1.3比特币中的交易,,交易过程,1.3比特币中的交易,,交易示例,Alice下载一个比特币

6、客户端。 客户端自动生成一个钱包,随机生成一个私钥和对应的比特币地址。,1.3比特币中的交易,,获取比特币,向朋友Joe现金购买。 按下发送键后 钱包创建一笔交易 Joe的私钥签名这笔交易 公告比特币全网 矿工通过“挖矿”,使交易包括在一个区块中 将区块存储到全网公开账本(区块链),交易示例,1.3比特币中的交易,,Alice去Bob的咖啡店消费。,交易示例,1.3比特币中的交易,,1,2,3,从比特币到区块链,4,,挖矿(达成全网共识),验证交易 每个全节点依据统一的标准对每个交易进验证。验证交易通过后,将交易加入交易池中。 构建区块 矿交易池中的一组交易构建个候选区块的主题,再构建区块头。

7、 校验并广播区块 矿工成功构建一个区块后,广播该区块到邻近节点。其他节点接到区块后依据统一的标准对区块进独验证,验证通过后再广播该区块,并将区块组装到节点保存的区块链上。 将区块组装进区块链 因为区块链是去中化的数据结构,所以不同节点间的状态会有不一致,但组装区块时,所有的节点都遵从选择“最长”的区块链,这样整个特币络最终会收敛到致的状态。,1.4挖矿原理概述,,1.4挖矿原理概述,POW 共识机制,POW(Proof Of Work),工作量证明。 核心思想是通过计算能力竞争的方式来保证数据一致性从而达成共识。 在比特币系统中,各节点 ( 即矿工 ) 基于各自的计算机算力的相互竞争来解决一个

8、求解困难但验证容易的 问题,最快解决该难题 的节点获得区块记账权,即该参与方创建了一个区块,所有其他参与方更新本地区块链。,,1.4挖矿原理概述,区块头结构,版本号 区块版本号,表示本区块遵守的验证规则 时间戳 该区块产生的近似时间,精确到秒 前一区块hash值 前一区块的哈希值,使用SHA256(SHA256(父区块头)计算,,1.4挖矿原理概述,区块头结构,Merkle根hash值 该区块中交易的Merkle树根的哈希值,用于验证交易是否存在, 同样采用SHA256(SHA256()计算 目标值 该区块工作量证明算法的目标值 目标值 = 最大目标值 / 难度值 新难度值 = 旧难度值 *

9、( 过去2016个区块花费时长 / 20160 分钟 ) 其中最大目标值为一个恒定值: 0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 随机数 为了找到满足目标值所设定的随机数,,1.4挖矿原理概述,POW过程,创建交易列表,通过Merkle Tree算法生成Merkle根Hash Merkle 根Hash与其他相关字段组装成区块头,将区块头的80字节数据(Block Header)作为工作量证明的输入 不停的变更区块头中的随机数即nonce的数值,并对每次变更后的的区块头做双重SHA256运算(即SHA25

10、6(SHA256(区块头)),将结果值与当前网络的目标值做对比,如果小于目标值,则解题成功,工作量证明完成。,,1.4挖矿原理概述,POW,优点 算法简单,容易实现 节点间无需交换额外的信息即可达成共识 破坏系统需要投入极大的成本 缺点 浪费能源 区块的确认时间难以缩短,,挖矿的作用,挖矿在构建区块时会创造新的比特币,类似中央银行印发新的纸币。比特币的总数是固定的,创建比特币的速度随时间下降。 挖矿创建信任。挖矿确保只有在包含交易的区块上贡献了足够的计算量后,这些交易才被确认。区块越多,花费的计算量越大,数据越难篡改,意味着更多的信任。 挖矿实现了在没有中机构的情况下, 也能使整个特币络达成共

11、识。,1.4挖矿原理概述,,区块链技术的演进,,区块链的演进,狭义来讲, 区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。 广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。 中国区块链技术和应用发展白皮书(2016),,1. 技术来源,,2. 区块链1.0数字货币,区块链就是一种无须中介参与,亦能在互不信任或弱信任的参与者之间维系一套不

12、可篡改的账本记录的技术。,1、以区块为单位的链状数据块结构 2、全网共享账本 3、非对称加密 4、源代码开源,,3. 区块链2.0智能合约,智能合约 区块链系统中的应用,是已编码的、可自动运行的业务逻辑,通常有自己的代币和专用开发语言。 虚拟机EVM 用于执行智能合约编译后的代码。虚拟机是图灵完备的。 分布式应用(DAPP) 包含用户界面的应用,包括但不限于各种加密货币,如以太坊钱包。,典型特征:,,4. 区块链类型,,区块链2.0的典型案例 - 以太坊,以太坊的目的是基于智能合约、竞争币和链上元协议概念进行整合和提高,使得开发者能够创建任意的基于共识的、可扩展的、标准化的、特性完备的、易于开

13、发的和协同的应用。以太坊通过建立内置有图灵完备编程语言的区块链,使得任何人都能够在平台上创建合约和去中心化应用,并在其中设立他们自由定义的所有权规则、交易方式和状态转换函数。以太坊比比特币脚本所能提供的智能合约强大得多。,,POS 共识机制,POS(Proof Of Stake),权益证明。 核心思想:持有的权益越大,挖到区块的概率越大。,2012年8月,“Sunny King”提出PeerCoin(PPC),首次采用PoW机制发行新币,采用PoS机制维护网络安全。只有持有PPC才能挖矿,参与网络安全的维护。,,POS,挖矿方程 Hash(Kernel)Target*币龄 Kernel类似于P

14、OW中的区块头,Target类似于POW中的随机数。可以看到币龄(即权益)越大,挖矿成功的概率越大,在PoS挖矿过程中,只需要客户端的PPCom钱包中有存储超过30天的PPC,就可以自 动开始PoS挖矿。当挖到一个Block后,系统会消耗掉币龄,按照消耗的币龄数量来获得挖矿奖励。,币龄(Coin Age) 货币的持有时间段。比如A从B那里收到了10个币,并且持有90天,那么A就收集到了900币天(coin-days)的币龄. 如果A使用了从B收到的这10个币,就认为A从这10个币上积累的币龄被消耗(销毁)了.,,POS,优点 在一定程度上缩短了共识达成的时间 不再需要大量消耗能源挖矿 缺点 记

15、账权利可能过度集中在首次发行者,安全性得不到保证 还是需要挖矿,本质上没有解决商业应用的痛点,,联盟链案例 Hyperledger,,联盟链案例 Hyperledger Fabric 的组成,,PBFT共识机制,拜占庭将军问题 拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。叛徒可以任意行动以达到以下目标:欺骗某些将军采取进攻行动;促成一个不是所有将军都同意的决定,如当将军们不希望进攻时促成进攻行动;或者迷惑某些将军,使他们无法做出决定。如果叛徒达到了这些目的之一,则任何攻击行动的结果都是注定要失败的,只有完全达成一致的努力才能获得胜利。,拜占庭假设是对现实世界的模型化,由于硬件错误、网络拥塞或断开以及遭到恶意攻击,计算机和网

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

当前位置:首页 > 商业/管理/HR > 管理学资料

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