比特币系统中是如何解决货币的发行与验证两大问题

比特币最重要的创新,不只是"数字货币",而是它在没有中央银行、没有商业银行清算系统、没有单一管理员的情况下,同时解决了两个核心问题:谁来发行货币 ,以及谁来验证交易是真的

在传统金融体系中,这两个问题通常由中心化机构完成:

问题 传统金融中的解决者 比特币中的解决者
货币如何发行? 中央银行、商业银行体系 协议规则 + 矿工竞争记账
交易如何验证? 银行、清算机构、支付网络 全节点独立验证 + 工作量证明共识

比特币把"信任某个机构"改造成了"验证一套公开规则"。

本文是对前面两章的学习作一篇补充。


文章目录


一、问题一:比特币如何发行货币?

1. 不是某个人发行,而是协议发行

比特币没有中央银行,也没有管理员可以随意增发。新币的发行规则写在比特币协议里,由网络中的节点共同执行。

比特币的新币来自每个新区块中的一笔特殊交易,叫做 Coinbase 交易。这笔交易没有普通意义上的付款方,它是矿工成功打包新区块后,按照协议规则获得的区块奖励。
#mermaid-svg-R4HTY1bwO5SCWTmy{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-R4HTY1bwO5SCWTmy .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-R4HTY1bwO5SCWTmy .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-R4HTY1bwO5SCWTmy .error-icon{fill:#552222;}#mermaid-svg-R4HTY1bwO5SCWTmy .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-R4HTY1bwO5SCWTmy .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-R4HTY1bwO5SCWTmy .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-R4HTY1bwO5SCWTmy .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-R4HTY1bwO5SCWTmy .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-R4HTY1bwO5SCWTmy .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-R4HTY1bwO5SCWTmy .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-R4HTY1bwO5SCWTmy .marker{fill:#333333;stroke:#333333;}#mermaid-svg-R4HTY1bwO5SCWTmy .marker.cross{stroke:#333333;}#mermaid-svg-R4HTY1bwO5SCWTmy svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-R4HTY1bwO5SCWTmy p{margin:0;}#mermaid-svg-R4HTY1bwO5SCWTmy .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-R4HTY1bwO5SCWTmy .cluster-label text{fill:#333;}#mermaid-svg-R4HTY1bwO5SCWTmy .cluster-label span{color:#333;}#mermaid-svg-R4HTY1bwO5SCWTmy .cluster-label span p{background-color:transparent;}#mermaid-svg-R4HTY1bwO5SCWTmy .label text,#mermaid-svg-R4HTY1bwO5SCWTmy span{fill:#333;color:#333;}#mermaid-svg-R4HTY1bwO5SCWTmy .node rect,#mermaid-svg-R4HTY1bwO5SCWTmy .node circle,#mermaid-svg-R4HTY1bwO5SCWTmy .node ellipse,#mermaid-svg-R4HTY1bwO5SCWTmy .node polygon,#mermaid-svg-R4HTY1bwO5SCWTmy .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-R4HTY1bwO5SCWTmy .rough-node .label text,#mermaid-svg-R4HTY1bwO5SCWTmy .node .label text,#mermaid-svg-R4HTY1bwO5SCWTmy .image-shape .label,#mermaid-svg-R4HTY1bwO5SCWTmy .icon-shape .label{text-anchor:middle;}#mermaid-svg-R4HTY1bwO5SCWTmy .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-R4HTY1bwO5SCWTmy .rough-node .label,#mermaid-svg-R4HTY1bwO5SCWTmy .node .label,#mermaid-svg-R4HTY1bwO5SCWTmy .image-shape .label,#mermaid-svg-R4HTY1bwO5SCWTmy .icon-shape .label{text-align:center;}#mermaid-svg-R4HTY1bwO5SCWTmy .node.clickable{cursor:pointer;}#mermaid-svg-R4HTY1bwO5SCWTmy .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-R4HTY1bwO5SCWTmy .arrowheadPath{fill:#333333;}#mermaid-svg-R4HTY1bwO5SCWTmy .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-R4HTY1bwO5SCWTmy .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-R4HTY1bwO5SCWTmy .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-R4HTY1bwO5SCWTmy .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-R4HTY1bwO5SCWTmy .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-R4HTY1bwO5SCWTmy .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-R4HTY1bwO5SCWTmy .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-R4HTY1bwO5SCWTmy .cluster text{fill:#333;}#mermaid-svg-R4HTY1bwO5SCWTmy .cluster span{color:#333;}#mermaid-svg-R4HTY1bwO5SCWTmy div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-R4HTY1bwO5SCWTmy .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-R4HTY1bwO5SCWTmy rect.text{fill:none;stroke-width:0;}#mermaid-svg-R4HTY1bwO5SCWTmy .icon-shape,#mermaid-svg-R4HTY1bwO5SCWTmy .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-R4HTY1bwO5SCWTmy .icon-shape p,#mermaid-svg-R4HTY1bwO5SCWTmy .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-R4HTY1bwO5SCWTmy .icon-shape .label rect,#mermaid-svg-R4HTY1bwO5SCWTmy .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-R4HTY1bwO5SCWTmy .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-R4HTY1bwO5SCWTmy .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-R4HTY1bwO5SCWTmy :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 否

矿工收集交易
构造候选区块
进行工作量证明 PoW
是否找到合格哈希?
广播新区块
全节点验证区块
区块被接受
矿工获得区块奖励和手续费

换句话说,比特币的发行不是"谁有权力谁发行",而是:

谁按照规则完成了记账竞争,谁就能获得本轮协议允许的新币奖励。


2. 工作量证明:让发行权变成公开竞争

比特币使用 工作量证明(Proof of Work, PoW) 来决定谁有资格写入下一个区块。

矿工需要不断改变区块中的随机数 nonce,反复计算区块头哈希,直到找到一个小于当前目标难度的结果。

text 复制代码
区块头数据 + nonce  →  SHA-256 哈希  →  是否小于目标值?

