PROTOCOL STUDY / 001 BITCOIN → ETHEREUM → LIVE CHAIN
#00

区块链,
到底是什么?

TRUST → PROTOCOL → SHARED STATE

从 Bitcoin 白皮书出发,拆开密码学、数据结构、网络与共识,再用 Ethereum 和小游戏观察共享状态如何运行。

THE PROBLEM01 / 19
WHY BLOCKCHAIN WAS BORN

数字价值,为什么不能复制两次?

01

数字文件天然可复制

同一份数据可以同时发给 Bob 和 Carol,原件与副本没有物理区别。

02

过去靠中心账本裁决

银行或平台决定哪笔先发生;Bitcoin 问的是:没有这个管理员还能工作吗?

NODE_A
NODE_B
NODE_C
NODE_D
NODE_E
NO BANK?
BITCOIN / ORIGIN02 / 19
THE 2008 WHITEPAPER

Bitcoin 的创新,不是一个算法,
而是把已有技术组合成一个系统。

SATOSHI NAKAMOTO / 31 OCT 2008

Bitcoin:
A Peer-to-Peer
Electronic Cash System

目标:不依赖金融机构,让双方直接转移数字价值。

01

PROVE / 密码学

哈希发现篡改;数字签名证明授权。

02

LINK / 数据结构

区块、哈希指针与 Merkle Tree 留下可验证历史。

03

AGREE / 网络与共识

节点传播交易,公开规则选择当前有效历史。

区块链:没有共同管理员时,仍能共同维护并独立验证同一份状态。
BITCOIN / HASH03 / 19
DATA FINGERPRINT

哈希不是加密,
它是内容指纹。

任意长度输入

得到固定长度输出;不能从摘要恢复原文。

Δ

改一个字符

输出大幅变化,因此篡改会留下明显痕迹。

LIVE INPUT / TRY EDITING
DEMO HASH
演示使用轻量函数展示“输入变化 → 输出变化”。Bitcoin 实际使用 SHA-256。
BITCOIN / SIGNATURE04 / 19
AUTHORIZATION ≠ ANONYMITY

私钥负责授权,公开账本留下足迹。

TX

构造交易

“把这笔未花费输出转给 Bob。”

SK

私钥签名

证明持有人同意这次状态变化;私钥不离开钱包。

PK

全网验证

节点验证签名与花费条件,不必知道真实姓名。

Bitcoin 是“假名化”而不是“完全匿名”:地址不写姓名,但交易关系与金额公开可查。
BITCOIN / BLOCK DATA05 / 19
HEADER + TRANSACTIONS

区块不是神秘黑盒,它是一批交易加一份摘要。

80-BYTE BLOCK HEADER
VERSION规则版本
PREV BLOCK HASH链接上一段历史
MERKLE ROOT承诺本区块全部交易
TIME时间戳
nBITS / TARGET当前挖矿难度
NONCE矿工反复尝试的值
MERKLE ROOT
HASH A+B
HASH C+D
TX_A
TX_B
TX_C
TX_D
BITCOIN / P2P NETWORK06 / 19
TRANSACTION LIFECYCLE

没有中央服务器,交易如何进入全网共同历史?

01

钱包签名

构造 inputs / outputs,用私钥授权。

02

P2P 广播

邻居验证后继续扩散,没有主节点。

03

进入 Mempool

各节点暂存自己看到的有效未确认交易。

04

矿工打包

选择交易,构造候选区块并竞争 nonce。

05

节点确认

独立验证新区块,再更新自己的链与 UTXO 集。

广播让信息扩散;共识规则让不同节点最终收敛到同一段有效历史。
BITCOIN / UTXO07 / 19
UNSPENT TRANSACTION OUTPUT

Bitcoin 没有“账户余额”,只有可花费的输出。

Alice 的旧输出

UTXO_A = 5.0 BTC

解锁条件

valid signature from Alice

TRANSACTION

INPUT — consume UTXO_A

OUTPUT_0 — Bob gets 3.0 BTC

OUTPUT_1 — Alice gets 1.99 BTC change

FEE — 5.0 − 3.0 − 1.99 = 0.01 BTC

Bob

NEW UTXO = 3.0 BTC

Alice

CHANGE = 1.99 BTC

BITCOIN / EXPLORER08 / 19
TXID → INPUTS → OUTPUTS → FEE

看到一长串哈希时,到底该看什么?

BITCOIN TRANSACTIONEXPLORER VIEW
TXID7f3a…c91e交易内容的唯一指纹
STATUSCONFIRMED · 6已进入区块,后面又叠了 6 个区块
INPUTSUTXO_A · 5.00 BTC正在消耗哪一笔过去的输出
OUTPUTSBob 3.00 · Alice 1.99创建了哪些新的可花费输出
FEE0.01 BTC输入总额 − 输出总额
BLOCK#840002 · 0000…这笔交易被写进哪一段共同历史
BITCOIN / PROOF OF WORK09 / 19
MAKE HISTORY EXPENSIVE TO REWRITE

求解很难,
验证很容易。

H(block_header ∥ nonce) < target
01

矿工竞争

不断尝试 nonce,成功概率与算力成正比。

02

难度自动调整

每 2016 个区块调整 target,长期维持约十分钟一个区块。

SIMPLIFIED MINER
TARGET
000xxxxxxxx…
NONCE
ATTEMPTS
0
HASH

演示 target 仅要求前三位为 000;真实 Bitcoin 难度高得多。

