本内容由德语机器翻译而成,尚未经母语人士审校。技术和监管术语以德语或英语版本为准。
合约无法强制执行的事项
代码无法消除的三个界限:来自外部的数据、针对人的请求权,以及任何人在链外所做的一切。
本课未经专业审阅。它是为本平台撰写的,并依据所列证据写成;未进行过独立的专业审阅。
学习目标
- 您能够说出可执行性的三个界限,并用一个例子加以说明。
- 您能够识别合约链条在哪个环节重新依赖于信任。
检查预备知识
请在继续阅读之前,先自行回答这些问题。您犹豫的地方,正是本课的价值所在。
- 链上的程序如何知道某种货币当前的价格?
- 如果有人违背了在链外做出的承诺,会发生什么?
- 当程序执行出错时,请求权针对谁?
核心概念
合约看不到链外的任何东西
智能合约只能对有人写入链上的数据作出反应。价格、利率、天气、交付状态——这些都不会自动存在。录入数据的人就是在决定什么被视为真实。因此,代码的强制执行恰恰止于数据的来源:合约可靠地执行它被告知的内容。
代码强制的是状态变更,而不是人的行为
合约可以转移它自己持有的余额。它无法让任何人交付货物、腾出住房或在链外付款。一旦某项约定要求在现实世界中采取行动,它就又需要它本应取代的东西:一个为此负责的人,以及追究其责任的途径。
无差错执行并不等于预期结果
合约执行其中写明的内容——即使没有人想要这个结果。参数中的一个笔误、一个在罕见情况下以不同方式触发的条件、一个被错误录入几秒钟的价格:在所有这些情况下,软件都正确运行了。此时不存在任何机构会因为该操作明显出于无意而将其撤销。
这些界限是经过描述的,而非仅仅是断言
智能合约具有可指明的界限——涉及外部数据、法律可执行性以及中介机构所履行的职能——这一点已在研究文献中有所描述,并在此作为证据 EVD-2026-0004 记录。该证据对机制作一般性归类;它对任何具体合约都不作说明,也不能替代代码审计。
术语
模型
双方都在合约之内——得到强制执行
一方需要来自外部的数据——取决于数据来源
一方要求在现实世界中采取行动——取决于某个人
结果不符合意愿,执行正确——没有机构会撤销
计算示例
同一项约定,两种结局
- 约定 A
- 用代币 X 交换代币 Y,二者位于同一条链上
- 约定 B
- 货物送达后付款
- A 所需的数据
- 无——双方都在合约之内
- B 所需的数据
- 必须有人录入“已送达”
A 无需信任:合约持有双方资产,要么一并执行,要么都不执行。B 依赖于报告状态的个人或服务——因而依赖于其诚实性和可用性。
只有 A 是由代码强制执行的。B 由代码执行,但由一份报告决定。
解读: 因此,有用的问题从来不是“这是不是智能合约”,而是:约定的双方是否都在合约之内?一旦答案是否定的,某处就又涉及信任,而且应当能够指明信任的是谁。
提取练习
基于真实数据的练习
阅读指导性问题,并标出那些只能依靠代码之外的信息来回答的问题。
维度 4:智能合约 →查看 EVD-2026-0004 中关于适用范围的部分:该来源究竟没有证明什么?
证据登记册 →应用
有人向您介绍某个应用“完全无需信任”。哪三个问题可以检验这一说法?
相关案例研究
机构视角解读
- 银行
- 您的哪些控制措施以操作可撤销为前提?
- 咨询
- 您如何向客户解释“已执行”与“已强制执行”之间的区别?
要点
- 合约可靠地执行它收到的报告——需要审查的是数据来源。
- 代码改变的是状态,而不是人;现实世界中的每一项行动都又需要一项请求权。
- 正确执行与预期结果是两回事。
证据
- EVD-2026-0004
Annual Review of Financial Economics — Smart Contracts and Decentralized Finance