您好,欢迎访问三七文档
区块链技术的起源、演进与发展•4.1区块链技术发展路线•4.2区块链技术发展前景•3.1金融服务•3.2.征信管理•3.3跨境投资管理•2.1区块链的演进•2.2区块链分类•2.3区块链关键技术•1.1比特币的起源•1.2比特币中的区块链•1.3比特币中的交易•1.4挖矿原理概述1.从比特币到区块链2.深入了解区块链4.区块链的未来3.区块链应用场景360yf.com从比特币到区块链360yf.com1比特币的起源2比特币中的区块链3比特币中的交易从比特币到区块链4挖矿原理概述360yf.com什么是比特币?1.1比特币的起源Apurelypeer-to-peerversionofelectroniccashwouldallowonlinepaymentstobesentdirectlyfromonepartytoanotherwithoutgoingthroughafinancialinstitution.—SatoshiNakamoto,“Bitcoin:apeertopeerelectroniccashsystem”,2008比特币采用密码技术来控制货币的产生和转移,因此被称为密码货币(Cryptocurrency)。比特币采用去中心化的发行方式,通过工作量证明计算产生,采用分布式账本技术(区块链)来确认并记录所有的交易过程,通常被认为是区块链的第一个成功应用案例。360yf.com什么是比特币?1.1比特币的起源BitCoin网络中的任意两个用户可在无可信第三方参与的情况下进行P2P交易,并将每笔交易计入总帐中。360yf.com如何解决信任问题?在比特币出现之前,一般采用建立可信第三方机构的方法,对交易进行记录。这种情景下,数字货币的流通对第三方机构的依赖程度很高,所以要求第三方具有很强的可靠性,同时存在第三方作恶的可能性。AB1010001101能不能构建一个去中心化的可信的记账系统呢?AB14235点对点网络1.1比特币的起源360yf.com比特币的信任构建方法通过区块链技术解决信任问题交易被打包成区块,区块“链接”在一起形成区块链选取最长链作为主链,全网共识,保证账本一致在多数人参与者是诚实的情况下,系统是安全的1.1比特币的起源360yf.com1比特币的起源2比特币中的区块链3比特币中的交易从比特币到区块链4挖矿原理概述360yf.com比特币中的区块链1.2比特币中的区块链BitCoin采用了去中心化的区块链技术来完成交易记账360yf.com比特币中的区块链14235比特币网络账本...1交易列表12交易列表23交易列表3n交易列表n区块1.2比特币中的区块链blockblock360yf.com区块区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成。区块头包含了除了交易相关信息以外的所有信息,区块主体负责记录前一段时间内的所有交易信息。神奇数区块大小交易计数交易Tx1,Tx2TxN版本号前一个区块的HASH值时间戳目标值随机数Merkle树根区块头结构区块结构区块整体结构区块示意图区块头结构1.2比特币中的区块链360yf.com区块链每个区块通过包含上一区块hash值的方式,使得区块“链接”起来构成区块链。1.2比特币中的区块链360yf.com1比特币的起源2比特币中的区块链3比特币中的交易从比特币到区块链4挖矿原理概述360yf.com公钥、地址▪公钥通过这样一个过程得到:K=k*G。其中k是私钥,G是椭圆曲线⽣成点的常数点,⽽K是所得公钥。▪其反向运算,被称为离散对数问题,即已知公钥K来求出私钥k是⾮常困难的。▪比特币地址是由公钥经过哈希运算再经过Base58Check编码后生成的。它是系统中用户的身份标识。1.3比特币中的交易360yf.com私钥▪⼀个⽐特币地址中的所有资⾦的控制权取决于相应私钥的所有权和控制权。在⽐特币交易中,私钥⽤于⽣成⽀付⽐特币所必需的签名以证明资⾦的所有权。▪比特币私钥其实是随机生成的二进制随机数,有效私钥的范围取决于比特币使用的椭圆曲线数字签名标准。▪私钥必须保密和备份。1.3比特币中的交易360yf.com交易▪⼀笔⽐特币交易是⼀个含有输⼊值和输出值的数据结构。▪创建交易的过程就是“填写”交易需要的数据。交易结构1.3比特币中的交易360yf.com交易的结构▪⽐特币交易的基本单位是未花费的交易输出,简称UTXO(UnspentTransactionOutput)。比特币币值最小单位是聪,类似于人民币中的分,1聪为0.00000001个比特币,UTXO是一定数量的聪。▪被交易消耗的UTXO称为交易输⼊。▪由交易创建的UTXO称为交易输出。1.3比特币中的交易360yf.com交易过程1.3比特币中的交易360yf.com交易示例▪Alice下载一个比特币客户端。▪客户端自动生成一个钱包,随机生成一个私钥和对应的比特币地址。1.3比特币中的交易360yf.com▪获取比特币,向朋友Joe现金购买。▪按下发送键后①钱包创建一笔交易②Joe的私钥签名这笔交易③公告比特币全网④矿工通过“挖矿”,使交易包括在一个区块中⑤将区块存储到全网公开账本(区块链)交易示例1.3比特币中的交易360yf.com▪Alice去Bob的咖啡店消费。交易示例1.3比特币中的交易360yf.com1比特币的起源2比特币中的区块链3比特币中的交易从比特币到区块链4挖矿原理概述360yf.com挖矿(达成全网共识)验证交易每个全节点依据统一的标准对每个交易进⾏验证。验证交易通过后,将交易加入交易池中。构建区块矿⼯⽤交易池中的一组交易构建⼀个候选区块的主题,再构建区块头。校验并广播区块矿工成功构建一个区块后,广播该区块到邻近节点。其他节点接到区块后依据统一的标准对区块进⾏独⽴验证,验证通过后再广播该区块,并将区块组装到节点保存的区块链上。将区块组装进区块链因为区块链是去中⼼化的数据结构,所以不同节点间的状态会有不一致,但组装区块时,所有的节点都遵从选择“最长”的区块链,这样整个⽐特币⽹络最终会收敛到⼀致的状态。1.4挖矿原理概述360yf.com1.4挖矿原理概述POW共识机制•POW(ProofOfWork),工作量证明。•核心思想是通过计算能力竞争的方式来保证数据一致性从而达成共识。•在比特币系统中,各节点(即矿工)基于各自的计算机算力的相互竞争来解决一个求解困难但验证容易的问题,最快解决该难题的节点获得区块记账权,即该参与方创建了一个区块,所有其他参与方更新本地区块链。360yf.com1.4挖矿原理概述区块头结构随机数版本号前一区块hash值Merkle根hash值时间戳目标值区块头结构•版本号区块版本号,表示本区块遵守的验证规则•时间戳该区块产生的近似时间,精确到秒•前一区块hash值前一区块的哈希值,使用SHA256(SHA256(父区块头))计算360yf.com1.4挖矿原理概述区块头结构随机数版本号前一区块hash值Merkle根hash值时间戳目标值区块头结构•Merkle根hash值该区块中交易的Merkle树根的哈希值,用于验证交易是否存在,同样采用SHA256(SHA256())计算•目标值该区块工作量证明算法的目标值目标值=最大目标值/难度值新难度值=旧难度值*(过去2016个区块花费时长/20160分钟)其中最大目标值为一个恒定值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF•随机数为了找到满足目标值所设定的随机数360yf.com1.4挖矿原理概述POW过程随机数版本号前一区块hash值Merkle根hash值时间戳目标值区块头结构创建区块头选取随机值计算hash(区块头)小于目标值?开始结束是否1.创建交易列表,通过MerkleTree算法生成Merkle根Hash2.Merkle根Hash与其他相关字段组装成区块头,将区块头的80字节数据(BlockHeader)作为工作量证明的输入3.不停的变更区块头中的随机数即nonce的数值,并对每次变更后的的区块头做双重SHA256运算(即SHA256(SHA256(区块头))),将结果值与当前网络的目标值做对比,如果小于目标值,则解题成功,工作量证明完成。360yf.com1.4挖矿原理概述POW优点•算法简单,容易实现•节点间无需交换额外的信息即可达成共识•破坏系统需要投入极大的成本缺点•浪费能源•区块的确认时间难以缩短360yf.com挖矿的作用▪挖矿在构建区块时会创造新的比特币,类似中央银行印发新的纸币。比特币的总数是固定的,创建比特币的速度随时间下降。▪挖矿创建信任。挖矿确保只有在包含交易的区块上贡献了足够的计算量后,这些交易才被确认。区块越多,花费的计算量越大,数据越难篡改,意味着更多的信任。▪挖矿实现了在没有中⼼机构的情况下,也能使整个⽐特币⽹络达成共识。1.4挖矿原理概述360yf.com区块链技术的演进360yf.com区块链的演进狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。——《中国区块链技术和应用发展白皮书(2016)》360yf.com1.技术来源360yf.com2.区块链1.0——数字货币区块链就是一种无须中介参与,亦能在互不信任或弱信任的参与者之间维系一套不可篡改的账本记录的技术。1、以区块为单位的链状数据块结构2、全网共享账本3、非对称加密4、源代码开源360yf.com3.区块链2.0——智能合约1.智能合约区块链系统中的应用,是已编码的、可自动运行的业务逻辑,通常有自己的代币和专用开发语言。2.虚拟机EVM用于执行智能合约编译后的代码。虚拟机是图灵完备的。3.分布式应用(DAPP)包含用户界面的应用,包括但不限于各种加密货币,如以太坊钱包。典型特征:360yf.com4.区块链类型共享目标共享账本共享状态机核心数据结构区块链分布式总账节点准入规则公有链联盟链专有链代际演进1.0支撑去中心化交易和支付系统2.0通过智能合约支撑行业应用3.0支撑去中心化的社会体系360yf.com区块链2.0的典型案例-以太坊以太坊的目的是基于智能合约、竞争币和链上元协议概念进行整合和提高,使得开发者能够创建任意的基于共识的、可扩展的、标准化的、特性完备的、易于开发的和协同的应用。以太坊通过建立内置有图灵完备编程语言的区块链,使得任何人都能够在平台上创建合约和去中心化应用,并在其中设立他们自由定义的所有权规则、交易方式和状态转换函数。以太坊比比特币脚本所能提供的智能合约强大得多。360yf.comPOS共识机制POS(ProofOfStake),权益证明。核心思想:持有的权益越大,挖到区块的概率越大。2012年8月,“SunnyKing”提出PeerCoin(PPC),首次采用PoW机制发行新币,采用PoS机制维护网络安全。只有持有PPC才能挖矿,参与网络安全的维护。360yf.comPOS挖矿方程Hash(Kernel)≤Target*币龄Kernel类似于POW中的区块头,Target类似于POW中的随机数。可以看到币龄(即权益)越大,挖矿成功的概率越大在PoS挖矿过程中,只需要客户端的PPCom钱包中有存储超过30天的PPC,就可以自动开始PoS挖矿。当挖到一个Block后,系统会消耗掉币龄,按照消耗的币龄数量来获得挖矿奖励。币龄(CoinAge)货币的持有时间段。比如A从B那里收到了10个币,并且持有90天,那么A就收集到了900币天(coin-days)的币龄.如果A使用了从B收到的这10个币,就认为A从这10个币上积累的币龄被消
本文标题:区块链技术介绍
链接地址:https://www.777doc.com/doc-3849262 .html