代码即法律?数字时代的致命骗局

2016年6月17日,区块链世界经历了它的“创世时刻”——不是因为比特币突破了什么新高,而是因为一个叫The DAO的项目,在短短几小时内被抽走了360万枚以太币,当时价值约五千万美元。
这个项目是当时人类历史上最大规模的众筹,募集了超过1.5亿美元的资金。
它的缔造者们喊出了一句后来风靡整个加密世界的话:
“代码即法律。”
他们的理想极其宏伟——用智能合约创建一个去中心化的自治组织,没有董事会,没有CEO,只有代码。
if-then语句将成为最高的统治规则,人类法官的偏袒、律师的诡辩、执行局的拖延都将成为历史。
然后,一个匿名的“攻击者”发现了代码中的递归调用漏洞。
他做的事情极其简单:
在合约更新余额之前,反复调用提款函数,就像一个人趁收银员转身的瞬间不断把手伸进钱柜。
他没有破解任何加密算法,没有伪造任何签名,他就是顺着代码的规则办事。
问题来了:
这算盗窃,还是算“合法”提款?
如果“代码即法律”,答案只能是后者。
代码允许的操作,就是法律允许的操作。
你写了有漏洞的代码,活该。
但以太坊社区做不到这么“理性”。
当五千万美元的真金白银从裂缝中流走时,每个人心底的正义感都在尖叫。
最终,以太坊做出了一个在哲学上堪称核弹级的决定:
硬分叉。
他们在第192万个区块高度强行改写区块链的历史,把被盗的资金夺了回来。
原来的那条链被抛弃,成了今天的以太坊经典。
那些曾经高喊“代码即法律”的理想主义者们,在正义的直觉面前,亲手把自己的信条撕了个粉碎。
当代码的执行结果与人类最基本的公正感发生冲突时,人类毫不犹豫地选择了推翻代码。
这不是一个bug被修复的故事。
这是一个用五千万美元做注脚的哲学判决:
代码从来不是法律,它只是工具。
而那个分叉之夜暴露的真相,正是本文要层层剥开的洋葱——智能合约取代传统法律的野心,从头到尾都是哈耶克警告过的那种“致命的自负”。
**
**
契约的灵魂:你为什么没法把一个人变成布尔变量

要理解这场闹剧的根源,得先回到一个看似简单的问题:
契约到底是什么?
门格尔说:
价值不在物里面,价值在人的心里。
一块金子值钱,不是因为它内部有什么“金子的客观价值”,而是因为某个具体的人在某个具体的情境下,对它有一种无法被外人量化的渴望。
那么,契约是什么?
契约是两个活人之间的承诺。
我把此刻我看重的东西给你,是因为我相信你在未来的某个时刻,会把我也看重的东西交付给我。
这份承诺里浸透了主观价值、具体情境和不可通约的个人判断。
问题来了:
你打算怎么写一段代码来捕获这些东西?
举个例子。
你和我签了一份合同,我付你1000块,你下周一送一个“好苹果”到我家。
如果这是一份传统合同,你送来一个带小斑点的苹果,我们可能会商量——我可能会接受,也可能要求你便宜点,或者让你重送一个。
这取决于我们对“好苹果”各自怎么理解,也取决于我们对以后还要不要做生意的考量。
但如果这是一份智能合约呢?
代码必须对“好苹果”做出精确的数学定义:
直径7到8厘米,重量150到200克,表面瑕疵面积不超过1平方厘米。
现在问题来了:
如果苹果直径6.999厘米呢?
如果瑕疵面积1.001平方厘米呢?
如果苹果外表完美但里面烂了呢?
所以价值是主观的。
同一个条款对不同人是不同的负担。
公平是感知的,不是计算的。
你把契约变成代码,等于把“我觉得这值得”翻译成“if balance≥X then transfer”——你把契约的灵魂砍掉了,只留了一具精确的骨骼标本。
米塞斯说:
人是行动者,不是粒子。
人的行为有目的、面向未来、基于主观价值排序,你不能像预测气体分子碰撞那样预测一个人下一步要做什么。
智能合约的if-then逻辑,本质上是对“人的行动”这个概念的谋杀——它预设了未来所有可能的世界状态,都可以被提前枚举为布尔表达式。
但真实契约的世界里,甲方说“货到了”,乙方说“包装破损,虽然功能没问题,但合同写了‘完好交付’”——什么叫“完好”?
谁来定义?
洪水冲了路,货晚了三天,是不可抗力还是你的懈怠?
你发现对方把同样的货更便宜地卖给了你的竞争对手——商誉受损、情绪愤怒、隐性知识全在线下,你怎么写进代码?
这些不是“技术还没解决”的边缘情况。
这些恰恰是契约要处理的核心内容——模糊性、歧义、需要解释的灰色地带。
把一份合同写成Solidity代码,就像把一场谈判压缩成一发子弹。
你省去了所有对话,但你得到的不是效率,是暴力。
**
**
知识从来不在程序员手上