可以把它想象成一场全球公开的彩票:
#mermaid-svg-ntozoIam896qRvxk{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ntozoIam896qRvxk .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ntozoIam896qRvxk .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ntozoIam896qRvxk .error-icon{fill:#552222;}#mermaid-svg-ntozoIam896qRvxk .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ntozoIam896qRvxk .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ntozoIam896qRvxk .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ntozoIam896qRvxk .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ntozoIam896qRvxk .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ntozoIam896qRvxk .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ntozoIam896qRvxk .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ntozoIam896qRvxk .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ntozoIam896qRvxk .marker.cross{stroke:#333333;}#mermaid-svg-ntozoIam896qRvxk svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ntozoIam896qRvxk p{margin:0;}#mermaid-svg-ntozoIam896qRvxk .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-ntozoIam896qRvxk .cluster-label text{fill:#333;}#mermaid-svg-ntozoIam896qRvxk .cluster-label span{color:#333;}#mermaid-svg-ntozoIam896qRvxk .cluster-label span p{background-color:transparent;}#mermaid-svg-ntozoIam896qRvxk .label text,#mermaid-svg-ntozoIam896qRvxk span{fill:#333;color:#333;}#mermaid-svg-ntozoIam896qRvxk .node rect,#mermaid-svg-ntozoIam896qRvxk .node circle,#mermaid-svg-ntozoIam896qRvxk .node ellipse,#mermaid-svg-ntozoIam896qRvxk .node polygon,#mermaid-svg-ntozoIam896qRvxk .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ntozoIam896qRvxk .rough-node .label text,#mermaid-svg-ntozoIam896qRvxk .node .label text,#mermaid-svg-ntozoIam896qRvxk .image-shape .label,#mermaid-svg-ntozoIam896qRvxk .icon-shape .label{text-anchor:middle;}#mermaid-svg-ntozoIam896qRvxk .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ntozoIam896qRvxk .rough-node .label,#mermaid-svg-ntozoIam896qRvxk .node .label,#mermaid-svg-ntozoIam896qRvxk .image-shape .label,#mermaid-svg-ntozoIam896qRvxk .icon-shape .label{text-align:center;}#mermaid-svg-ntozoIam896qRvxk .node.clickable{cursor:pointer;}#mermaid-svg-ntozoIam896qRvxk .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ntozoIam896qRvxk .arrowheadPath{fill:#333333;}#mermaid-svg-ntozoIam896qRvxk .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ntozoIam896qRvxk .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ntozoIam896qRvxk .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ntozoIam896qRvxk .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ntozoIam896qRvxk .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ntozoIam896qRvxk .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ntozoIam896qRvxk .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ntozoIam896qRvxk .cluster text{fill:#333;}#mermaid-svg-ntozoIam896qRvxk .cluster span{color:#333;}#mermaid-svg-ntozoIam896qRvxk div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ntozoIam896qRvxk .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ntozoIam896qRvxk rect.text{fill:none;stroke-width:0;}#mermaid-svg-ntozoIam896qRvxk .icon-shape,#mermaid-svg-ntozoIam896qRvxk .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ntozoIam896qRvxk .icon-shape p,#mermaid-svg-ntozoIam896qRvxk .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ntozoIam896qRvxk .icon-shape .label rect,#mermaid-svg-ntozoIam896qRvxk .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ntozoIam896qRvxk .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ntozoIam896qRvxk .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ntozoIam896qRvxk :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 矿工竞争


矿工 A: 尝试 nonce
矿工 B: 尝试 nonce
矿工 C: 尝试 nonce
计算哈希
哈希是否满足难度目标?
获得记账权
新区块加入区块链

这种机制的意义在于:

  • 任何人都可以参与竞争;
  • 获胜概率与投入的算力相关;
  • 伪造区块需要付出真实计算成本;
  • 发行过程公开、可验证、不可凭空指定。

3. 区块奖励:发行数量被写死在规则中

比特币的新增发行主要来自区块奖励。最初每个区块奖励为 50 BTC,之后大约每 210,000 个区块减半一次。
#mermaid-svg-2xHUTPpK24U4acgs{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-2xHUTPpK24U4acgs .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-2xHUTPpK24U4acgs .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-2xHUTPpK24U4acgs .error-icon{fill:#552222;}#mermaid-svg-2xHUTPpK24U4acgs .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-2xHUTPpK24U4acgs .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-2xHUTPpK24U4acgs .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-2xHUTPpK24U4acgs .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-2xHUTPpK24U4acgs .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-2xHUTPpK24U4acgs .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-2xHUTPpK24U4acgs .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-2xHUTPpK24U4acgs .marker{fill:#333333;stroke:#333333;}#mermaid-svg-2xHUTPpK24U4acgs .marker.cross{stroke:#333333;}#mermaid-svg-2xHUTPpK24U4acgs svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-2xHUTPpK24U4acgs p{margin:0;}#mermaid-svg-2xHUTPpK24U4acgs .edge{stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .section--1 rect,#mermaid-svg-2xHUTPpK24U4acgs .section--1 path,#mermaid-svg-2xHUTPpK24U4acgs .section--1 circle,#mermaid-svg-2xHUTPpK24U4acgs .section--1 path{fill:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section--1 text{fill:#ffffff;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon--1{font-size:40px;color:#ffffff;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge--1{stroke:hsl(240, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth--1{stroke-width:17;}#mermaid-svg-2xHUTPpK24U4acgs .section--1 line{stroke:hsl(60, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:#ffffff;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-0 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-0 path,#mermaid-svg-2xHUTPpK24U4acgs .section-0 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-0 path{fill:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-2xHUTPpK24U4acgs .section-0 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-0{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-0{stroke:hsl(60, 100%, 73.5294117647%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-0{stroke-width:14;}#mermaid-svg-2xHUTPpK24U4acgs .section-0 line{stroke:hsl(240, 100%, 83.5294117647%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-1 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-1 path,#mermaid-svg-2xHUTPpK24U4acgs .section-1 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-1 path{fill:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-1 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-1{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-1{stroke:hsl(80, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-1{stroke-width:11;}#mermaid-svg-2xHUTPpK24U4acgs .section-1 line{stroke:hsl(260, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-2 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-2 path,#mermaid-svg-2xHUTPpK24U4acgs .section-2 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-2 path{fill:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-2 text{fill:#ffffff;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-2{font-size:40px;color:#ffffff;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-2{stroke:hsl(270, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-2{stroke-width:8;}#mermaid-svg-2xHUTPpK24U4acgs .section-2 line{stroke:hsl(90, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:#ffffff;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-3 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-3 path,#mermaid-svg-2xHUTPpK24U4acgs .section-3 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-3 path{fill:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-3 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-3{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-3{stroke:hsl(300, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-3{stroke-width:5;}#mermaid-svg-2xHUTPpK24U4acgs .section-3 line{stroke:hsl(120, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-4 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-4 path,#mermaid-svg-2xHUTPpK24U4acgs .section-4 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-4 path{fill:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-4 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-4{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-4{stroke:hsl(330, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-4{stroke-width:2;}#mermaid-svg-2xHUTPpK24U4acgs .section-4 line{stroke:hsl(150, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-5 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-5 path,#mermaid-svg-2xHUTPpK24U4acgs .section-5 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-5 path{fill:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-5 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-5{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-5{stroke:hsl(0, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-5{stroke-width:-1;}#mermaid-svg-2xHUTPpK24U4acgs .section-5 line{stroke:hsl(180, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-6 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-6 path,#mermaid-svg-2xHUTPpK24U4acgs .section-6 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-6 path{fill:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-6 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-6{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-6{stroke:hsl(30, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-6{stroke-width:-4;}#mermaid-svg-2xHUTPpK24U4acgs .section-6 line{stroke:hsl(210, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-7 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-7 path,#mermaid-svg-2xHUTPpK24U4acgs .section-7 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-7 path{fill:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-7 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-7{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-7{stroke:hsl(90, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-7{stroke-width:-7;}#mermaid-svg-2xHUTPpK24U4acgs .section-7 line{stroke:hsl(270, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-8 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-8 path,#mermaid-svg-2xHUTPpK24U4acgs .section-8 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-8 path{fill:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-8 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-8{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-8{stroke:hsl(150, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-8{stroke-width:-10;}#mermaid-svg-2xHUTPpK24U4acgs .section-8 line{stroke:hsl(330, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-9 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-9 path,#mermaid-svg-2xHUTPpK24U4acgs .section-9 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-9 path{fill:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-9 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-9{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-9{stroke:hsl(180, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-9{stroke-width:-13;}#mermaid-svg-2xHUTPpK24U4acgs .section-9 line{stroke:hsl(0, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-10 rect,#mermaid-svg-2xHUTPpK24U4acgs .section-10 path,#mermaid-svg-2xHUTPpK24U4acgs .section-10 circle,#mermaid-svg-2xHUTPpK24U4acgs .section-10 path{fill:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-10 text{fill:black;}#mermaid-svg-2xHUTPpK24U4acgs .node-icon-10{font-size:40px;color:black;}#mermaid-svg-2xHUTPpK24U4acgs .section-edge-10{stroke:hsl(210, 100%, 76.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .edge-depth-10{stroke-width:-16;}#mermaid-svg-2xHUTPpK24U4acgs .section-10 line{stroke:hsl(30, 100%, 86.2745098039%);stroke-width:3;}#mermaid-svg-2xHUTPpK24U4acgs .lineWrapper line{stroke:black;}#mermaid-svg-2xHUTPpK24U4acgs .disabled,#mermaid-svg-2xHUTPpK24U4acgs .disabled circle,#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:lightgray;}#mermaid-svg-2xHUTPpK24U4acgs .disabled text{fill:#efefef;}#mermaid-svg-2xHUTPpK24U4acgs .section-root rect,#mermaid-svg-2xHUTPpK24U4acgs .section-root path,#mermaid-svg-2xHUTPpK24U4acgs .section-root circle{fill:hsl(240, 100%, 46.2745098039%);}#mermaid-svg-2xHUTPpK24U4acgs .section-root text{fill:#ffffff;}#mermaid-svg-2xHUTPpK24U4acgs .icon-container{height:100%;display:flex;justify-content:center;align-items:center;}#mermaid-svg-2xHUTPpK24U4acgs .edge{fill:none;}#mermaid-svg-2xHUTPpK24U4acgs .eventWrapper{filter:brightness(120%);}#mermaid-svg-2xHUTPpK24U4acgs :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 2009 50 BTC 2012 25 BTC 2016 12.5 BTC 2020 6.25 BTC 2024 3.125 BTC 比特币区块奖励减半路径

