欢迎来到天天文库
浏览记录
ID:59503276
大小:3.47 MB
页数:28页
时间:2020-09-11
《区块链和比特币讲课资料.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
此文档下载收益归作者所有