以太坊联合创始人 Vitalik Buterin 近日提出一套更贴近实际的软件安全思路:安全的核心,不是追求“绝对安全”,而是尽量减少“用户原本想做的事”与“系统实际执行结果”之间的偏差。这个表述把钱包、智能合约和通用软件安全的问题,重新拉回到“用户意图”本身。
他在 X 上表示,“无条件安全”并不��在。原因未必是系统设计得不够好,而在于人类意图本身就复杂,难以被完整、精确地程序化表达。这个判断也解释了为什么很多看似简单的链上操作,真实执行时仍会出现歧义。
“发送 1 ETH 给 Bob”并不总是简单命令
Buterin举例称,即便只是“给 Bob 发送 1 ETH”,背后也可能存在多层不确定性。Bob 可能由一个公钥表示,但这个公钥未必就等于用户真正想转账的对象。若遇到有争议的硬分叉,哪一条链上的资产才算是用户所理解的 ETH,也可能带有主观判断。问题不在表面指令,而在常识无法被轻易写进代码。
也正因如此,他认为安全方案不能依赖单一判断,而应接受冗余设计和多层规格约束。换句话说,系统需要从不同角度反复校验用户想做什么,借此压低偏离意图的风险。
多签、模拟和形式化验证构成多层防线
在 Buterin 看来,真正有效的安全机制,需要给用户提供多种“编码意图”的方式。比如程序语言中的类型系统,会同时约束数据结构和程序行为;如果两者不匹配,程序就无法通过编译。这个机制并不神秘,但���实用。
同样的逻辑也适用于智能合约和钱包。交易模拟可以让用户在确认前预览链上后果,多签钱包、支出限额、事后断言等工具,则能在不同阶段增加保护层。按照这一思路,安全不再被定义为完全杜绝风险,而是通过一层层机制把风险持续压低。
AI可以辅助判断,但不能单独决定用户意图
Buterin还谈到,像大语言模型(LLM)这类 AI 技术,可以被视为人类意图的“影子”。通用 LLM 反映的是常识层面的判断,而根据单个用户微调后的模型,则更接近个人偏好和表达方式。
不过他的态度很明确:LLM 绝不能成为判断用户意图的唯一依据。AI 只能作为补充视角,与传统方法配合使用。只有把不同机制叠加起来,系统才更有机会在执行层面接近用户真实想法,而不是被单点误判带偏。
低风险操作应保持顺滑,高风险操作再加检查
在用户体验上,Buterin反对把安全等同于更多点击、更多打断和更高摩擦成本。他主张,安全操作不该拖慢用户;低风险动作应保持简洁,高风险操作才需要更谨慎的确认流程。这��一来,系统既不会因为过度防护而变得难用,也不会为了便利放弃必要的保护。
这套观点也勾勒出他对以太坊产品设计的要求:安全不是孤立模块,而是风险控制、意图表达和交互体验的组合问题。对钱包、合约和基础软件开发者来说,重点不是承诺永不出错,而是建立足够多的校验层,让系统行为尽可能贴近用户本意。