这种减半机制使比特币的发行速度越来越慢,最终总量趋近于 2100 万枚

阶段 每区块奖励 发行特征
早期 50 BTC 新币发行速度快
多次减半后 逐步下降 通胀率持续降低
长期 接近 0 矿工主要依赖手续费

比特币的发行曲线大致如下:
#mermaid-svg-bAUWLPW45IAyM1vE{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-bAUWLPW45IAyM1vE .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-bAUWLPW45IAyM1vE .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-bAUWLPW45IAyM1vE .error-icon{fill:#552222;}#mermaid-svg-bAUWLPW45IAyM1vE .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-bAUWLPW45IAyM1vE .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-bAUWLPW45IAyM1vE .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-bAUWLPW45IAyM1vE .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-bAUWLPW45IAyM1vE .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-bAUWLPW45IAyM1vE .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-bAUWLPW45IAyM1vE .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-bAUWLPW45IAyM1vE .marker{fill:#333333;stroke:#333333;}#mermaid-svg-bAUWLPW45IAyM1vE .marker.cross{stroke:#333333;}#mermaid-svg-bAUWLPW45IAyM1vE svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-bAUWLPW45IAyM1vE p{margin:0;}#mermaid-svg-bAUWLPW45IAyM1vE :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 比特币累计供应量趋势示意 2009 2012 2016 2020 2024 2028+ 远期 20 18 16 14 12 10 8 6 4 2 0 累计供应量(百万 BTC)

这套设计解决了传统数字货币系统中的一个关键问题:

如果数字货币可以被管理员随意增发,它就无法成为真正可信的稀缺资产。


4. 难度调整:让发行节奏保持稳定

如果全球算力上升,矿工更容易找到新区块,出块速度就会加快。为了避免发行速度失控,比特币大约每 2016 个区块 调整一次挖矿难度,使平均出块时间维持在约 10 分钟
#mermaid-svg-2ZDehB9Wio9Xq3tr{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-2ZDehB9Wio9Xq3tr .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-2ZDehB9Wio9Xq3tr .error-icon{fill:#552222;}#mermaid-svg-2ZDehB9Wio9Xq3tr .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-2ZDehB9Wio9Xq3tr .marker{fill:#333333;stroke:#333333;}#mermaid-svg-2ZDehB9Wio9Xq3tr .marker.cross{stroke:#333333;}#mermaid-svg-2ZDehB9Wio9Xq3tr svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-2ZDehB9Wio9Xq3tr p{margin:0;}#mermaid-svg-2ZDehB9Wio9Xq3tr .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-2ZDehB9Wio9Xq3tr .cluster-label text{fill:#333;}#mermaid-svg-2ZDehB9Wio9Xq3tr .cluster-label span{color:#333;}#mermaid-svg-2ZDehB9Wio9Xq3tr .cluster-label span p{background-color:transparent;}#mermaid-svg-2ZDehB9Wio9Xq3tr .label text,#mermaid-svg-2ZDehB9Wio9Xq3tr span{fill:#333;color:#333;}#mermaid-svg-2ZDehB9Wio9Xq3tr .node rect,#mermaid-svg-2ZDehB9Wio9Xq3tr .node circle,#mermaid-svg-2ZDehB9Wio9Xq3tr .node ellipse,#mermaid-svg-2ZDehB9Wio9Xq3tr .node polygon,#mermaid-svg-2ZDehB9Wio9Xq3tr .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-2ZDehB9Wio9Xq3tr .rough-node .label text,#mermaid-svg-2ZDehB9Wio9Xq3tr .node .label text,#mermaid-svg-2ZDehB9Wio9Xq3tr .image-shape .label,#mermaid-svg-2ZDehB9Wio9Xq3tr .icon-shape .label{text-anchor:middle;}#mermaid-svg-2ZDehB9Wio9Xq3tr .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-2ZDehB9Wio9Xq3tr .rough-node .label,#mermaid-svg-2ZDehB9Wio9Xq3tr .node .label,#mermaid-svg-2ZDehB9Wio9Xq3tr .image-shape .label,#mermaid-svg-2ZDehB9Wio9Xq3tr .icon-shape .label{text-align:center;}#mermaid-svg-2ZDehB9Wio9Xq3tr .node.clickable{cursor:pointer;}#mermaid-svg-2ZDehB9Wio9Xq3tr .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-2ZDehB9Wio9Xq3tr .arrowheadPath{fill:#333333;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-2ZDehB9Wio9Xq3tr .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-2ZDehB9Wio9Xq3tr .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-2ZDehB9Wio9Xq3tr .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-2ZDehB9Wio9Xq3tr .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-2ZDehB9Wio9Xq3tr .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-2ZDehB9Wio9Xq3tr .cluster text{fill:#333;}#mermaid-svg-2ZDehB9Wio9Xq3tr .cluster span{color:#333;}#mermaid-svg-2ZDehB9Wio9Xq3tr div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-2ZDehB9Wio9Xq3tr .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-2ZDehB9Wio9Xq3tr rect.text{fill:none;stroke-width:0;}#mermaid-svg-2ZDehB9Wio9Xq3tr .icon-shape,#mermaid-svg-2ZDehB9Wio9Xq3tr .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-2ZDehB9Wio9Xq3tr .icon-shape p,#mermaid-svg-2ZDehB9Wio9Xq3tr .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-2ZDehB9Wio9Xq3tr .icon-shape .label rect,#mermaid-svg-2ZDehB9Wio9Xq3tr .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-2ZDehB9Wio9Xq3tr .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-2ZDehB9Wio9Xq3tr .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-2ZDehB9Wio9Xq3tr :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 全网算力上升
出块变快
难度上调
平均约10分钟出块
全网算力下降
出块变慢
难度下调