如果说门格尔和米塞斯从契约的本质层面宣判了智能合约的死刑,那哈耶克就是从认知层面给这场妄想补上了最致命的一刀。
哈耶克指出:
社会运行所需的知识,从来不是集中在某个大脑或某个数据库里的。
它是分散的,是碎片的,是默会的,存在于千百万个体关于特定时间和特定地点的具体知识之中。
没有一个中央机构——不管是国家计委还是超级计算机——能把这些知识收集齐全。
现在来看“智能合约取代法律”背后藏着的狂妄假设:
我们可以把分布在千百万人头脑中、关于货物状况、交付环境、商业习惯、突发情形的默会知识,全部提前抽出来,形式化为if-then-else语句,塞进一个状态机里,然后让它在全球共识账本上自动运行。
这不是技术进步。
这是笛卡尔式的“我思故我能重造宇宙”在区块链时代的借尸还魂。
哈耶克区分了两种秩序。
一种是自发秩序——语言、市场、普通法、中世纪的商人法,都是“人之行动的结果,而非人之设计的结果”,是在漫长试错中演化出来的内部规则。
另一种是人造秩序——自上而下设计的命令-服从结构,比如公司、军队、成文法中指令性的那部分。
法律属于前者,不是后者。
罗马法不是十二铜表法“设计”出来的,普通法不是哪个国王“编程”出来的。
它们是无数商人、法官、陪审团在亿万次具体纠纷中,通过判例的累积、惯例的竞争、声誉的传播,慢慢沉淀出的可演化规则体系。
这一段历史极其生动,却几乎从来没在区块链白皮书里出现过。
中世纪的欧洲没有一个统一的国王能制定统一的商法。
来自佛兰德斯、意大利、德意志的商人们在香槟集市上汇聚交易,语言不通,主权不同。
纠纷发生了,他们不会去找当地领主的法庭——领主偏袒本地人,程序繁琐,还搞神明裁判。
商人们自己建了“泥足法庭”,名字来自法语“风尘仆仆的脚”,因为法官和当事人都是跑商路的旅人。
裁决者是与争议双方来自不同城市的同行商人,他们懂行的门道,裁决基于千锤百炼的交易习惯。
这,就是“商人法”,是人类在没有单一主权者强加法律时自发涌现的秩序。
英国法学家布莱克斯通爵士后来评价这些法庭时说,它们是“对英国法律所知最少,但同时却是最高效、最公正的法院”。
这就是哈耶克说的自发秩序活生生的化石。
它不靠成文法典,不靠国家机器的强制执行,而是靠商人的声誉机制、行业自律和跨地域的贸易网络维持着惊人的效率。
它的规则是活的——当黑死病席卷欧洲,当十字军阻断商路,强制按原契约交货不仅是愚蠢的,而且是邪恶的。
法官会考虑交易习惯、商业惯例、当事人的真实意图和具体情境。
智能合约被某些人吹捧为“新商人法”,在数字空间重建超越国家主权的自治秩序。
但这两个东西有一丁点像吗?
商人法是演化的、柔性的、承载人类正义直觉的。
智能合约是建构的、刚性的、把人的意图降格成布尔逻辑的。
商人法的法官理解“情势变更”——瘟疫来了还逼人履约不是公正,是罪恶。
智能合约没有这种智慧。
2020年3月12日,新冠疫情恐慌导致以太坊价格在24小时内暴跌50%,DeFi协议中的抵押品跌破清算线,智能合约像上满发条的绞肉机一样自动执行大规模清算。
用户在Gas费飙升时根本无法补仓,眼睁睁看着资产被代码吞噬。
这不是正义,这是机器暴政。
商人法的演化品格被智能合约的僵化彻底阉割了。
合同签订只是交易的逗号,后续的沟通、调整、宽限、和解、附加的口头协议——这些才是让契约不死的东西。
把它们铲掉换成自动化,不是“更高效”,是把减震器拆了然后夸底盘低。
**
**
预言机陷阱:换个马甲假装知识分散性不存在