BITCOIN / FORKS10 / 19
TEMPORARY DISAGREEMENT → EVENTUAL ORDER

同时出现两个有效区块,全网听谁的?

BLOCK N−2
BLOCK N−1
SAME PARENT
VALID A
STALE
VALID B
MORE WORK ✓
CONFIRMATIONS = MORE HISTORY ABOVE YOUR TX
ETHEREUM / THE SHIFT11 / 19
FROM LEDGER TO STATE MACHINE

如果“账本”可以执行代码,会发生什么?

BITCOIN

共同维护的账本

重点是资产所有权与花费条件:哪些 UTXO 还没有被花费?

UTXO SCRIPT
ETHEREUM

共同执行的状态机

交易触发程序;所有节点对同一输入执行同一规则,得到同一新状态。

ACCOUNT EVM
ETHEREUM / EVM12 / 19
DETERMINISTIC EXECUTION

同一笔交易,所有节点都算出同一个新状态。

EOA / 用户账户

私钥控制,可发起签名交易。

Contract / 合约账户

代码与存储存在链上,由调用触发。

EVM

New State

余额、nonce、code、storage 发生确定性变化。

Every Node

每个验证节点独立执行并验证结果。

ETHEREUM / SMART CONTRACTS13 / 19
CODE + STATE AT AN ADDRESS

智能合约像一台公开的自动售货机。

IN

交易触发

用户签名调用函数,并提供参数与 Gas。

OUT

全网执行

节点得到同一新状态;写入消耗 Gas,Bug 也会被共同执行。

contract ChainGame { mapping(address => uint) score; function play(uint move) public { // every node runs this rule score[msg.sender] += verify(move); } }

代币 / 所有权

谁拥有什么,如何转移。

托管 / 结算

满足公开条件后自动释放。

治理 / 协作

多方按同一规则投票和执行。

游戏 / 资产

规则与状态可被玩家独立验证。

DESIGN TRADE-OFFS14 / 19
SAME FAMILY, DIFFERENT OPTIMIZATION

Bitcoin 与 Ethereum:不是版本升级,而是不同取舍。

DIMENSIONBITCOINETHEREUM
MENTAL MODEL点对点电子现金 / 账本可编程分布式状态机
STATEUTXOAccounts + contract storage
EXECUTION受限的栈式脚本EVM 通用字节码
CONSENSUSProof of WorkProof of Stake
DESIGN BIAS简单、保守、货币安全可组合、可编程、应用平台
COST区块空间与确认时间Gas、状态增长与复杂性
SO WHAT IS IT FOR?15 / 19
THE THREE-CONDITION TEST

什么时候,
真的值得上链?

三个条件同时成立,再接受区块链带来的成本。
多方共同写入
同一份状态
无法共同信任
单一管理员
可验证与开放
价值高于成本
GOOD FIT
ANTI-PATTERNS16 / 19
A BLOCKCHAIN IS AN EXPENSIVE DATABASE

这些问题,不要用区块链。

×

一个组织完全控制写入

没有跨组织信任问题,就没有必要复制共识成本。

USE: PostgreSQL / event log
×

需要极低延迟、极高吞吐

全网复制与确定性执行天然比单机或集群更慢。

USE: cache / queue / stream
×

希望链上保证现实世界真相

共识能证明“大家记录了一样的数据”,不能证明输入是真的。

NEED: oracle + governance
×

业务要求随时删除与回滚

不可逆与公开审计可能直接违反产品或合规需求。

USE: controlled workflow
LIVE / CHAIN GAME17 / 19
NOW FEEL THE STATE CHANGE

扫码加入,
一起写一条链。

1

提交动作

每个玩家产生一笔待确认交易。

2

生成区块

交易被排序、验证并写入新区块。

3

观察状态

区块高度、交易数与状态根同步变化。

https://YOUR-GAME-URL
部署后
替换二维码
LOCAL FALLBACK / MINI CHAINREADY
players1
pending tx0
height0
LIVE / OBSERVE THE CHAIN18 / 19
READ A BLOCK EXPLORER

一笔链上操作,到底看哪里?

01

Transaction Hash

交易的唯一指纹,也是排查问题的入口。

02

From / To

发起账户与目标账户或合约地址。

03

Block / Status

是否已执行、被哪个区块纳入、确认到什么程度。

04

Logs / Gas / State

合约发生了什么,以及为共享计算付了多少成本。

TX INSPECTORSUCCESS ✓
TX HASH0x—
FROM0x71C4…PLAYER
TO0xB10C…CHAIN_GAME
BLOCK#0
METHODplay(uint256 move)
GAS USED
EVENTWaiting for a confirmed move…
STATE ROOT0x—
TAKEAWAYS19 / 19
THREE THINGS TO REMEMBER

区块链不是“信任消失”,
而是信任换了位置。

01

从相信管理员,转向验证密码学与公开规则。

02

Bitcoin 让价值转移不再需要中央清算方。

03

Ethereum 让共同状态开始执行可组合的程序。

真正的工程问题不是“能不能上链”,而是“去中心化带来的价值,是否值得它的成本?”
APPENDIX / SOURCESA / 01
PRIMARY REFERENCES

继续深挖:从原始资料开始。

提示:技术参数与网络状态会变化;正式引用时优先查看协议与官方开发者文档的最新版本。
END OF TALK / 022 SCOTT LI · KOALA TECH
THANK YOU FOR LISTENING

谢谢

欢迎提问、讨论,也欢迎不同意见。

EDIT MODE · CTRL/CMD + S 保存