因此,比特币不是简单依赖"矿工自觉",而是通过算法动态调节难度,维持发行节奏


二、问题二:比特币如何验证交易?

货币发行解决的是"新币从哪里来";交易验证解决的是"已有的币能不能被合法花掉"。

在数字世界里,最难的问题是 双花问题

同一笔数字货币,能不能被复制后同时花给两个人?

传统系统依赖银行账户数据库防止双花;比特币则通过 UTXO 模型、数字签名、全节点验证和最长链共识 共同解决。


三、交易的基础:UTXO 模型

比特币并不像银行账户那样直接记录"张三余额 10 BTC"。它记录的是一组尚未被花费的交易输出 ,称为 UTXO(Unspent Transaction Output,未花费交易输出)

可以把 UTXO 理解为一张张不同面额的现金纸币。
#mermaid-svg-KaSfROGlZh80qEUA{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-KaSfROGlZh80qEUA .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-KaSfROGlZh80qEUA .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-KaSfROGlZh80qEUA .error-icon{fill:#552222;}#mermaid-svg-KaSfROGlZh80qEUA .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-KaSfROGlZh80qEUA .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-KaSfROGlZh80qEUA .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-KaSfROGlZh80qEUA .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-KaSfROGlZh80qEUA .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-KaSfROGlZh80qEUA .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-KaSfROGlZh80qEUA .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-KaSfROGlZh80qEUA .marker{fill:#333333;stroke:#333333;}#mermaid-svg-KaSfROGlZh80qEUA .marker.cross{stroke:#333333;}#mermaid-svg-KaSfROGlZh80qEUA svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-KaSfROGlZh80qEUA p{margin:0;}#mermaid-svg-KaSfROGlZh80qEUA .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-KaSfROGlZh80qEUA .cluster-label text{fill:#333;}#mermaid-svg-KaSfROGlZh80qEUA .cluster-label span{color:#333;}#mermaid-svg-KaSfROGlZh80qEUA .cluster-label span p{background-color:transparent;}#mermaid-svg-KaSfROGlZh80qEUA .label text,#mermaid-svg-KaSfROGlZh80qEUA span{fill:#333;color:#333;}#mermaid-svg-KaSfROGlZh80qEUA .node rect,#mermaid-svg-KaSfROGlZh80qEUA .node circle,#mermaid-svg-KaSfROGlZh80qEUA .node ellipse,#mermaid-svg-KaSfROGlZh80qEUA .node polygon,#mermaid-svg-KaSfROGlZh80qEUA .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-KaSfROGlZh80qEUA .rough-node .label text,#mermaid-svg-KaSfROGlZh80qEUA .node .label text,#mermaid-svg-KaSfROGlZh80qEUA .image-shape .label,#mermaid-svg-KaSfROGlZh80qEUA .icon-shape .label{text-anchor:middle;}#mermaid-svg-KaSfROGlZh80qEUA .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-KaSfROGlZh80qEUA .rough-node .label,#mermaid-svg-KaSfROGlZh80qEUA .node .label,#mermaid-svg-KaSfROGlZh80qEUA .image-shape .label,#mermaid-svg-KaSfROGlZh80qEUA .icon-shape .label{text-align:center;}#mermaid-svg-KaSfROGlZh80qEUA .node.clickable{cursor:pointer;}#mermaid-svg-KaSfROGlZh80qEUA .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-KaSfROGlZh80qEUA .arrowheadPath{fill:#333333;}#mermaid-svg-KaSfROGlZh80qEUA .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-KaSfROGlZh80qEUA .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-KaSfROGlZh80qEUA .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-KaSfROGlZh80qEUA .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-KaSfROGlZh80qEUA .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-KaSfROGlZh80qEUA .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-KaSfROGlZh80qEUA .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-KaSfROGlZh80qEUA .cluster text{fill:#333;}#mermaid-svg-KaSfROGlZh80qEUA .cluster span{color:#333;}#mermaid-svg-KaSfROGlZh80qEUA div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-KaSfROGlZh80qEUA .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-KaSfROGlZh80qEUA rect.text{fill:none;stroke-width:0;}#mermaid-svg-KaSfROGlZh80qEUA .icon-shape,#mermaid-svg-KaSfROGlZh80qEUA .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-KaSfROGlZh80qEUA .icon-shape p,#mermaid-svg-KaSfROGlZh80qEUA .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-KaSfROGlZh80qEUA .icon-shape .label rect,#mermaid-svg-KaSfROGlZh80qEUA .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-KaSfROGlZh80qEUA .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-KaSfROGlZh80qEUA .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-KaSfROGlZh80qEUA :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} UTXO: 0.8 BTC
新交易
UTXO: 0.5 BTC
收款人: 1.0 BTC
找零: 0.299 BTC
矿工手续费: 0.001 BTC

如果你要支付 1 BTC,你可能会拿出两个 UTXO:

  • 一个 0.8 BTC;
  • 一个 0.5 BTC。

