一个红色的求助按钮,一家三口轮着按了四个小时,走廊上一个人都没过来。

门是被水叫开的。卫生间的水漫出去,淹了十九层整层楼道,物业巡查的人才发现这间房不对劲。那天是十月一号凌晨一点二十。人已经在里面待了四个多小时。

事情其实不复杂。九月三十号晚上九点多,佛山的傅先生和妻子带着一岁三个月的孩子,住进顺德一家酒店,给孩子洗澡。洗完随手关门,锁自动反锁,从里面打不开。手机在门外。就这样。

孩子光着身子。冷。

他干脆把热水开到最大,想让蒸汽把室温提上来。

然后头顶两个喷淋头一起出水。真的。

冷水。高压。愣是喷了两个多小时。他站在妻儿前面用身体挡,一边徒手抠地漏。排水赶不上进水,积水涨到三十厘米,墙边插座离水面只剩几厘米。他拿铁垃圾桶砸钢化采光玻璃,怎么砸都砸不开。手腕伤了。转头撞门,地上全是水,滑倒,左边第五第六根肋骨断了。

很多人看到这里,第一反应是设备全坏了,酒店在糊弄人。十月十六号,顺德大良街道办公布调查结果,方向正好相反。事发客房没有火情,没有烟熏火烧的痕迹,烟感探测器压根没报警。喷淋联动系统、水流指示器、消防水泵,运行都符合规范。一样都没查出问题。

也就是说,那一晚那套系统里几乎每一个零件,全都在正常工作。一个都没坏。

门反锁,那本来就是它的功能,卫生间装锁就是为了从里面锁上,防的是外面的人推门进来。喷淋头的玻璃球破了就出水,水流指示器动作,压力开关直接把消防泵叫起来加压,这套动作在设计上就硬是不许出错,真起火的时候谁也没空去打第二个电话,也没人等得起,火起来慢三十秒就是另一回事。烟感没响,所以在系统眼里这间房一切正常。

这套系统里,没有一个状态叫「有人被困在里面」。

那四个小时,它到底在等什么?

每台设备都在严格地执行自己那一条指令,一条不多,一条不少。合起来的结果,就是把一家三口关在几平米里,浇了两个小时冷水。玻璃球为什么破,通报里说高温、外力、水压、老化都有可能,现有证据还是压根锁不住具体是哪一个。没个准话。

回复里还有一句更短的话,我看了好几遍。卫生间 SOS 呼救按钮不属于消防设施范畴。

翻译一下。消防那一套是强制的,年年有人上门查,坏了要整改。而那个按下去本该叫来人的红色按钮,不在任何强制检验清单上,就归酒店自己管。没人查它。

出事那晚它被按了四个小时,没有任何应答。一次都没有。酒店负责人的解释是,夫妻俩没按对位置。

责任是按部件划的,事故是按组合出的。这两件事对不上,中间那块,谁都不认。

赔偿上的分歧,是同一件事的另一个切面。对方提二十倍房费,一万六。家属这边算的是十五万。两个数字放在一起,差的是科目,真跟良心没关系。一万六按住宿服务出了纰漏这个科目算,退房费加补偿。十五万按人受了伤算,医药费、误工、护理都在里面,后头还挂一项精神损害。同样一件事落进两个科目,差一个数量级。

这种错位在链上有个几乎一样的版本。

每个合约都单独审计过,报告上写着通过。然后几个这样的合约偏偏拼在一块,被一笔闪电贷打穿。审计报告保证的是这个合约会按它写的逻辑运行,它压根不保证这个合约跟隔壁那个一起跑还安全。接口那一层没有责任主体,反正谁也不用签字。

所以「通过了」这三个字值多少,得看它通过的是零件还是组合。

回到你自己身上。你现在能不能走一遍自己的应急出口。手机要是今天丢了,验证器装在那台机器上,助记词那张纸你随手塞在哪,上回真拿出来试是什么时候。多签钱包三个签名人,是不是同一个办公室。是不是同一个云备份。手机是不是同一个人拿着。你猜。

这些没有一项写在「审计通过」的清单里。

要试,今天就能试。

$BTC $ETH $LINK

#智能合约审计 #风险管理