智能合约的鼓吹者到这里通常会搬出一个救兵:
“预言机问题是可以解决的!只要预言机足够去中心化,引入多个数据源,用博弈机制激励诚实报告,一切就都搞定了。”
让我们来看看预言机要干什么?
把“特定时空的情境知识”数字化。
货到哪了?
质检过了没?
大豆受潮了吗?
艺术品是真迹吗?
借款人是资不抵债还是暂时手头紧?
哈耶克早就证明了:
这些知识中最关键的那一部分,本质上是默会的、局域的、拒绝被编码的。
就算你有一千个预言机节点,你要它们报告什么?
你首先得定义什么叫“验收合格”——而这个定义本身就依赖情境判断,依赖那些用眼看、用手摸、用行业经验闻出来的知识。
这些知识根本不接受数字化的招安。
所以预言机的“解决方案”不是在解决知识分散性问题,而是在假装问题不存在。
用一堆价格反馈和API调用假装“外部世界已经数字化完毕”,然后把真正的知识缺口一股脑塞进“治理投票”或“链上仲裁委员会”——说白了,就是重新发明了法官。
只不过罩了一层crypto的外衣。
这种换马甲的游戏在区块链历史上反复上演。
The DAO事件后,人们发现链上的纠纷终究需要人来判断,于是搞出了Kleros这样的“去中心化仲裁”项目——用代币激励众包陪审员投票裁决。
它的本质恰恰暴露了智能合约无法自足:
它承认了代码不够用,需要人的判断来补位。
但这个补位方案的新问题无穷无尽:
代币持有者会不会联合作恶?
陪审员凭什么理解复杂事实的语境?
语境是文字、照片、证言和行业经验,不是链上的字节。
当你认认真真把这些东西都补回来,你等于在数字世界重建了整个司法过程的复杂度,区别只是标签从法院换成了DAO。
**
**
资本不是乐高:为什么不可篡改不是一个优点

奥派还有一个关键的理论:
资本的时间结构。
生产是迂回的。
你今天投入资源,等一段时间,产出才来。
这个等待本身有价值折扣,就是时间偏好。
资本的每一层都嵌在时间和社会关系里。
契约的深层结构也是跨期的——我先做了(付了钱、发了货、出了力),你后面才兑现。
这中间的间隙不是技术延迟,它是信用的本体论空间。
你相信对方会履约,不是因为一段代码“锁住”了什么——真想跑路的人控制着私钥就走了,代码锁的是老实人的手脚,锁不住骗子的脑子。
你相信,是因为重复博弈、声誉资本、社会制裁、第三方见证、法律救济织成了一张网。
智能合约的托管模式试图用技术代替这张网:
钱锁在合约里,你不交付条件,钱不放出去。
听着挺好,但三个死结解不开。
第一,如果标的在链外——绝大多数真实世界的商品和服务都是如此——合约锁住的是token,跟真实履约半毛钱关系没有。
第二,如果锁的是链上资产,恶意合约的设计者搞个rug pull,代码“合规”地把钱转到管理多签钱包,然后签字转走,全程按规则办事,代码一个opcode都没违法,你去哪哭?
第三,如果条件判断需要链下事实,你又一次掉回预言机陷阱。
因为资本品是异质的,不是同质的“资金”,而是有特定用途、互补关系和预期收益的具体物品。
企业家的预期是主观的、易错的、不断修正的。
市场过程就是不断发现和修正错误的过程,而不是对初始计划的机械执行。
智能合约的“不可篡改性”跟这个逻辑根本没法兼容。
你今天签了一份五年的商业贷款合约,基于你对五年间利率、通胀和市场的预期。
但在奥派看来,这些预期本质上是猜测。
市场的好玩之处就在于,当预期错了的时候,企业家会亏损,资源会被重新配置到更有价值的地方。
但智能合约一旦部署,五年前的预期就被冻成了永恒的代码。
市场翻天覆地了,合约不会因为“新信息”而自我修正,它只会像一个僵尸一样拖着过时的假设在数字荒原上行走。
The DAO事件给出的答案就在眼前。
当360万以太币被盗走,投资者当初投入的预期被黑客击穿时,社区没有选择“尊重代码”,而是选择推翻代码,重新协商契约的实质。
这恰恰证明市场过程的核心是发现和修正,不是对初始方案的机械执行。
智能合约的不可逆性,本质上是在消灭修正的可能性。
这不是它的优点,是它的原罪。
**
**
从《汉谟拉比法典》到硬分叉:历史一直在重复同一个笑话

