第2天:区块链基础 | 从集中式 DB 到分布式状态机
Source: Dev.to
要进行翻译,我需要您提供要翻译的正文内容(除代码块和 URL 之外的文本)。请粘贴完整的文章文本,我会按照您的要求将其翻译成简体中文,并保留原始的格式、Markdown 语法以及技术术语。
Introduction
作为一名拥有近十年经验的后端工程师,我已经习惯了分布式系统、微服务和 ACID 事务。在我踏入 Web3 的第一天,我意识到核心的转变并不是语言(Solidity 与 Go/Java)的差异,而是关于数据存储和信任底层范式的根本性变化。
Web2 vs. Web3: 从后端视角看
| Dimension | Web2 | Web3 |
|---|---|---|
| Data Consistency | 依赖 Raft/Paxos 或中心化的主从同步 | 依赖共识机制(PoW / PoS) |
| Source of Trust | 信任 DBA 或云服务提供商 | 信任数学、算法和开源代码 |
| Write Operations | 低延迟,几乎免费 | 高延迟,需要支付 gas 费用(用于激励节点) |
| Transparency | 内部可见;数据可以被修改/回滚 | 全球透明;数据不可变 |
My Understanding: 如果把 Web2 数据库比作公司内部的私有 Excel 表格,那么区块链就像放在热闹城镇广场上的巨型账本——所有人都可以看到它,你只能用永久的笔写入,写入后永远无法擦除。
Web2 的痛点
后端开发者经常要处理 第三方集成 和 对账 问题。当两个系统(例如银行 A 与银行 B)交互时,各自维护自己的数据库,然后运行繁琐的对账流程以确保数据一致性。
Web3 的解决方案
所有人直接操作 同一个状态机。由于账本唯一、透明且不可篡改,我们不再需要昂贵的“信任成本”或“对账成本”。
核心挑战 — 信任与共识
在 Web2 系统中,信任通常是 中心化 的。你信任数据库中的数据,因为你信任运营它的公司、受过训练的 DBA,以及防火墙。
在 Web3 的无许可环境下,参与者彼此匿名。我们如何达成共识?
分布式系统中的共识
| 视角 | 常见算法 | 假设 |
|---|---|---|
| Web2 | Raft, Paxos | 节点可能会离线,但 不 假设它们会恶意行为。 |
| Web3 | PoW, PoS, BFT 变体 | 必须处理 拜占庭将军问题——节点可能被攻陷并进行恶意行为(例如双重支付攻击)。 |
共识机制是一套 博弈论规则,只要大多数遵守规则,即使存在坏演员,账本也能保持安全。
信任模型
| 模型 | 类比 | 信任如何建立 |
|---|---|---|
| 传统信任(权威证明) | 银行业务——你信任官方印章。 | 中介(银行)对交易真实性进行背书。 |
| Web3 信任 – 工作量证明(PoW) | 物理能量——你必须控制 > 51 % 的总计算能力。 | 攻击成本(电力、硬件)远高于潜在收益。 |
| Web3 信任 – 股权证明(PoS) | 经济利益——你必须质押大量代币。 | 不当行为会导致 削减(没收质押)。 |
我的理解: 区块链并未消除信任;它们将信任从“人/机构” 转移 到 “经济成本和数学算法”。
51 % 攻击
如果某实体控制了网络超过一半的算力(PoW)或质押(PoS),它可以修改未确认的交易,导致回滚。对于比特币或以太坊等大型网络,发动此类攻击的成本高达 数十亿美元,从而使账本在逻辑上保持不可篡改。
已解决的问题:不确定性与摩擦(“解卡”时刻)
- 消除结算延迟 – 传统金融跨境转账需要 3‑5 天,因为无数中介执行手动的“信任对账”。
- 不可撤销的合约 – 一旦达成共识,交易就被写入永久账本。没有任何 CEO 或政府可以单方面撤回已确认的链上交易。
我感到困惑的地方以及如何摆脱困境
我的困惑
谁在部署所有这些节点?如果它们全部宕机怎么办?
作为后端工程师,我习惯了服务器由集中式 DevOps 团队管理。在拥有成千上万个节点的区块链中,究竟是谁在部署它们?没有中心权威,如何确保网络不会整体崩溃?
我是如何摆脱困境的
- 去中心化的运营者 – 节点由独立的个人或组织(矿工或验证者)部署。任何拥有合适硬件和软件的人都可以加入网络。
- 激励驱动的维护 – 没有人会出于纯粹的好心来维护网络;他们是为了 代币奖励。只要网络处理交易并发放奖励,参与者就有经济动机保持节点在线并保持健康。
节点激励
节点可以赚取 gas 费用和新铸造的代币。
冗余而非“单点故障”
区块链并不保证单个节点不会失效;它保证整个网络的高可用性。虽然 Web2 服务在特定 AWS 区域出现故障时可能会宕机,但只要全球任意位置仍有少量节点在运行,区块链就能继续存活。
学习的好资源
- Cyfrin – 一个提供所有 Web3 知识的优秀网站,适合初学者。