总输入是 1.3 BTC,其中:

  • 1.0 BTC 给收款人;
  • 0.299 BTC 找零给自己;
  • 0.001 BTC 作为手续费给矿工。

这类似于用两张纸币付款,然后拿回零钱。


四、数字签名:证明"我有权花这笔钱"

比特币中的每个 UTXO 通常都被锁定到某个地址。想花掉它,必须提供有效的数字签名,证明你掌握对应的私钥。
比特币节点 交易 用户钱包 比特币节点 交易 用户钱包 #mermaid-svg-Jfv0S1S9Uv430V0i{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Jfv0S1S9Uv430V0i .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Jfv0S1S9Uv430V0i .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Jfv0S1S9Uv430V0i .error-icon{fill:#552222;}#mermaid-svg-Jfv0S1S9Uv430V0i .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Jfv0S1S9Uv430V0i .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Jfv0S1S9Uv430V0i .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Jfv0S1S9Uv430V0i .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Jfv0S1S9Uv430V0i .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Jfv0S1S9Uv430V0i .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Jfv0S1S9Uv430V0i .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Jfv0S1S9Uv430V0i .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Jfv0S1S9Uv430V0i .marker.cross{stroke:#333333;}#mermaid-svg-Jfv0S1S9Uv430V0i svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Jfv0S1S9Uv430V0i p{margin:0;}#mermaid-svg-Jfv0S1S9Uv430V0i .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-Jfv0S1S9Uv430V0i text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-Jfv0S1S9Uv430V0i .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-Jfv0S1S9Uv430V0i .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-Jfv0S1S9Uv430V0i .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-Jfv0S1S9Uv430V0i .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-Jfv0S1S9Uv430V0i #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-Jfv0S1S9Uv430V0i .sequenceNumber{fill:white;}#mermaid-svg-Jfv0S1S9Uv430V0i #sequencenumber{fill:#333;}#mermaid-svg-Jfv0S1S9Uv430V0i #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-Jfv0S1S9Uv430V0i .messageText{fill:#333;stroke:none;}#mermaid-svg-Jfv0S1S9Uv430V0i .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-Jfv0S1S9Uv430V0i .labelText,#mermaid-svg-Jfv0S1S9Uv430V0i .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-Jfv0S1S9Uv430V0i .loopText,#mermaid-svg-Jfv0S1S9Uv430V0i .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-Jfv0S1S9Uv430V0i .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-Jfv0S1S9Uv430V0i .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-Jfv0S1S9Uv430V0i .noteText,#mermaid-svg-Jfv0S1S9Uv430V0i .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-Jfv0S1S9Uv430V0i .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-Jfv0S1S9Uv430V0i .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-Jfv0S1S9Uv430V0i .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-Jfv0S1S9Uv430V0i .actorPopupMenu{position:absolute;}#mermaid-svg-Jfv0S1S9Uv430V0i .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-Jfv0S1S9Uv430V0i .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-Jfv0S1S9Uv430V0i .actor-man circle,#mermaid-svg-Jfv0S1S9Uv430V0i line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-Jfv0S1S9Uv430V0i :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 用私钥签名 广播交易 验证签名是否匹配公钥/地址 签名有效则继续验证

这里有两个关键点:

  1. 私钥不需要公开:用户只公开签名和公钥相关信息。
  2. 签名可以被任何节点验证:节点不需要信任用户,只需要验证数学关系是否成立。

这解决了"谁有权花钱"的问题。


五、全节点:每个人都可以独立验证

比特币网络中的全节点会独立检查每一笔交易和每一个区块。它们不会因为某个矿工说"这是真的"就接受,而是逐条验证规则。

一笔交易通常需要满足:

验证项 含义
输入引用的 UTXO 存在 这笔钱确实还没被花掉
数字签名有效 花钱者确实拥有私钥
输入金额 ≥ 输出金额 不能凭空创造新币
手续费非负 差额作为矿工手续费
脚本执行成功 满足锁定条件
交易格式合法 数据结构符合协议

区块也要经过验证:

验证项 含义
区块哈希满足难度目标 矿工确实完成了工作量证明
区块连接到已有链上 区块引用的前一区块存在
Coinbase 奖励不超额 矿工不能多发币
区块内交易都合法 每笔交易都必须通过检查
没有重复花费 同一个 UTXO 不能被用两次

#mermaid-svg-eINv3iqaCI6ZQMO1{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-eINv3iqaCI6ZQMO1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-eINv3iqaCI6ZQMO1 .error-icon{fill:#552222;}#mermaid-svg-eINv3iqaCI6ZQMO1 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-eINv3iqaCI6ZQMO1 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-eINv3iqaCI6ZQMO1 .marker.cross{stroke:#333333;}#mermaid-svg-eINv3iqaCI6ZQMO1 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-eINv3iqaCI6ZQMO1 p{margin:0;}#mermaid-svg-eINv3iqaCI6ZQMO1 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-eINv3iqaCI6ZQMO1 .cluster-label text{fill:#333;}#mermaid-svg-eINv3iqaCI6ZQMO1 .cluster-label span{color:#333;}#mermaid-svg-eINv3iqaCI6ZQMO1 .cluster-label span p{background-color:transparent;}#mermaid-svg-eINv3iqaCI6ZQMO1 .label text,#mermaid-svg-eINv3iqaCI6ZQMO1 span{fill:#333;color:#333;}#mermaid-svg-eINv3iqaCI6ZQMO1 .node rect,#mermaid-svg-eINv3iqaCI6ZQMO1 .node circle,#mermaid-svg-eINv3iqaCI6ZQMO1 .node ellipse,#mermaid-svg-eINv3iqaCI6ZQMO1 .node polygon,#mermaid-svg-eINv3iqaCI6ZQMO1 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-eINv3iqaCI6ZQMO1 .rough-node .label text,#mermaid-svg-eINv3iqaCI6ZQMO1 .node .label text,#mermaid-svg-eINv3iqaCI6ZQMO1 .image-shape .label,#mermaid-svg-eINv3iqaCI6ZQMO1 .icon-shape .label{text-anchor:middle;}#mermaid-svg-eINv3iqaCI6ZQMO1 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-eINv3iqaCI6ZQMO1 .rough-node .label,#mermaid-svg-eINv3iqaCI6ZQMO1 .node .label,#mermaid-svg-eINv3iqaCI6ZQMO1 .image-shape .label,#mermaid-svg-eINv3iqaCI6ZQMO1 .icon-shape .label{text-align:center;}#mermaid-svg-eINv3iqaCI6ZQMO1 .node.clickable{cursor:pointer;}#mermaid-svg-eINv3iqaCI6ZQMO1 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-eINv3iqaCI6ZQMO1 .arrowheadPath{fill:#333333;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-eINv3iqaCI6ZQMO1 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-eINv3iqaCI6ZQMO1 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-eINv3iqaCI6ZQMO1 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-eINv3iqaCI6ZQMO1 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-eINv3iqaCI6ZQMO1 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-eINv3iqaCI6ZQMO1 .cluster text{fill:#333;}#mermaid-svg-eINv3iqaCI6ZQMO1 .cluster span{color:#333;}#mermaid-svg-eINv3iqaCI6ZQMO1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-eINv3iqaCI6ZQMO1 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-eINv3iqaCI6ZQMO1 rect.text{fill:none;stroke-width:0;}#mermaid-svg-eINv3iqaCI6ZQMO1 .icon-shape,#mermaid-svg-eINv3iqaCI6ZQMO1 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-eINv3iqaCI6ZQMO1 .icon-shape p,#mermaid-svg-eINv3iqaCI6ZQMO1 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-eINv3iqaCI6ZQMO1 .icon-shape .label rect,#mermaid-svg-eINv3iqaCI6ZQMO1 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-eINv3iqaCI6ZQMO1 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-eINv3iqaCI6ZQMO1 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-eINv3iqaCI6ZQMO1 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 否







