版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章比特币的工作原理12目录CONTENTS比特币与比特币的数据结构矿工与挖矿比特币区块链分叉比特币钱包与地址UTXO比特币的现状及未来发展01比特币与比特币的数据结构PART31.1比特币的认识比特币和区块链的关系是什么?用户参与记账的动力是什么?多人记账,谁说的算?41.1比特币的认识5如果区块链是一个池塘,比特币就是池塘里的一条鱼先有比特币,后有区块链的概念比特币是区块链的第一个实现比特币的核心原理也是区块链的核心原理1.1比特币的认识比特币数量与发行:2100万从哪来?比特币总量上限:2100万枚,不是一次性出现发行方式:区块奖励(BlockReward)
+
交易手续费(Fees)每产出1个区块
→获得奖励(最初
50BTC/区块)每210,000个区块减半一次(约4年)2009–2013:50BTC2013–2017:25BTC2017–2021:12.5BTC…递减直到接近0预计约
2140年左右,奖励趋近于零,主要靠手续费激励矿工61.1比特币的认识比特币获得途径挖矿获得:区块奖励+手续费交易所购买(合规平台)转账获得:他人向你的地址付款71.1比特币的认识比特币如何运转比特币区块链:全网共享的分布式账本,记录已确认交易钱包的核心:保存私钥/种子,用私钥对交易签名→证明“你有权花这笔币”哈希函数:保障交易/区块的完整性与时间顺序(篡改会导致哈希变化)交易传播与确认:交易广播→矿工打包→通常约
10分钟
产生新区块并被确认挖矿的意义:强制按时间顺序写入账本+让全网就系统状态达成一致81.2比特币的数据结构比特币的数据结构和前面介绍的区块链的数据结构基本一致91.2比特币的数据结构10字段描述版本区块链版本号父区块哈希值区块链中上一个区块的哈希值默克尔根该区块中交易的merkle树根的哈希值时间戳该区块产生的时间难度目标该区块产生的时间Nonce用于工作量证明算法的计数器1.2比特币的数据结构MerkleTree:区块内交易如何组织?叶子节点:每笔交易的哈希相邻两两合并再哈希→逐层向上→得到
MerkleRoot作用快速验证交易是否属于该区块只要根哈希不变,区块内交易整体就难以被篡改111.2比特币的数据结构Merkle
证明全节点:存区块头+区块体(含完整交易)轻节点:通常只存区块头(手机钱包常见)12如何向一个轻节点证明某个交易是写入区块链的?1.2比特币的数据结构13Merkle
证明轻节点想验证TX是否在区块里:向全节点请求
Merkle证明(提供路径上必要的兄弟哈希)轻节点本地自底向上计算根哈希与区块头中的MerkleRoot对比→一致则证明TX属于该区块特点:验证快、数据量小,但不能验证区块内“所有交易细节”02矿工与挖矿PART142.1什么是矿工矿工是比特币网络中的核心参与者负责对交易进行验证与记录通过计算竞争获得区块记账权成功出块的矿工可获得比特币奖励区块奖励随时间递减,用于控制发行总量152.2什么是挖矿挖矿是一种基于工作量证明(PoW)的机制矿工不断尝试不同随机数(Nonce)对区块头进行
SHA-256哈希计算使计算结果
小于目标阈值(target)成功后生成新区块并广播至全网16挖矿=
用算力争夺记账权
+获得奖励与手续费2.2什么是挖矿系统总算力不断增强,挖矿难度保持不变,出块时间就会越来越短。出块时间越来越短会有什么问题,比如说不到1s出一个区块,这个区块在网络上传输可能需要时间较长,几十s,距离远的节点在没有收到这个区块时会继续沿着已有的区块链往下继续扩展,如果有两个节点差不多同时都发布一个区块,这个时候会出现一个分叉。出块时间越来越短,分叉就会越来越频繁,越来越多。分叉过多对于系统达成共识是没有好处的,而且危害了系统的安全性。172.2什么是挖矿目标:保持平均
10分钟/区块机制:每
2016个区块
调整一次(约2周)调整思路:如果实际出块更快→提高难度(减小target)如果实际出块更慢→降低难度(增大target)限制:单次调整不会无限放大/缩小(避免剧烈震荡)为什么恶意矿工“不能不改难度”?因为区块合法性验证包含
nBits/target
校验,其他节点会拒绝不合规区块1803比特币区块链分叉PART193.1什么是分叉分叉:同时产生两个新区块自然分叉(短暂):两个矿工几乎同时出块+网络传播延迟最终效果:全网会收敛到同一条主链,另一条成为孤块/过时分支20不同高度的分支,总是接受最高(最长)的那条分支。相同高度的分支,接受难度最大的那条分支。高度相同且难度一致的,接受时间最早的那条分支。如果高度、难度、时间均相同,则按照从网络接受的顺序,等待区块链高度增加一,再重新选择最佳链。3.1软分叉-硬分叉软分叉(SoftFork):新规则更严格,旧节点仍可接受新块(前向兼容)优点:不一定分裂成两条货币链风险:设计受历史兼容性约束;升级/回滚复杂硬分叉(HardFork):新旧规则不兼容若全网统一升级:仍一条链若分裂运行:会形成两条链,可能出现“新币种”(如BCH)213.1软分叉-硬分叉软分叉(SoftFork):新规则更严格,旧节点仍可接受新块(前向兼容)优点:不一定分裂成两条货币链风险:设计受历史兼容性约束;升级/回滚复杂硬分叉(HardFork):新旧规则不兼容若全网统一升级:仍一条链若分裂运行:会形成两条链,可能出现“新币种”(如BCH)2204比特币钱包与地址PART234.1比特币钱包钱包本质:密钥管理器,管理私钥和公钥私钥:签名→控制资产的“钥匙”公钥:由私钥推导地址:对公钥做哈希与编码后的结果(常见Base58)24真正需要保护的不是比特币,而是私钥4.1比特币钱包常见钱包类型:桌面钱包、手机钱包、网页钱包、硬件钱包按私钥存储方式分为:
冷钱包(离线,安全性高)
热钱包(联网,使用方便)254.2比特币钱包地址形成原理比特币地址的形成原理首先随机生成一个
256位私钥私钥通过椭圆曲线算法生成公钥公钥经过
SHA-256与RIPEMD-160哈希加入版本号与校验值后进行
Base58编码最终得到我们常见的比特币钱包地址2605比特币钱包与地址PART275.1
UTXO的概念比特币系统中不存在账户概念,只有地址一笔转账本质是:从一个地址的未花费输出转移到另一个地址未被后续交易消费的交易输出称为UTXO(UnspentTransactionOutput)比特币采用的是基于“币”的模型,而非账户模型UTXO是比特币实现
去中心化、安全性与防双花的核心设计285.2
UTXO基本原理比特币交易遵守几个规则:第一,除了coinbase交易之外,所有的资金来源都必须来自前面某一个或者几个交易的UTXO,就像接水管一样,一个接一个,此出彼入,此入彼出,生生不息,钱就在交易之间流动起来了。第二,任何一笔交易的交易输入总量必须等于交易输出总量,等式两边必须配平。295.2
UTXO基本原理每一笔交易由
输入(Input)
和
输出(Output)
组成输入(Inputs)=引用以前交易产生的UTXO输出(Outputs)=新生成的UTXO(给收款人+找零)交易输入必须来自已有且未被花费的UTXO交易输出会生成新的UTXO“余额”:某地址名下所有UTXO金额之和全网节点共同维护
UTXO集合(UTXOSet)交易验证的核心:检查输入UTXO是否存在且未被花费30比特币像“现金找零系统”,一次花掉一张“旧钞”,生成几张“新钞”。5.2
UTXO基本原理315.2
UTXO基本原理交易#1001号交易是coinbase交易。比特币是矿工挖出来的。当找到一个合格的区块之后,它就能够创造一个coinbase交易,在其中放入一笔新钱,并且在交易输出的收款人地址一栏,写上自己的地址。这笔比特币的数额规定为12.5枚。这个coinbase交易随着张三挖出来的区块被各个节点接受,经过六个确认以后永远的记录在区块链中。张三打算付2.5个比特币给李四,张三就发起一#2001号交易,这个交易的资金来源项写着“#1001(1)”,也就是#1001号交易——张三挖出矿的那个coinbase交易——的第一项UTXO。然后在本交易的交易输出UTXO项中,把2.5个比特币的收款人地址设为李四的地址。请注意,这一笔交易必须将前面产生那一项12.5个比特币的输出项全部消耗,而由于张三只打算付给李四2.5个比特币,为了要消耗剩下的10比特币,他只好把剩余的那10个比特币支付给自己,这样才能符合输入与输出配平的规则。张三和李四打算AA制合起来给王五付5枚比特币。那么张三或李四发起#3001号交易,在交易输入部分,有两个资金来源,分别是#2001(1)和#2001(2),代表第#2001号交易的第(1)和第(2)项UTXO。然后在这个交易的输出部分里如法炮制,给王五5比特币,把张三剩下的7.5比特币发还给自己。以后王五若要再花他这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理管理学课件及答案
- 肺结节手术患者的术前教育及术后指导
- 审计案例公布制度
- 审计局信息化建设制度
- 交易风控制度
- 对下属基层审计制度
- 加工厂财务规章制度
- 审计署机关档案管理制度
- 套保风控制度
- 客户回款绩效考核制度
- (正式版)QB∕T 8049-2024 家用和类似用途微压富氧舱
- 2024年贵州省贵阳市消防支队招聘400人历年(高频重点提升专题训练)共500题附带答案详解
- 车辆工程专业英语
- 建筑边坡工程监测与检测技术规程
- 居然之家租赁合同
- 护理护士节活动策划方案
- HELLP综合征个案护理
- 浮盘拆除施工方案
- 2020全国行政区划-省市县列表
- JC846-2007 贴膜玻璃标准
- 水文地质学基础(课件)-中国地质大学(武汉)07-地下水补给
评论
0/150
提交评论