区块链和比特币讲课资料.pptx

区块链和比特币讲课资料.pptx

ID:59503276

大小:3.47 MB

页数:28页

时间:2020-09-11

区块链和比特币讲课资料.pptx_第1页
区块链和比特币讲课资料.pptx_第2页
区块链和比特币讲课资料.pptx_第3页
区块链和比特币讲课资料.pptx_第4页
区块链和比特币讲课资料.pptx_第5页
资源描述:

《区块链和比特币讲课资料.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、区块链技术知识分享2018年6月9日Agenda区块链和比特币以太坊(Ethereum)及智能合约介绍超级账本(Hyperledger)项目和fabric区块链和比特币(1)-概述去中心化的账本,一种使用密码学的方法相关联产生的数据块匿名性+专属所有权难以篡改具有自治的能力区块链和比特币(2)-起源1976年,BaileyW.Diffie和MartinE.Hellman《密码学的新方向》发表(公钥加密理论),次年RSA算法诞生1980年,MerkleRalf提出Merkle-Tree数据结构和算法(区块中交易校验的手段)1982年,LeslieLamport等人提出拜占庭将军问题(共识

2、的基础)1985年,椭圆曲线加密(ECC)算法诞生(加密的基础)1990年,DavidChaum创立DigitalCash,第一种中心化不可追踪的加密数字现金系统1992年,ScottVanstone等人提出椭圆曲线加密数字签名算法(ECDSA)1997年,AdamBack发明Hashcash技术,为一种工作量证明算法(ProofofWork,POW),此算法依赖哈希函数的不可逆特性,达到容易被验证,但很难被破解的特性1998年,戴伟发布匿名分布式电子现金系统B-money,NickSzabo提出去中心化货币BitGold的理论2005年,HalFinney提出可重复使用的工作量证明机

3、制(RPOW),结合B-money与AdamBack提出的Hashcash算法进行数字货币试验区块链和比特币(3)-BTC诞生2008年11月1日,一个署名中本聪(SatoshiNakamoto)的人在一个小型密码学讨论组中发表了论文《比特币:一种点对点的电子现金系统》2009年1月3日,中本聪在位于芬兰赫尔辛基的一个小型服务器上挖出了第一笔50个比特币(创世区块)区块链和比特币(4)-BTC交易原理区块链和比特币(5)-UTXO和传统accountbased支付系统不同,比特币系统中使用区块来记录交易往来,本质为一种UXTO(UnspentTransactionOutput)方案、区

4、块账本记录的是交易(日志),而不是货币;每一笔交易都要消耗(spend)N笔输入,产生N笔输出;但输入总量和输出总量需要保持相等区块链和比特币(6)-区块完整的区块结构名称字节字段说明MagicNO4魔数表征网络协议,0xD9B4BEF9表示主网,0xDAB5BFFA表示testnetBlocksize4区块大小用字节表示的该字段之后的区块大小Blockheader80区块头组成区块头的几个字段Transactioncounter1-9交易计数器该区块包含的交易数量,包含coinbase交易Transactions不定交易记录在区块里的交易信息,使用原生的交易信息格式,并且交易在数据流

5、中的位置必须与Merkle树的叶子节点顺序一致区块头(Blockheader)结构名称字节数据类型描述Version4int32_t版本号表示所遵循的规则PreBlockHeaderHash32char[32]SHA256(SHA256())前一块头部的哈希MerkleRootHash32char[32]这块中所有交易的哈希Time4uint32_tUnix时间戳Bits4uint32_t难度系数Nonce4uint32_t随机数区块链和比特币(7)-区块Transactions结构Input结构名称字节数据类型描述Version4int32_t交易版本InputsCounter1-9

6、可变integer输入单数量InputsDetail-array输入单列表OutputsCounter1-9可变integer输出单数量OutputsDetail-array输出单列表LockTime4uint32_t锁定时间名称字节数据类型描述Previoustxhash32char[32]引用前一交易的hashPreviousOutputIndex4uint32_t被引用交易的Output的索引InputScriptLength1-9可变integer输入单列表InputScript/scriptSig--输入脚本SequenceNumber4uint32_tOutput结构名称字

7、节数据类型描述Amount/Value8uint32_t比特币数量InputScriptLength1-9uint32_t输出脚本长度OutputScript/scriptPubKey--输出脚本区块链和比特币(8)-脚本Hash:9c50cee8d50e273100987bb12ec46208cb04a1d5b68c9bea84fd4a04854b5eb1输入交易:前导输入的Hash: 437b95ae15f87c7a8ab4f51db5d3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。