收到新区块
PoW 是否有效?
拒绝区块
Coinbase 奖励是否超额?
所有交易是否合法?
是否连接到有效链?
接受并更新本地账本

这就是比特币验证机制的核心:

矿工负责提议区块,全节点负责审查区块。

矿工不能随便改规则,因为全节点会拒绝无效区块。


六、区块链:把交易顺序固定下来

仅有签名还不够,因为攻击者可能签署两笔互相冲突的交易:

  • 交易 A:把同一个 UTXO 支付给商家;
  • 交易 B:把同一个 UTXO 转回自己。

比特币通过区块链给交易排序。先被有效区块确认,并被后续区块继续叠加的交易,会获得越来越强的确认。
#mermaid-svg-xQTmfT7E5jDUBeQZ{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-xQTmfT7E5jDUBeQZ .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-xQTmfT7E5jDUBeQZ .error-icon{fill:#552222;}#mermaid-svg-xQTmfT7E5jDUBeQZ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xQTmfT7E5jDUBeQZ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xQTmfT7E5jDUBeQZ .marker.cross{stroke:#333333;}#mermaid-svg-xQTmfT7E5jDUBeQZ svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xQTmfT7E5jDUBeQZ p{margin:0;}#mermaid-svg-xQTmfT7E5jDUBeQZ .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-xQTmfT7E5jDUBeQZ .cluster-label text{fill:#333;}#mermaid-svg-xQTmfT7E5jDUBeQZ .cluster-label span{color:#333;}#mermaid-svg-xQTmfT7E5jDUBeQZ .cluster-label span p{background-color:transparent;}#mermaid-svg-xQTmfT7E5jDUBeQZ .label text,#mermaid-svg-xQTmfT7E5jDUBeQZ span{fill:#333;color:#333;}#mermaid-svg-xQTmfT7E5jDUBeQZ .node rect,#mermaid-svg-xQTmfT7E5jDUBeQZ .node circle,#mermaid-svg-xQTmfT7E5jDUBeQZ .node ellipse,#mermaid-svg-xQTmfT7E5jDUBeQZ .node polygon,#mermaid-svg-xQTmfT7E5jDUBeQZ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-xQTmfT7E5jDUBeQZ .rough-node .label text,#mermaid-svg-xQTmfT7E5jDUBeQZ .node .label text,#mermaid-svg-xQTmfT7E5jDUBeQZ .image-shape .label,#mermaid-svg-xQTmfT7E5jDUBeQZ .icon-shape .label{text-anchor:middle;}#mermaid-svg-xQTmfT7E5jDUBeQZ .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-xQTmfT7E5jDUBeQZ .rough-node .label,#mermaid-svg-xQTmfT7E5jDUBeQZ .node .label,#mermaid-svg-xQTmfT7E5jDUBeQZ .image-shape .label,#mermaid-svg-xQTmfT7E5jDUBeQZ .icon-shape .label{text-align:center;}#mermaid-svg-xQTmfT7E5jDUBeQZ .node.clickable{cursor:pointer;}#mermaid-svg-xQTmfT7E5jDUBeQZ .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-xQTmfT7E5jDUBeQZ .arrowheadPath{fill:#333333;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-xQTmfT7E5jDUBeQZ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xQTmfT7E5jDUBeQZ .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-xQTmfT7E5jDUBeQZ .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xQTmfT7E5jDUBeQZ .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-xQTmfT7E5jDUBeQZ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-xQTmfT7E5jDUBeQZ .cluster text{fill:#333;}#mermaid-svg-xQTmfT7E5jDUBeQZ .cluster span{color:#333;}#mermaid-svg-xQTmfT7E5jDUBeQZ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-xQTmfT7E5jDUBeQZ .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-xQTmfT7E5jDUBeQZ rect.text{fill:none;stroke-width:0;}#mermaid-svg-xQTmfT7E5jDUBeQZ .icon-shape,#mermaid-svg-xQTmfT7E5jDUBeQZ .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-xQTmfT7E5jDUBeQZ .icon-shape p,#mermaid-svg-xQTmfT7E5jDUBeQZ .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-xQTmfT7E5jDUBeQZ .icon-shape .label rect,#mermaid-svg-xQTmfT7E5jDUBeQZ .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-xQTmfT7E5jDUBeQZ .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-xQTmfT7E5jDUBeQZ .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-xQTmfT7E5jDUBeQZ :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 无法再花同一UTXO
区块 100
区块 101
区块 102: 包含交易 A
区块 103
区块 104
区块 105
冲突交易 B

当交易 A 已经进入区块 102 后,冲突交易 B 再想花同一个 UTXO,就会被节点识别为双花并拒绝。


七、最长链/最多工作量链:解决网络分歧

