什么是web3?从状态机到去中心化金融,带你认识最清晰的Web3本质
0. 引
Web3这个词已经被市场营销号嚼烂了。本文旨在向你系统拆解下被营销号包裹的Web3本质。我们抹去黄金之上的泡沫,带你认识计算机科学历史上最激进的一次架构迁移:将信任从中心化的人类机构,转移到去中心化的数学协议之上
1 节点如何互联
Web3 没有中心服务器,只有对等节点。
问题是:在没有 DNS 服务器的情况下,我的电脑怎么知道你在哪里?
1.1 节点发现协议 Discovery Protocol
这完全不同于 HTTP。它使用的是基于 Kademlia 算法的 DHT分布式哈希表
Enode ID: 每个节点的身份证
- 格式:
enode://<128位公钥>@<IP地址>:<端口> - 当你启动一个 Geth 客户端,它会生成这个唯一的 URL
- 格式:
引导节点 (Bootnodes):
- 这是代码里写死的种子节点列表
- 新节点上线时,先去,质询 Bootnodes 在线节点
- Bootnodes 返回一堆它知道的 IP。你的节点再去连这些 IP,像病毒扩散一样
Gossip找到整个网络
1.2 通信协议 RLPx
一旦找到了对方,怎么发数据?不可能是http
以太坊使用的是 RLPx (Recursive Length Prefix Transport Protocol)
握手 (Handshake):
- A 发送
Auth消息(用对方公钥加密的 ECDH 密钥交换) - B 返回
Ack - 建立加密通道(TCP 长连接)
- A 发送
多路复用 (Multiplexing):
- 在这个 TCP 连接里,同时跑着不同的子协议:
eth/66: 交换区块头、交易数据snap/1: 快速同步快照数据
2. 数据结构
区块链并不是一个巨大的 Excel
如果用 Excel,当你只修改一行数据,整个文件的哈希值都会变,你需要重算 1TB 数据的哈希,这很显然不显示
Web3 使用的是 Merkle Patricia Trie (MPT) 默克尔压缩前缀树
2.1 什么是树
这是一种结合了哈希树Merkle Tree和前缀树Radix Trie的变态结构
- Key: 账户地址的哈希(
Keccak256(Address)) - Value: 账户内容的 RLP 编码(
[Nonce, Balance, StorageRoot, CodeHash])
2.2 节点的四种形态
在数据库底层,MPT 树由四种节点拼凑而成:
Leaf Node (叶子节点):
[Key, Value]。这是真正存数据的地方(比如你的余额)Extension Node (扩展节点):
[Shared Key, Next Node Hash]- 如果一堆地址都是
0xabc...开头,我们不需要存一万次0xabc,只存一次,下面挂一个指针。这叫路径压缩
- 如果一堆地址都是
Branch Node (分支节点): 一个长度为 17 的数组
- 前 16 个对应十六进制的
0-f - 决定了路径是往
0走还是往f走
- 前 16 个对应十六进制的
Null Node: 空节点
2.3 状态更新
当你修改余额时:
- 我们不复制整棵树。
- 我们只修改受影响的叶子节点
- 然后重新计算这条路径上所有父节点的 Hash,直到根节点
- 旧的节点依然存在(这就实现了历史回溯),但生成了一个新的 Root Hash
- 这个新的
Root Hash被放进了新的区块头里
3.EVM 的微观执行
EVM 是如何把字节码变成转账的?
3.1 内存模型详解
EVM 运行时有三块区域,性质完全不同:
Stack (堆栈):
- 结构: LIFO (后进先出),最大深度 1024
- 作用: 所有的计算(加减乘除)都在这里发生
- 指令:
ADD从栈顶拿两个数,相加,结果推回栈顶 - 特性: 几乎免费(Gas 极低),但随着函数结束消失
Memory (内存):
- 结构: 线性字节数组
- 作用: 临时存放字符串、数组、返回值
- 成本: 它是按平方计费的,你申请的内存越大,Gas 呈指数级上涨(防止你把节点的 RAM 撑爆)
- 特性: 交易结束后数据清零
Storage (存储):
- 结构: 键值对映射 (Key-Value Map)
- 作用: 永久写入区块链状态(MPT 树)
- 指令:
SSTORE(写),SLOAD(读) - 成本: 天价。写一个非零值会需要 20000 Gas
- 特性: 永久保存,全网同步
3.2 具体指令的执行流
假设代码是 a = b + c。在 EVM 字节码里是这样的:
PUSH1 0x05(把数值 5 推入栈) -> Stack:[5]PUSH1 0x03(把数值 3 推入栈) -> Stack:[3, 5]ADD(加法操作)- CPU 弹出 3 和 5。
- 计算 3+5=8。
- 把 8 推入栈。
- Stack:
[8]
PUSH1 0x00(准备存到 Slot 0) -> Stack:[0, 8]SSTORE(存储指令)- CPU 弹出 0 (Key) 和 8 (Value)。
- 物理动作: 在 LevelDB 里写入
MPT_Update(Key=0, Value=8)。 - 扣费: 扣除用户 20000 点Gas
4. 交易层
一笔交易在网线上传输时,不是 JSON,而是一串被序列化的二进制流
4.1 Recursive Length Prefix)
这是以太坊发明的一种极简序列化格式。
如果是一个字节,直接存。如果是一串字节,前面加一个前缀表示长度,这极致压缩了空间
4.2 交易结构
一笔 Raw Transaction 包含以下字段(按顺序 RLP 编码):
nonce: 计数器(防重放)gasPrice: 你愿意为每单位 Gas 出多少钱gasLimit: 你最多愿意花多少 Gasto: 目标地址(如果是空,表示创建新合约)value: 转账金额(Wei)data: 这就是智能合约的函数调用数据(比如0xa9059cbb...)v, r, s: ECDSA 数字签名
4.3 签名原理
当你点击 发送交易 时,你的钱包在做什么?
- 哈希: 计算
h = Keccak256(RLP(nonce, gasPrice, ... data)) - 签名: 使用你的私钥
和随机数 ,根据椭圆曲线公式计算出 - 打包: 把
v, r, s附在交易末尾
节点端验证:
节点收到交易,不需要知道你的私钥。它通过 v, r, s 和 h,利用椭圆曲线逆运算,可以算出一个公钥
如果 Address(Q) == From_Address,则签名有效,交易合法
5. 共识层
为什么几万个节点能达成一致?
5.1 验证者工作流
现在可不再是挖矿算Hash,而是在场证明Attestation
- 质押
Staking: 你必须把 32 ETH 锁进存款合约。这笔钱是你的人质 - 随机抽签
Randao: 系统每 12 秒随机选出一个 提议者Proposer又称矿工 - 提议: 被选中的人打包交易,广播新区块
- 见证
Attestation: 其他几千个验证者组成委员会,对这个区块进行签名投票,同意这个块合法
5.2 惩罚机制
- 双签
Double Signing: 如果你在同一个高度签署了两个不同的区块(试图让区块链分叉)- 你的 32 ETH 会被瞬间扣除 1 ETH 甚至更多,并被踢出网络
- 离线惩罚
Inactivity Leak: 如果你掉线了,未能参与投票- 你的余额会像漏水一样慢慢减少,直到你修好服务器或钱被扣光
6. 智能合约
在此之前,我们补一些技术术语
1. 预言机 Oracle
- 区块链是封闭的,它不知道现在 ETH 的美元价格是多少,也不知道今天气温多少
- 这就产生了一个把现实世界数据(价格、天气)写入区块链的桥梁服务
- 在杠杆中,它是裁判。它说降价了,合约会就执行清算
2. Gas
- 为什么我在链上点一下就要花几十块钱?
- 因为执行智能合约需要消耗全网节点的算力。Gas 就是你付给矿工的计算服务费
- 代码越复杂(循环越多、存数据越多),Gas 越贵
3. DApp 去中心化应用
- 定义:Frontend (网页/APP) + Smart Contract (后端)
- 你看到的漂亮网页(比如 Uniswap 的界面)只是一个壳,它负责把你的点击转化为交易指令发送给区块链
4. DAO 去中心化自治组织
- Aave 借贷协议里的 利息 是谁定的?
- 是持有治理代币
Token的人投票决定的,这就像公司的股东大会,但是投票权是根据你手里币的多少来由代码自动统计的
6.1 定义
这玩意既不智能,也不合约
在计算机科学中,智能合约的准确定义是:
存储在区块链上的、地址唯一的、不可篡改的、确定性执行的字节码
- 它没有 AI,不会思考。它只是一个死板的
If-This-Then-That的脚本 - 它没有法律效力(目前大多数国家),它更像是一个自动贩卖机的机械装置,算不上合约
6.2 贩卖机模型
这是理解智能合约最经典的教科书模型(由尼克·萨博提出):
- 传统交易(Web2/柜台):你把钱给售货员
售货员确认金额 售货员拿可乐给你 找零。 - 风险:售货员可能拿钱跑路,可能算错账,可能不想卖给你
- 智能合约(Web3/贩卖机):你把钱投入机器槽口
齿轮转动 此时如果金额足够,可乐必须掉下来 - 没有中间人。一旦你投币,结果是物理/数学上确定的
6.3 代码解析
我们用最通用的语言 Solidity(以太坊的编程语言,长得像 JavaScript/C++)写一个最简单的存钱罐合约
1 | // 1. 声明版本 |
部署:
当你把这段代码通过钱包发送到区块链时,它会被编译成字节码 (Bytecode)(一堆机器才看得懂的60806040...),并分配到一个以0x开头的合约地址- 从此,这段代码无法修改,无法删除
调用:
当你在这个合约上点击 存钱 按钮时,其实是向这个合约地址发送了一笔交易- EVM会被唤醒
- 它加载这个合约的代码
- 它执行
deposit函数 - 它修改
balance变量的状态 - 全网所有节点同步更新这个变量
不可篡改:
注意withdraw函数里的require(msg.sender == owner)- 在现实银行,如果有人拿着枪指着柜员,柜员可以把你的钱转走
- 在智能合约里,如果私钥签名不对,莱斯特来了也转不走这笔钱。代码逻辑是绝对的铁律
7. DeFi 去中心化金融
7.1 Web3杠杆
传统金融(信用贷):
你想借100万炒股。券商/银行看你的工资流水、房产证、信用分。如果觉得你靠谱,就借给你- 这基于人的信用
Web3 金融(抵押贷):
区块链不知道你是谁,也没法法院起诉你。它怎么敢借钱给你?
答案是:超额抵押 噔 噔 咚
7.2 杠杆运作
假设你手上有 1 个 ETH(价值
第一步:抵押
你把 1 个 ETH 存入 Aave 的智能合约
- 你的资产:$3000 (ETH)
- 合约给你一个健康因子
第二步:借贷
合约允许你借出相当于抵押物价值 80% 的稳定币(USDC)
你借出 2400 USDC
- 现在你手里有:1 ETH (在合约里) + 2400 USDC (在钱包里)
- 注意: 这时候还没有杠杆
第三步:循环 这才是真正的杠杆
你拿着借来的 2400 USDC,去交易所再买入 0.8 个 ETH
然后,你把这 0.8 个 ETH 再次存入 合约
- 现在合约里有:1.8 ETH
- 合约发现你抵押物变多了,允许你再借 0.8 ETH 对应的 80% 资金,如此循环
最终
你本金只有
- ETH 涨 10%:你赚的是
3000 的 10%。这就是杠杆
7.3 清 算
既然是借钱,合约必须保证借款人的本金不亏损。
合约里写死了一行代码:清算阈值
假设 ETH 价格暴跌
你的 1.8 ETH 贬值了,价值快要低于你借出来的 USDC 总额了
一旦触碰设定的数学红线:
- 预言机 告诉合约:现在 ETH 跌到 $2000 了
- 合约触发
Liquidate函数 - 合约自动拍卖你抵押的 ETH,用来偿还你借的 USDC
- 如果还有渣子会退给你
在这个过程中,没有催收电话,没有宽限期,只有代码被执行,你的本金可能会一瞬间蒸发
7.4 超额抵押
这里我们深入讲解传统借贷和web3
传统银行:
- 你什么都不用押,凭工资条借了 10 万块
- 你跑路了: 银行亏 10 万。银行报警,法院查封你财产,上征信黑名单
- 你要知道的是,银行在害怕你跑路
Web3 协议:
- 你要借 80 块钱(USDC),你必须先往智能合约里存入价值 100 块钱的比特币(BTC)
- 你拿着 80 块钱跑路了
- 结果协议手里扣着你价值 100 块的比特币。协议把你的比特币卖了,扣除借给你的 80 块,甚至还赚了
- 协议压根不在乎你跑不跑路,他们甚至希望你跑路
在去中心化世界,没有警察和法院,代码只相信扣在手里的资产
7.4.0 为什么要在Web3借贷
- 这时候估计会有人要骂,我有那一百块为什么不直接花掉?我还借他干嘛?
如果用 Web2 的逻辑(找银行贷款买房),Web3 的超额抵押简直是脑子有病
但我要告诉你的是
你把 Web3 的借贷当成了消费贷或救济贷
目前的 DeFi 借贷本质上是金融杠杆工具和资产管理工具
真正去借这种钱的人,只有以下四种。每一类都非常精明,并不是因为他穷
7.4.1 赌徒
这是 DeFi 借贷最大的用途(占 80% 以上)。他们借钱不是为了花,而是为了买更多同一种资产
你看好比特币(BTC)要大涨。你手里有价值 10 万的 BTC
- 不借钱: BTC 涨 10%,你赚 1 万
- 去 Aave 借钱:
- 把 10 万 BTC 抵押进去
- 借出 8 万 USDT(稳定币)
- 转身去交易所,把这 8 万 USDT 再买成 BTC
- 现在你手里实际控制了 18 万 的 BTC(虽然有 10 万抵押着)
- 结果: BTC 涨 10%,你赚 1.8 万。你的收益放大了 1.8 倍
这根本不是借钱过日子,这是融资炒股。他们愿意抵押,是因为他们坚信手里的抵押物会升值,不想卖掉它,但又想要更多的资金来扩大收益
7.4.2 空头
如果你觉得某个币要跌,你怎么赚钱?在现货市场你只能低买高卖,但在借贷协议里你可以做空
你觉得 A 马上要归零了
- 你抵押 1000 USDC(真金白银)
- 借出 100 个 A(价值 800 USDC)
- 立刻去交易所把这 100 个 A 卖掉,换回 800 USDC
- 现在你手里有:1000 抵押 + 800 现金 = 1800 资产
- 你欠协议:100 个 A
- 等待 A 暴跌 50%
- 你花 400 USDC 就能买回 100 个 A
- 把这 100 个币还给协议
- 你当初卖了 800,现在买回来只花了 400,净赚 400 USDC
借贷协议是做空机制的基础设施。没有借贷,就没有做空
7.4.3 屯币
这是富人的游戏规则。在美国或很多国家,卖出资产是要交巨额资本利得税的,但借款不用交税
你是一个以太坊早期投资者,手里有 1000 个 ETH(假设价值 300 万美元)你需要 10 万美元去买辆保时捷
方案 A(卖币): 你卖掉 33 个 ETH
- 税务局:你当年成本才几块钱,现在卖这么贵,交 20%-40% 的税
- 后果:你亏了巨额税款,而且你永远失去了这 33 个 ETH(以后涨了跟你没关系)
方案 B(抵押): 你抵押 ETH,借出 10 万 USDT 提现去买车
- 税务局:这是债务,不是收入,不用交税
- 后果:你开上了保时捷,而且那 1000 个 ETH 还在你名下。只要 ETH 不暴跌,你以后慢慢还利息就行;如果 ETH 暴涨,你更是赚翻了
这就是著名的富人策略:Buy, Borrow, Die (买入资产,抵押借款消费,带着债务离世)。DeFi 让普通人也能用这个策略
7.4.4 农民
这时候,借钱是为了赚别处的利息
- Aave 上的借款利息是 3%
- Uniswap 上某个资金池的挖矿回报率是 10%
- 操作: 你抵押资产,以 3% 的成本借钱,去赚 10% 的收益
- 结果: 无风险或低风险 套取 7% 的利差
7.4.5 事实很残酷
或许要有人问
- 如果真把这当作救济债,没有足够的价值去抵押怎么办
答案极其残酷:目前的 DeFi 救不了他们
CeFi/银行: 靠信用放贷
银行借你钱,是因为看了你的工资流水、工作证明、征信报告。银行相信你未来能赚钱,所以即便你现在没钱,也敢借给你。这叫信用贷DeFi: 靠资产放贷
区块链不知道你是谁,不知道你是不是在那家大公司上班,也没法在你赖账时把你送进监狱
所以,区块链完全不相信人性。它只相信扣在手里的钱
Web3 正拼命想解决这个问题。现在的热门方向叫 RWA (现实资产上链) 和 DID (去中心化身份)
- 如果未来能把你的房产证做成 NFT 抵押?(RWA)
- 如果未来链上能形成一套链上芝麻信用分?(Soulbound Token / DID)
只有到了那一天,DeFi 才能真正服务那些 没钱但有信用 的普通人。
现在的 DeFi,本质上是一个服务于资本(资产持有者)和交易员的超级赌场及资金流转工具,而不是慈善机构或普惠银行。
7.5 谁来清算?
- 假设你抵押了 100 块的 BTC,借了 80 块出来。突然 BTC 暴跌,跌到 81 块了,马上就要资不抵债了(跌破 80),谁来卖掉你的债?
并没有人坐在电脑前盯着你的账户
执行清算的是一群机器人,我们称之为 清算人
流程如下:
触发:
智能合约里写死了一条规则:如果(抵押物价值 < 借款金额 * 1.05),允许任何人调用liquidate()函数巡逻:
全世界有成千上万个 24 小时运行的脚本,它们时刻监听着链上的每一个借贷账户发现:
当你的 BTC 价值跌到红线那一瞬间,这几千个机器人会像鲨鱼闻到血腥味一样,争先恐后地向智能合约发送交易,试图触发liquidate函数处决:
- 机器人帮你是还一部分欠款(比如还 40 块)
- 作为回报,合约会把你的 BTC 以打折价(比如 5% - 10% 的折扣)卖给这个机器人
结局:
- 协议收回了欠款
- 机器人赚到了差价(比如它花 40 块帮你还债,拿走了价值 44 块的 BTC)
- 你的 BTC 被低价强制卖掉了,你亏大了
清算你的没有官方,而是为了赚取那 5% 罚金的第三方套利机器人。这是一种基于贪婪的自我维护系统
7.6 闪电贷
在 Web3 里,只有一种情况你可以不抵押一分钱就借走几个亿。这叫闪电贷
这也是很多黑客攻击的手法
但它有一个极其硬核的物理限制:原子性 Atomicity
你写一个智能合约,包含三步逻辑:
- 向 Aave 借 1 亿美元(无抵押)
- 拿这 1 亿去炒作、套利、搬砖(随便你干什么)
- 在同一笔交易结束前,必须连本带利把钱还回去
如果你在第 2 步亏了钱,导致第 3 步还不上钱,会发生什么?
EVM会判定这笔交易失败,整个过程回滚
就像时间倒流一样:
在区块链的历史上,你从来没有借过这笔钱,这 1 亿美元从来没有离开过金库。你只需要支付一点点 Gas 费,证明你曾经 试图 这么做过
所以,即使是闪电贷,你也无法卷款跑路,因为如果你不还钱,这笔借款在物理时间轴上就不存在
8. 自动化做市商
在 Web3,为了节省昂贵的存储费(存几万个挂单在链上太贵了),我们发明了
8.1 恒定乘积公式 CPMM
这是一个极其优雅的数学模型,它不需要任何做市商挂单,只要有资金池就能交易
- 模型: 一个池子里有两种资产,A (数量
) 和 B (数量 ) - 铁律: 在交易前后,两个池子的数量乘积
必须保持不变(忽略手续费)
8.2 交互推导
假设池子里有:
- ETH (
): 10 个 - USDC (
): 30,000 个 - 当前价格: 3000 USDC/ETH
你想用 USDC 买 1 个 ETH
- 你给合约发了若干 USDC(设为
) - 你想拿走 1 个 ETH (
) - 计算:
- 池子剩下的 ETH 必须是:
- 为了维持
,池子里的 USDC 必须变成: - 所以,你必须投入的 USDC (
) 是:
- 池子剩下的 ETH 必须是:
- 虽然初始价格是 3000,但你买这 1 个 ETH 实际上花了 3333.33
- 滑点 Slippage: 这一单把价格从 3000 推高到了 3333。买得越多,单价越贵。这就是供需曲线的自动调节
8.3 无常损失 Impermanent Loss
这是作为流动性提供者 LP 必须懂的数学陷阱
- 当你把 ETH/USDC 存入池子做市,如果 ETH 暴涨,你的 ETH 会被套利者买走(因为池子里便宜),你会满手全是贬值的 USDC
- 自动卖出上涨资产,买入下跌资产。这是一种做空波动率的策略
9. Oracle预言机实现
智能合约最大的缺陷是 它是瞎子
EVM 是确定性的,无法进行 HTTP 请求(比如 GET binance.com/price),因为不同节点在不同时间请求,结果可能不同,共识就会崩溃
Chainlink 是如何把现实世界带入区块链的?
9.1 架构设计
- 链上部分: 一个简单的存储合约
1
2
3
4contract PriceFeed {
int256 public price;
function updatePrice(int256 _price) public { ... }
} - 链下部分 Oracle Nodes: 几百个独立运行的服务器,监听交易所 API
9.2 数据上链流程
- 聚合 Aggregation: 21 个节点分别从币安、Coinbase 获取 ETH 价格
- 节点 A: 3001
- 节点 B: 3002
- 节点 C: 2999
- …
- 共识: 它们在链下(Off-chain P2P 网络)对数据进行签名,取中位数。中位数能过滤掉个别恶意报价
- 写入: 一个指定的节点把这一包带有 21 个签名的最终数据,发送给链上合约
- 验证: 链上合约验证签名数量是否达标,然后更新
price变量
这就是为什么 DeFi 借贷协议依赖 Chainlink。如果 Chainlink 被黑,所有借贷协议都会因为价格错误而发生连环清算
10. 扩容
以太坊 L1 太贵太慢(TPS ~15)。我们需要在不牺牲安全性的前提下扩容,因此发明了Rollups (打包)
核心思想是 在链下执行计算,在链上存结果和证据
10.1 乐观汇总
代表:Arbitrum, Optimism。
- 工作原理:
- L2 节点在链下飞快地跑交易
- 每隔几分钟,把几千笔交易压缩,计算出一个新的 State Root
- 把这个 Root 发布到以太坊 L1
- 乐观假设: L1 默认认为这个 Root 是对的,直接接受
- 欺诈证明 (Fraud Proof):
- 如果在 7天挑战期 内,有人发现这个 Root 是错的(比如 L2 节点私自改了余额)
- 挑战者提交一段数学证据给 L1
- L1 重新执行那一笔交易。如果发现确实错了,L2 节点被罚没押金,回滚状态
- 代价: 提现需要等待 7 天,也就是挑战时间,可以理解为冷静期
10.2 零知识汇总
代表有:zkSync, Starknet
- 工作原理:
- L2 节点打包交易
- 数学魔法: 生成一个 零知识证明 (SNARK/STARK)。这个证明用密码学保证了:我刚刚执行的这 1000 笔交易,其状态变化确实导致了新的 Root,绝无作假
- 把 Root + 证明 提交给 L1
- L1 的验证合约校验这个证明。如果通过,立即确认状态
- 优势: 它是数学真理,不需要等待 7 天
- 劣势: 生成证明极其消耗 CPU 算力
11. 黑暗森林
在 Web3,黑客攻击不是绕过防火墙,而是合法地调用你的代码
11.1 重入攻击 Reentrancy Attack
这是 The DAO 事件(导致以太坊分叉)的罪魁祸首
漏洞代码示例:
1 | function withdraw() public { |
攻击原理:
- 黑客写了一个恶意合约
- 黑客调用
withdraw() - 目标合约执行到
msg.sender.call(转账)时,会触发恶意合约的fallback函数 - 恶意合约的
fallback函数里写了一行代码:再次调用目标合约的withdraw() - 此时,目标合约的第 2 步(余额归零)还没执行,所以
bal > 0依然成立 - 结果: 像递归一样,黑客把钱提了一次又一次,直到把池子提空,最后才执行余额归零
如何防御?: checks-effects-interactions 模式(先扣款,再转账)
11.2 抢跑与三明治攻击 MEV
内存池 是完全公开的。矿工/验证者就像拥有上帝视角
你发了一笔交易:用 1000 USDC 买 ETH。这笔大单会把 ETH 价格推高 1%
攻击者 (Searcher Bot) 监测到了这笔交易:
- 抢跑 (Front-run): 机器人发一笔交易买入 ETH,并将 Gas 费设得比你高。矿工会先打包它的交易。
- 结果机器人把你买入前的价格抬高了
- 你的交易执行: 你以更高的价格买入了 ETH(你亏了)。价格进一步拉高
- 夹尾 (Back-run): 机器人紧跟着你的交易卖出 ETH
- 结果机器人低买高卖,吃掉了你的滑点
这就是 Maximal Extractable Value。这是区块链这种公开透明账本的必然副作用
12. NFT
大概你也会认为 NFT 就是 买一张图片,这是最大的误解
你花几十万买个猴子头像,你买到的根本不是那张图片
12.1 核心原理
想象一下,你花钱买了一颗星星的命名权
- 你得到星星了吗? 没有,星星还在天上,谁都能看,谁都能拍照
- 那你买到了什么? 你买到了一张纸,上面写着:坐标 ~ 的这颗星星,现在归Chongxi
- 谁承认这张纸? 假如有一本全人类公认的、绝对无法涂改的天文学大账本(区块链),全世界只有这一本账本
NFT 就是这本大账本上的一行字:
编号 #8888 的东西,属于 #你的钱包地址
至于这个 #8888 是一张图片、一首歌,还是一把游戏里的屠龙刀,区块链其实根本不在乎。它只在乎确权
12.2 为什么比特币不是 NFT?
比特币(同质化)= 钞票
你手里的一百块钱,和我手里的一百块钱,是一模一样的。咱俩换一下,毫无影响。这就叫同质化NFT(非同质化)= 房产证
你手里的是 1排1座 的票,我手里是 最后一排厕所门口 的票
虽然都是票,但价值完全不一样,不能随便换。这就叫非同质化
所以在区块链上,比特币只记录 你有几个币
而 NFT 必须记录 你拥有的是哪一个编号
12.3. 最大的谎言
NFT 最荒诞、也最技术性的地方
因为区块链简直是寸土寸金。要在以太坊链上存一张普通的 1MB 高清大图,光存进去的手续费可能就要几万甚至几十万人民币,哪怕是土豪项目方也存不起
那怎么办?存链接
你的 NFT 上,其实只写了一行像网址一样的东西:
TokenURI:https://…/oiiaoii.jpg
残酷的是:
- 你花了 100 万买的 NFT,在区块链上只是一行代码,这行代码指向了某台服务器上的一张图
- 如果项目方没钱续费服务器了,或者项目方跑路把服务器关了,你的 NFT 还在链上,但那个网址打不开了
- 结果你花 100 万买的房产证,变成了一张白纸
解决办法
现在的良心项目,会把图片存在 IPFS(一种去中心化硬盘)
IPFS 的特点是:只要世界上还有一台电脑存着这张图,链接就永远有效。这就相当于把 房产证 指向了一个永远不会倒闭的图书馆
12.4 何为拥有
很多人最不服气的地方便是:这图片我也能下载,我也能设成头像,凭什么要花 100 万?
- 你去卢浮宫,可以对着《蒙娜丽莎》拍照,可以把照片洗出来挂家里,甚至画得比真迹还清楚
- 但是,当你拿着照片去苏富比拍卖行,没人会理你
- 只有那个持有真品证书的人,才能把画卖出天价
在 Web3 的世界里,所有人的钱包都是透明的
你有没有这个 NFT,大家在链上一查就知道
- 你下载图片设头像 大家查你的钱包,发现里面是空的,纯装
- 你买了 NFT 设头像 大家查你的钱包,发现真的有记录,我去碰到老资历了
NFT 的价值,不在于 看 ,而在于 被全网验证的炫耀权
12.5 授权机制
你在交易平台卖 NFT 时,你会发现你不需要把 NFT 转给平台
那平台怎么能在你睡觉的时候,自动把你的 NFT 卖给别人呢?
这里用到了一个类似 房屋中介 的机制:
授权:
你第一次上架时,钱包会弹窗让你点确认。
这一步其实是在链上签了一份委托书:我授权 Opensea 这个中介,可以随时动用我钱包里的这张名为 #8888 的房产证
签名:
你填个价格:10 ETH
这一步其实是你写了一张条子:谁给我 10 ETH,中介就把房产证给他
这张条子没上链,只是贴在了 Opensea 的服务器上(为了省手续费)成交:
买家来了,看中了。买家把 10 ETH 给 Opensea 的智能合约
合约拿着你的委托书,直接把 NFT 从你的钱包里抓出来,塞给买家,同时把钱给你
为什么很多人点个链接 NFT 就没了?
因为骗子做的钓鱼网站,伪装成抽奖页面,弹出的那个确认框,其实是最高权限委托书
你一旦点了确认,骗子就有权搬空你所有的 NFT,根本不需要知道你的密码
13. 真相
只谈颠覆不谈风险是骗子,只谈愿景不谈现状是忽悠
目前的 Web3,极其撕裂。一方面是天才的数学和精妙的架构,另一方面是遍地的骗局和低效的重复建设
全世界都在修路(造公链),修了一万条高速公路,但路上跑的只有几辆玩具车(应用),而且这几辆车上坐的全是想在路上捡钱的赌徒
为什么会这样?这是激励机制的错配造成的
发公链太赚钱了:
如果你开发一个 App(比如去中心化的YouTube),你需要累死累活运营用户,变现极难
但如果你开发一条公链(Layer 1 / Layer 2),你发一个币,讲一个 我是更快的以太坊的故事,资本就会疯狂涌入
导致工程师们不去解决真实世界的痛点,而在疯狂内卷 TPS(每秒交易量)。现在的公链性能早就过剩了,缺的是人用
以太坊、Solana、Aptos、Sui……每一条链都是一个独立的国家。用户资产跨链极难,体验极差。这就像你用微信还要分 Android版 和 iOS版,而且两边账号数据还不互通
真正的DApp并未爆发:
- 目前的 去中心化应用 只有三类还在活跃:借贷(DeFi)、赌博(GameFi)、炒图(NFT)
- 并没有出现像 Uber、Wechat 这样真正改变普通人生活的消费级应用
如果你要入行或投资,必须直面这四个死神
A. 不可挽回的技术死亡
在 Web2,微信崩了可以修,支付宝被黑了数据可以回滚
在 Web3,Code is Law 是一把双刃剑
- 你把钱转错地址了?永久消失
- 你把私钥弄丢了?无人能救
- 智能合约有 Bug 被黑客掏空了?那是 合法的 代码执行,没人赔你
- 对普通用户来说,这种自我主权带来的心理负担太重了。很多人根本接不住这种自由
B. 庞氏与泡沫
Web3 目前 90% 的代币经济模型(Tokenomics)本质上是庞氏(Ponzi)。
- Play-to-Earn: 钱从哪来?从后进场的玩家手里来。一旦没新人进场,币价瞬间归零(如 Axie Infinity)
- 高收益挖矿: 承诺年化 100% 的收益?那是用印出来的通胀币给你的
- 空气币: 没有现金流,没有盈利能力,市值全靠共识(也就是情绪)。情绪一崩,价值归零
C. 监管铁拳
最大的灰犀牛
- 反洗钱 (AML): 只要监管层掐断 法币出入金通道(让银行不给交易所转账),Web3 就会变成局域网里的自嗨,流动性枯竭
- 证券认定: 如果美国 SEC 认定大部分代币是 证券,那么所有的交易所都要持牌,大部分项目方都要坐牢或交巨额罚款
D. 中心化的伪装
很多号称“去中心化”的项目,其实控制权在 3 个人的多签钱包里。
- 服务器在 AWS 上
- 前端在 Cloudflare 上
- 甚至节点都是项目方自己跑的
- 一旦出事,这比银行还危险,因为银行受监管,他们不受监管
14. 泡沫下的黄金
既然全是问题,为什么还要研究它?为什么全世界最顶尖的精英,华尔街和硅谷最聪明的大脑还在往里冲?
因为泡沫之下,物理层面的变革已经发生了。就像 2000 年互联网泡沫破裂,Pet.com 死了,但互联网留下了
14.1. 支付革命
这是目前 Web3 唯一真正的大规模应用
- 在阿根廷、土耳其、尼日利亚等通胀严重的国家,普通人把积蓄换成 USDT/USDC 存在手机里
- 这并不是为了炒币,而是为了生存。它让一个没有美国银行账户的非洲人,拥有了持有美元资产的权利。这在人类历史上是第一次
- 现在汇款要几天,收几高手续费;用链上转账,几秒钟,几分钱,全天候。银行的 SWIFT 体系注定会被淘汰
14.2 资产代币化
别再炒你那破图片了,未来炒的是现实世界,把美债、房地产、股票映射到链上
* 你可以在周日凌晨 3 点,把你的 100 块钱美债卖掉,换成一杯咖啡
* 你可以买 0.0001 份纽约的一栋大楼的收租权。
- 逻辑: 并不是为了去中心化,而是为了流动性和全球化。黑石(BlackRock)等巨头正在入场,这才是万亿级的市场
14.3 数据主权与数字身份
这是对抗 AI 时代唯一的武器
- 在 AI 时代,怎么证明 我是人?怎么证明 这个作品是我画的,不是 AI 生成的?
- Web3 的解法: 你的私钥签名是无法伪造的数字指纹
- 你的社交关系、你的医疗数据、你的创作内容,不再存在腾讯或 Google 的服务器里,而是加密存在 IPFS 上,钥匙在你手里。任何 App 想用数据,必须经你授权(甚至要付费!)
14.4 无摩擦的全球协作
- 虽然现在的 DAO 很乱,但代码级公司的形态是先进的
- 没有财务部门(链上自动记账),没有跨国转账障碍,根据贡献(代码提交量/投票)自动发工资。这对于开源社区和全球化组织是降维打击
15. 结
我作为个人开发者对Web3的看法
在 Web2,我们相信服务器管理员是善良的 Don't be evil
在 Web3,我们假设环境是恶意的,但依靠密码学和博弈论,系统依然能正确运转 Can't be evil
目前的 Web3 目前处于 1995 年的互联网 和 1840 年的淘金热 的叠加态
- 它混乱、野蛮、充满骗子和强盗
- 但它脚下确实埋着石油和黄金,而且铁轨已经铺好
不要做那个在路边鼓掌的人,也不要做那个在赌场里红眼的赌徒
要做那个卖铲子、修铁路、或者在荒原上盖起第一家真正超市的engineer
- 标题: 什么是web3?从状态机到去中心化金融,带你认识最清晰的Web3本质
- 作者: Chongxi
- 创建于 : 2025-11-24 10:34:39
- 更新于 : 2026-01-03 03:01:44
- 链接: https://blog.chongxi.us/2025/11/24/whatIsWeb3/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。