把眼光从代码窗口抬起来,看看人类历史的纵深。
你会发现智能合约的终极野心,其实是换了张芯片的古老骗局。
公元前1750年左右,巴比伦国王汉谟拉比在黑色玄武岩柱上刻了282条法条,公开示众,宣布要让被害者在石柱前宣读此法,看案子怎么判。
规则铭刻于不可篡改的介质,公开可验证,强制执行——听起来是不是很“链上”?
但巴比伦的商业从来不是靠那根石柱运转的。
真正驱动跨国贸易的,是遍布地中海的商人法,是一套完全自下而上演化、靠声誉和排斥机制执行的活规则。
石碑上的法是表演,是统治者的宣传工程。
商人手里的习惯,才是真正的操作系统。
智能合约的“代码即法律”叙事在复刻汉谟拉比两千多年前的幻觉:
以为把规则刻进更硬的材料(硅比玄武岩更硬)、用更多节点复制、加上密码学封印,就解决了“怎么让陌生人守诺”这个深植于人性的根本问题。
中世纪商人法的历史更是一面照妖镜。
从11世纪开始,欧洲的商人跨越封建领地做生意,没有统一的国王之法,没有跨国的警察,更没有智能合约,却有着惊人的履约率。
靠的是什么?
违约者会在下一个集市被列入黑名单,这比任何链上的资产冻结都致命,因为它掐的是你未来所有的交易机会。
裁决者是同行的商人,他们懂行的规矩、懂具体情境。
规则随着贸易形态不断演化,新的商品、新的航路催生新的惯例,被吸收进活的规则体系里,不需要搞一次硬分叉。
再来对比“代码即法律”:
规则由少数技术精英编码,这算哪门子“用户同意”?
规则一旦部署就抗拒演化,immutable被说成是feature,但The DAO的受害者的鲜血还没干。
修正一个错误需要搞政治性硬分叉,比普通法的立法程序还粗暴——因为你改的不是规则,是历史本身。
米塞斯1920年对社会主义经济计算的那一击,在这里产生了惊人的回响。
他说,没有市场价格,计划者无法进行理性计算。
利率不是靠公式算出来的,它是无数个体时间偏好的体现。
你把DeFi协议里的借贷利率模型写进代码,本质上就是数字化版本的价格管制。
当时间偏好发生剧变的时候——想想2022年Terra崩盘期间的恐慌——代码设定的利率没法像真实市场那样通过竞价迅速调整,流动性瞬间枯竭,清算螺旋启动。
中本聪比哈耶克晚了三十年讨论非国家化货币,但智能合约的“算法治理”在某些方面比计划经济的思路还要僵硬——它试图把市场过程本身也关进代码的笼子。
**
**
代码是什么,不是什么

写到这里该亮底牌了。
奥派不是卢德分子,不是见技术就砸。
门格尔的货币理论恰恰解释了最无脑的商品货币怎么自发演化成最抽象的符号系统。
哈耶克在《货币的非国家化》里甚至提出竞争性发币。
智能合约当然有用,它的用处在老老实实做工具的时候——多签金库替代单点信任,规则简单的代币分发,纯数学关系的去中心化交易所兑换,原子交换让两边要么同时交割要么同时不交割。
这些场景下标的在链上、条件可完全形式化、失败模式是技术性的不是道德性的,代价最小。
但把这些边界情况推广成“代码将取代传统法律成为契约执行的主流方案”,就是在跳哈耶克反复警告过的大坑:
你不知道你自己不知道多少。
说到底,奥派给这场运动的诊断可以浓缩成三句话:
契约锚定于主观价值,代码只能看见客观数据——你把锚扔了,还好意思问船为什么乱漂。
人是行动者不是操作码,把有目的的人塞进if-then的流水线,你消除的不是低效,你消除的是人本身。
知识分散在千百万个具体时空的大脑里、习惯里、默契中,任何声称能“提前把规则编码完备”的方案,都是从《通往奴役之路》里撕下来的一页。
只不过这一次,暴君穿着编译器优化过的外套,监狱是以太坊虚拟机。
The DAO的三百六十万枚以太币不是意外,是现实对形式主义的报复性实践课。
那一天,代码“正确地”执行了每一个操作码,但正义尖叫着从数字裂缝里爬出来,逼着活人亲手把“不可篡改”的链条掰弯。
以太坊的开发者做对了,他们听从了心底的公正。
但他们至今可能还没想清楚这件事意味着什么。
凡是涉及真实人类价值的契约,最终的裁判者永远是活人的判断——嵌入在历史、语境、道德直觉和演化规则中的活的判断。
代码可以做文员的活,但做不了法官的活。
给它披上去中心化的法袍也改变不了这个事实。
法律的生命不在于逻辑,而在于经验。
代码能算,但不能判。
能执行,但不能正义。
能锁住数字资产,但永远锁不住人心。
凡自称可以取代法律的代码,不过是不懂这些道理的人在用键盘重复汉谟拉比五千年前的错误。
别再做“代码统治世界”的春秋大梦了。
让代码回归它的工具箱,让法律继续在人的世界里演化。
这才是真正尊重真理:
文明的秩序从来不是被设计出来的,它是从千百万个体的自由行动中生长出来的。
这个道理,不管你的编译器有多快、你的共识算法有多精巧,都永远改变不了。