版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
比特币系统介绍比特币的技术基础基于默克尔树的交易记录结构
基于哈希函数的工作量证明算法
基于P2P网络的数据广播信道利用哈希函数构造工作量证明对于一个输入X,得到Y=H(X)。如果Y<T,那么X是一个有效的输入。由于哈希函数是不可逆的,不能通过指定Y直接找到对应的X。因此找到有效输入的唯一方法是暴力搜索大量的X。找到一个有效的输入,意味着进行了大量的暴力搜索,也就是证明花费了相应的工作量。找到一个有效输入所需尝试测试N的数学期望为基于工作量证明构造区块链为了保证每次工作量证明都是全新的且不能更改,将前一个工作量证明的输出作为下一个工作量证明输入的一部分,工作量证明过程形成一个链条。链条上的每一笔数据包含上一个块输出信息和一个随机数X,这笔有效的数据称为一个区块交易数据与区块链的结合用户生成区块时,将自己当前网上的交易数据作为输入的一部分包含进去。包含进区块的交易数据不可更改,否则将破坏区块的链条连接。区块链竞争裁决比特币及区块链使用基于P2P网络的广播通信,新生产区块以及交易数据通过节点间的泛洪传递到所有节点。无中心分布式网络中,各个节点所产生与接收的区块是可能不同的。产生不同区块链后,用户选择长度最长的区块链。区块链输出的一致性如果诚实用户算力占优,则所有用户将输出相同的最长链比特币区块链结构创世块version (4bytes)prev (32bytes)time (4bytes)bits (4bytes)nonce (4bytes)Txroot (32bytes)80bytesBH1coinbaseTxHprevTxrootcoinbaseTxHBH2prevTxrootHBH3…区块头-80字节version:版本号time:
区块生成时间,由生成区块的矿工填写,如果时间与当前时间相差较多将会被拒绝bits:工作量证明的难度系数nonce:工作量证明的随机数Txroot:交易组成的默克尔树的根Prev:前一个区块的哈希值区块链浏览器-区块高度信息单个区块信息区块技术信息区块包含交易信息比特币的发行比特币系统所有交易使用的比特币也均来自之前矿工生成区块的奖励。通过这个机制,一方面实现了比特币的去中心化发行,一方面实现了对矿工的激励机制。比特币的挖矿奖励在每个区块的第一个交易中声明,该交易称为铸币交易(CoinbaseTransaction)。铸币交易中指明了获得奖励的账户地址,也就是生成区块矿工的地址。
比特币地址信息编码比特币的发行数量比特币系统为了保持供应的稀缺性,其采用了类似地球黄金储量有上限的机制来限制总的供应量。在初始阶段,每个区块奖励50个比特币,并且每210000个区块高度,奖励数减半,因此比特币总数量C计算如下:
比特币的手续费矿工除了挖矿奖励还能得到交易的手续费,尤其当挖矿奖励趋近于零后,矿工的主要收入将来自于交易手续费比特币手续费曲线比特币的交易模型比特币没有采用传统的账户余额模型,而是采用了未花费交易输出(UTXO)模型比特币交易格式input[0]input[1]input[2]output[0]output[1]witnesseslocktime锁定时间隔离见证能够包含这个交易的区块生成最早时间输入输出TxIDout-indexScriptSigseq输入交易地址输入交易编号解锁脚本程序ignoreinput:valueScriptPK输出金额锁定脚本程序output:输出金额value是以10-8个BTC为单位TxID=H(Tx)(不包含witnesses)比特币交易例子2ScriptPK5ScriptPKinputTxIn[0]TxOut[0]TxOut[1]Tx1:UTXO1UTXO20locktimeTxIDTxIn[0]TxOut[0]Tx2:outputoutputTxOut[1]UTXO31ScriptSigUTXO40UTXO:unspentTxoutputvaluevalue(存入交易)(花费交易)☓交易验证执行矿工验证交易的每一个输入,每个交易必须满足下面的三个条件验证交易金额的有效性,交易输入总值≥输出总值,避免超额花费验证每笔输入的有效性,每个输入指定的TxID|index在当前的UTXO集合中,避免双花拼接执行每笔输入的ScriptSig|ScriptPK脚本代码,执行结果返回true,验证花费没有被盗花交易完成(写入区块)后,矿工将该UTXO从UTXO集合中删除交易脚本代码拼接DUPHASH256<pkhash>EQVERIFYCHECKSIG<sig><pk>ScriptSigScriptPKScriptSig|ScriptPK
<sig><pk>DUPHASH256<pkhash>EQVERIFYCHECKSIG交易脚本代码执行利用栈执行拼接代码,遇到操作数入栈,遇到操作码利用栈顶元素执行相应操作<sig><pk>DUPHASH256<pkhash>EQVERIFYCHECKSIGstack: empty init <sig><pk> pushvalues <sig
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 蜂产品加工工安全素养竞赛考核试卷含答案
- 装配钳工岗前沟通技巧考核试卷含答案
- 野生植物培植工安全培训效果水平考核试卷含答案
- 视频创推员工艺分析竞赛考核试卷含答案
- 硬质合金深度加工工创新应用能力考核试卷含答案
- 烧结成品工岗前实操知识水平考核试卷含答案
- 景泰蓝釉料工安全宣传水平考核试卷含答案
- T/ZJZJ 003-2023既有建筑外墙饰面涂饰更新工程应用技术规程
- 制造业企业成本控制全案手册
- 关于协调处理供应链短缺问题的商洽函8篇范本
- 2026年乐山市人民医院招聘考试真题及答案解析
- 玻璃幕墙专项施工方案
- 2025年温州市鹿城区工会人员招聘考试试题及答案详解
- 护理病情观察课件
- 【课件】人民法院同步教学 2025-2026学年统编版道德与法治八年级下
- 2026年中科创达试工程师岗位笔目真题(考试直接用)附答案详解
- 短缺药品管理工作制度
- 2026届浙江省金丽衢十二校高三下学期第二次联考(二模)历史试题(含答案)
- GB/T 47047-2026海上结构物海上移动平台锚链轮
- 旅游景区管理培训课件
- 钢结构厂房柱安装施工方案
评论
0/150
提交评论