在分布式网络中,不同节点可能暂时看到不同的区块。例如两个矿工几乎同时挖出新区块,网络会出现短暂分叉。
#mermaid-svg-tpc6znuef2wsb4QA{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-tpc6znuef2wsb4QA .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-tpc6znuef2wsb4QA .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-tpc6znuef2wsb4QA .error-icon{fill:#552222;}#mermaid-svg-tpc6znuef2wsb4QA .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-tpc6znuef2wsb4QA .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-tpc6znuef2wsb4QA .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-tpc6znuef2wsb4QA .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-tpc6znuef2wsb4QA .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-tpc6znuef2wsb4QA .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-tpc6znuef2wsb4QA .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-tpc6znuef2wsb4QA .marker{fill:#333333;stroke:#333333;}#mermaid-svg-tpc6znuef2wsb4QA .marker.cross{stroke:#333333;}#mermaid-svg-tpc6znuef2wsb4QA svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-tpc6znuef2wsb4QA p{margin:0;}#mermaid-svg-tpc6znuef2wsb4QA .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-tpc6znuef2wsb4QA .cluster-label text{fill:#333;}#mermaid-svg-tpc6znuef2wsb4QA .cluster-label span{color:#333;}#mermaid-svg-tpc6znuef2wsb4QA .cluster-label span p{background-color:transparent;}#mermaid-svg-tpc6znuef2wsb4QA .label text,#mermaid-svg-tpc6znuef2wsb4QA span{fill:#333;color:#333;}#mermaid-svg-tpc6znuef2wsb4QA .node rect,#mermaid-svg-tpc6znuef2wsb4QA .node circle,#mermaid-svg-tpc6znuef2wsb4QA .node ellipse,#mermaid-svg-tpc6znuef2wsb4QA .node polygon,#mermaid-svg-tpc6znuef2wsb4QA .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-tpc6znuef2wsb4QA .rough-node .label text,#mermaid-svg-tpc6znuef2wsb4QA .node .label text,#mermaid-svg-tpc6znuef2wsb4QA .image-shape .label,#mermaid-svg-tpc6znuef2wsb4QA .icon-shape .label{text-anchor:middle;}#mermaid-svg-tpc6znuef2wsb4QA .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-tpc6znuef2wsb4QA .rough-node .label,#mermaid-svg-tpc6znuef2wsb4QA .node .label,#mermaid-svg-tpc6znuef2wsb4QA .image-shape .label,#mermaid-svg-tpc6znuef2wsb4QA .icon-shape .label{text-align:center;}#mermaid-svg-tpc6znuef2wsb4QA .node.clickable{cursor:pointer;}#mermaid-svg-tpc6znuef2wsb4QA .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-tpc6znuef2wsb4QA .arrowheadPath{fill:#333333;}#mermaid-svg-tpc6znuef2wsb4QA .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-tpc6znuef2wsb4QA .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-tpc6znuef2wsb4QA .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-tpc6znuef2wsb4QA .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-tpc6znuef2wsb4QA .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-tpc6znuef2wsb4QA .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-tpc6znuef2wsb4QA .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-tpc6znuef2wsb4QA .cluster text{fill:#333;}#mermaid-svg-tpc6znuef2wsb4QA .cluster span{color:#333;}#mermaid-svg-tpc6znuef2wsb4QA div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-tpc6znuef2wsb4QA .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-tpc6znuef2wsb4QA rect.text{fill:none;stroke-width:0;}#mermaid-svg-tpc6znuef2wsb4QA .icon-shape,#mermaid-svg-tpc6znuef2wsb4QA .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-tpc6znuef2wsb4QA .icon-shape p,#mermaid-svg-tpc6znuef2wsb4QA .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-tpc6znuef2wsb4QA .icon-shape .label rect,#mermaid-svg-tpc6znuef2wsb4QA .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-tpc6znuef2wsb4QA .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-tpc6znuef2wsb4QA .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-tpc6znuef2wsb4QA :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 被放弃
区块 N
区块 N+1A
区块 N+1B
区块 N+2A
区块 N+3A
孤块方向

比特币节点会选择累计工作量最多的有效链。随着后续区块不断增加,其中一条链会领先,另一条链会被放弃。

这不是简单比较"区块数量",更准确地说是比较 累计工作量。通常情况下,最长链也是累计工作量最多的链。


八、发行与验证如何相互制衡?

比特币系统巧妙之处在于,发行和验证并不是彼此独立的模块,而是互相制衡:
#mermaid-svg-bpE2xvUV3xJg77xn{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-bpE2xvUV3xJg77xn .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-bpE2xvUV3xJg77xn .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-bpE2xvUV3xJg77xn .error-icon{fill:#552222;}#mermaid-svg-bpE2xvUV3xJg77xn .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-bpE2xvUV3xJg77xn .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-bpE2xvUV3xJg77xn .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-bpE2xvUV3xJg77xn .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-bpE2xvUV3xJg77xn .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-bpE2xvUV3xJg77xn .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-bpE2xvUV3xJg77xn .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-bpE2xvUV3xJg77xn .marker{fill:#333333;stroke:#333333;}#mermaid-svg-bpE2xvUV3xJg77xn .marker.cross{stroke:#333333;}#mermaid-svg-bpE2xvUV3xJg77xn svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-bpE2xvUV3xJg77xn p{margin:0;}#mermaid-svg-bpE2xvUV3xJg77xn .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-bpE2xvUV3xJg77xn .cluster-label text{fill:#333;}#mermaid-svg-bpE2xvUV3xJg77xn .cluster-label span{color:#333;}#mermaid-svg-bpE2xvUV3xJg77xn .cluster-label span p{background-color:transparent;}#mermaid-svg-bpE2xvUV3xJg77xn .label text,#mermaid-svg-bpE2xvUV3xJg77xn span{fill:#333;color:#333;}#mermaid-svg-bpE2xvUV3xJg77xn .node rect,#mermaid-svg-bpE2xvUV3xJg77xn .node circle,#mermaid-svg-bpE2xvUV3xJg77xn .node ellipse,#mermaid-svg-bpE2xvUV3xJg77xn .node polygon,#mermaid-svg-bpE2xvUV3xJg77xn .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-bpE2xvUV3xJg77xn .rough-node .label text,#mermaid-svg-bpE2xvUV3xJg77xn .node .label text,#mermaid-svg-bpE2xvUV3xJg77xn .image-shape .label,#mermaid-svg-bpE2xvUV3xJg77xn .icon-shape .label{text-anchor:middle;}#mermaid-svg-bpE2xvUV3xJg77xn .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-bpE2xvUV3xJg77xn .rough-node .label,#mermaid-svg-bpE2xvUV3xJg77xn .node .label,#mermaid-svg-bpE2xvUV3xJg77xn .image-shape .label,#mermaid-svg-bpE2xvUV3xJg77xn .icon-shape .label{text-align:center;}#mermaid-svg-bpE2xvUV3xJg77xn .node.clickable{cursor:pointer;}#mermaid-svg-bpE2xvUV3xJg77xn .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-bpE2xvUV3xJg77xn .arrowheadPath{fill:#333333;}#mermaid-svg-bpE2xvUV3xJg77xn .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-bpE2xvUV3xJg77xn .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-bpE2xvUV3xJg77xn .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-bpE2xvUV3xJg77xn .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-bpE2xvUV3xJg77xn .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-bpE2xvUV3xJg77xn .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-bpE2xvUV3xJg77xn .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-bpE2xvUV3xJg77xn .cluster text{fill:#333;}#mermaid-svg-bpE2xvUV3xJg77xn .cluster span{color:#333;}#mermaid-svg-bpE2xvUV3xJg77xn div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-bpE2xvUV3xJg77xn .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-bpE2xvUV3xJg77xn rect.text{fill:none;stroke-width:0;}#mermaid-svg-bpE2xvUV3xJg77xn .icon-shape,#mermaid-svg-bpE2xvUV3xJg77xn .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-bpE2xvUV3xJg77xn .icon-shape p,#mermaid-svg-bpE2xvUV3xJg77xn .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-bpE2xvUV3xJg77xn .icon-shape .label rect,#mermaid-svg-bpE2xvUV3xJg77xn .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-bpE2xvUV3xJg77xn .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-bpE2xvUV3xJg77xn .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-bpE2xvUV3xJg77xn :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 投入算力
包含 Coinbase 和交易
验证奖励是否合规
验证交易是否合规
无效则拒绝
有效则接受
协议规则
规定发行上限和区块奖励
规定交易和区块验证规则
矿工
产生新区块
全节点
无效区块无法成为账本
更新区块链账本

