🍁目录 Table of Contents 🍁
Web3 并不是在既有互联网架构之上简单叠加“去中心化”组件,而是一套在设计目标、数据结构与执行方式上都发生根本变化的系统模型。与 Web2 以“高可用、可修正、可管理”为优先不同,Web3 的设计核心是:在不存在中心信任方的前提下,系统如何仍然能够就同一结果达成一致运行。正是这一目标,决定了它在系统层面必须默认成立的一系列前提条件。
一、核心是 append-only ledger,而不是 mutable database
在传统系统中,数据库(database)是可变的(mutable),系统通过 update、delete、rollback 等操作来维护一个被认为是“当前正确”的状态。这种模式依赖的是中心化控制与权限管理。而在 Web3 中,分布式账本(distributed ledger / blockchain)采用的是 append-only 结构,系统不允许修改历史,只允许在既有历史之上追加新的状态变化。当前状态并不是被直接存储的字段,而是通过对所有历史交易按顺序执行后计算得出的结果,这在系统设计上属于 event-based state model。
这种结构的技术动机在于:只要所有节点拥有同一份历史,并以同样的规则计算状态,它们就一定会得出相同结果,从而避免对“谁说了算”的依赖。举例来说,在 Web2 系统中,账户余额可以被管理员直接修正;而在 Web3 中,余额只是所有转入与转出交易累积后的计算值,因此即使逻辑上发生更正,原始交易仍然永久存在于账本中,系统通过追加而非覆盖来达成一致。
二、交易即结算:transaction 本质是 state transition
Web3 中的 transaction 并不是向系统提交一个“请求”,而是一次直接提交到协议层的状态变更(state transition)。一旦交易被网络通过共识机制(consensus mechanism)确认,它所对应的状态变化就被视为最终结果(final settlement),并立即成为 global state 的一部分。这里不存在传统意义上的“处理中”“待确认”或“事后纠错”阶段,因为结算本身就是协议层的核心职责。
这种设计显著降低了系统复杂度,但也同步移除了缓冲空间。例如在 Web2 支付系统中,一笔交易即使显示完成,也仍然可能在对账(reconciliation)或争议处理阶段被回滚;而在 Web3 中,对账在交易被确认的那一刻已经完成,后续不会再有一个独立的纠错流程存在。
三、Smart contract 是 deterministic state machine
Smart contract 的“智能”并不体现在判断或决策能力上,而体现在其确定性(determinism)。从系统角度看,每一个 smart contract 都是一个 deterministic state machine:在相同输入条件下,必须在所有节点上产生完全一致的输出结果。为了满足这一要求,合约逻辑不能依赖不可控的外部状态,也不能引入不确定性来源,否则网络将无法就结果达成共识。
这也是为什么合约在部署(deploy)之后,修改成本极高,甚至在很多情况下被视为不可修改。只要代码逻辑被触发,资产转移或状态变化就一定会发生,系统不会判断其是否符合直觉或是否产生了“意外结果”。这种将执行权完全交给代码的设计方式,通常被概括为 code-is-law。
四、安全模型基于公开验证,而非信息隐藏
Web3 的安全假设与传统系统明显不同。它并不依赖 obscurity 或内部权限来降低风险,而是默认攻击面是完全公开的。合约代码、交易路径、状态变化逻辑通常都是公开可查的,因此任何潜在漏洞都会被反复分析。系统的安全性只能建立在 cryptography、digital signature 以及共识算法所带来的计算成本之上。
这种设计属于典型的 assume-breach security model,即假设所有规则都会被研究,系统仍然需要在公开条件下保持成立。例如重入攻击并不是因为系统“被突破防线”,而是因为合约在状态更新顺序上允许在公开执行路径中被反复调用,而协议本身并不会阻止这一行为,只会忠实地执行既定规则。
五、协议层保证一致性,而不保证结果合理性
在分布式系统理论中,协议设计通常优先保证的是 liveness 与 consistency,而不是结果是否“合理”或“公平”。Web3 亦是如此。只要交易格式正确、签名有效、gas 充足,它就会被打包并执行,协议不会判断交易是否出于误操作、是否违背直觉,或是否引发争议。
这种取舍意味着,协议层并不承担解释或纠错责任,它只负责在所有节点之间达成一致。从系统视角看,所有结果都是 deterministic output,而不是异常事件,任何“是否应该发生”的判断都必须存在于协议之外。
总结
整体来看,Web3 是一个高度确定性的分布式结算系统,它通过牺牲可修正性、灵活性与事后干预能力,换取无需中心信任的执行环境(trust-minimized execution)。因此,Web3 中的许多风险并不是使用不当导致的意外,而是在系统设计阶段就已经被写入运行逻辑中的必然结果。理解这些前提条件,是继续讨论“不可逆”“责任前置”等问题的基础,而这正是下一篇将继续向下拆解的核心。