矿工有动力诚实记账,因为:

  1. 挖矿需要真实成本;
  2. 无效区块会被全节点拒绝;
  3. 被拒绝的区块奖励无法兑现;
  4. 诚实挖矿比伪造账本更有经济收益。

全节点有能力约束矿工,因为:

  1. 它们独立运行协议规则;
  2. 它们不需要相信矿工
  3. 它们会拒绝超发、双花、无效签名等违规行为;
  4. 用户、交易所、钱包服务等通过全节点识别有效链

九、一个完整例子:Alice 向 Bob 支付 BTC

假设 Alice 要向 Bob 支付 0.1 BTC。
Bob 全节点 矿工 P2P 网络 Alice 钱包 Bob 全节点 矿工 P2P 网络 Alice 钱包 #mermaid-svg-tMjJRRyjujQYUPf1{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-tMjJRRyjujQYUPf1 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-tMjJRRyjujQYUPf1 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-tMjJRRyjujQYUPf1 .error-icon{fill:#552222;}#mermaid-svg-tMjJRRyjujQYUPf1 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-tMjJRRyjujQYUPf1 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-tMjJRRyjujQYUPf1 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-tMjJRRyjujQYUPf1 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-tMjJRRyjujQYUPf1 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-tMjJRRyjujQYUPf1 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-tMjJRRyjujQYUPf1 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-tMjJRRyjujQYUPf1 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-tMjJRRyjujQYUPf1 .marker.cross{stroke:#333333;}#mermaid-svg-tMjJRRyjujQYUPf1 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-tMjJRRyjujQYUPf1 p{margin:0;}#mermaid-svg-tMjJRRyjujQYUPf1 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-tMjJRRyjujQYUPf1 text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-tMjJRRyjujQYUPf1 .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-tMjJRRyjujQYUPf1 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-tMjJRRyjujQYUPf1 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-tMjJRRyjujQYUPf1 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-tMjJRRyjujQYUPf1 #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-tMjJRRyjujQYUPf1 .sequenceNumber{fill:white;}#mermaid-svg-tMjJRRyjujQYUPf1 #sequencenumber{fill:#333;}#mermaid-svg-tMjJRRyjujQYUPf1 #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-tMjJRRyjujQYUPf1 .messageText{fill:#333;stroke:none;}#mermaid-svg-tMjJRRyjujQYUPf1 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-tMjJRRyjujQYUPf1 .labelText,#mermaid-svg-tMjJRRyjujQYUPf1 .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-tMjJRRyjujQYUPf1 .loopText,#mermaid-svg-tMjJRRyjujQYUPf1 .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-tMjJRRyjujQYUPf1 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-tMjJRRyjujQYUPf1 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-tMjJRRyjujQYUPf1 .noteText,#mermaid-svg-tMjJRRyjujQYUPf1 .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-tMjJRRyjujQYUPf1 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-tMjJRRyjujQYUPf1 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-tMjJRRyjujQYUPf1 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-tMjJRRyjujQYUPf1 .actorPopupMenu{position:absolute;}#mermaid-svg-tMjJRRyjujQYUPf1 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-tMjJRRyjujQYUPf1 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-tMjJRRyjujQYUPf1 .actor-man circle,#mermaid-svg-tMjJRRyjujQYUPf1 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-tMjJRRyjujQYUPf1 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 选择可用 UTXO 构造交易并签名 广播交易 节点验证交易 合法交易继续传播 将交易放入候选区块 进行 PoW 挖矿 广播新区块 全节点验证区块 Bob 看到交易获得确认

这笔交易从产生到确认,大致经历了五层验证:

  1. 钱包选择 Alice 未花费的 UTXO;
  2. Alice 用私钥生成签名;
  3. 节点验证签名和 UTXO 状态;
  4. 矿工把交易写入新区块;
  5. 全节点验证新区块并更新账本。

十、为什么这套机制有效?

比特币解决货币发行与验证问题,依赖的是一套组合机制,而不是单一技术。

机制 解决的问题
固定发行规则 防止任意增发
Coinbase 交易 定义新币来源
区块奖励减半 控制长期供应量
工作量证明 竞争记账权并增加攻击成本
难度调整 稳定出块和发行节奏
UTXO 模型 明确哪些币还没被花
数字签名 证明花费权限
全节点验证 拒绝无效交易和区块
累计工作量最长链 在分布式网络中形成共识

可以总结成一句话:

比特币用协议规则控制发行,用密码学证明所有权,用工作量证明排序交易,用全节点验证约束所有参与者。


十一、比特币的核心设计哲学

传统货币系统的逻辑是:

text 复制代码
相信机构 → 机构记账 → 用户接受结果

比特币的逻辑是:

text 复制代码
公开规则 → 节点验证 → 网络形成共识

它并不是让"所有人都互相信任",而是让每个人都可以在不信任对方的情况下,独立验证同一套账本。

这也是比特币白皮书标题中"点对点电子现金系统"的真正含义:货币发行和交易验证不再依赖中心化中介,而是由公开协议、经济激励和密码学验证共同完成。

相关推荐
酿情师2 小时前
SPV:比特币轻客户端如何在不下载完整区块链的情况下验证交易
区块链
liudanzhengxi2 小时前
ImToken智能合约交互避坑全攻略
区块链
拼尽全力前进3 小时前
比特币和以太坊的底层正是使用了 ECC(椭圆曲线加密)算法来生成钱包地址(公钥衍生)和签署交易(私钥签名) 解释说明
区块链
Cvmax5 小时前
接入 Hyperliquid API:从入门到下单
区块链
拼尽全力前进6 小时前
区块链知识
区块链
2501_927283588 小时前
堆垛机立体库:告别人工翻找与货物堆压
大数据·人工智能·低代码·自动化·区块链
MicroTech20258 小时前
微算法科技(NASDAQ :MLGO)推出量子零知识证明共识机制,筑牢区块链安全防线
科技·区块链·零知识证明
搞科研的小刘选手1 天前
【经管方向EI会议】第七届经济管理与大数据应用国际学术会议(ICEMBDA2026)
大数据·区块链·可视化·管理·供应链·经济·消费者行为
方向研究1 天前
IM吃贴水策略
区块链