在《三个失败,同一个缺口》里我论证:医疗 AI 的三个顽疾有同一个形状——都需要一层治理协议,而这层在应用、法规、平台、标准里都找不到。这篇说清楚这层得提供什么。
四个原语扛得住。
内容寻址的健康资产。可编程同意。哈希链溯源。质量加权贡献。每个针对上篇说的一个具体失败,每个排除了一个看起来差不多但其实不行的替代方案。
我不是说这四个一定是最小集——设计空间不接受那种证明。我说的是:每个都站得住,它们自然地聚在一起,任何诚实的治理协议都绕不开它们回答的四个问题。
规定,不是比划#
"同意和审计"——每个患者数据方案都这么说。这话对,也没用。严格到能真的排除上篇说的那些失败模式的东西,得在数据结构和算法层面规定,不是在口号层面。
一个原语要在这里算数,得做三件事:
- 针对一个具体的失败模式,不定义它这个失败模式也不会消失。(如果"同意"能被"患者签了表格"替代,那表格才是原语,不是"同意"这个词。)
- 排除看起来差不多但保证不一样的替代方案。(签过名的同意记录和哈希链上的同意记录不一样,虽然两者都涉及签名。)
- 跟其他原语组合时没有循环依赖。(溯源不能是验证自己完整性的东西。)
下面四个原语每个都过这个门槛。每节说清楚它针对什么失败、显而易见的替代方案为什么不行、去掉它会坏什么。
健康资产 (Health Asset)#
针对的失败:碎片化。
上篇说的碎片化:电子病历存一部分,app 存一部分,研究数据集是固定快照。治理协议要跨这些都有意义,得有办法指向一条具体的临床数据,让各方都认这是同一条——可验证地,跨越互不信任的系统。
健康资产就是干这个的。HAVEN 白皮书 §6.11:
HealthAsset := {
asset_id : ContentHash // 从内容派生
data_ref : SecureReference // 指向临床数据
substrate : Identifier // 数据格式(FHIR、OMOP 等)
consent_ref : ConsentID // 当前生效的同意策略
quality_class : {A, B, C, D} // 数据质量等级
provenance_ref : ProvenanceID // 审计链引用
patient_ref : PatientID // 数据的主人
created_at : Timestamp
}asset_id 是内容的 SHA-256 哈希。底层数据改一个字节,哈希就变,asset_id 就对不上了。指针自带完整性校验。Git 对 commit 用的就是这个技巧2。
显而易见的替代方案:给每条记录发个 UUID。
UUID 在一个系统内好使。出了边界就不行。两个管理员能给不同的记录发同一个 UUID,也能给同一条记录发不同的 UUID。对账变成一个一个管理员去协调的问题。内容寻址直接消解了这个:内容一样,哈希就一样,在哪都一样。不需要注册处,不需要对账3。
去掉这个原语会坏什么: 协议失去"两个系统在说同一条记录"的依据。每个审计变成"信我,这是同一条"。每个同意的覆盖范围变得模糊。上篇说的碎片化失败修不了。
内容寻址不是新东西。Git 从 2005 年就在用。IPFS 给通用数据实现了它。RFC 6920 给 URI 规定了它4。HAVEN 的选择是把它专门用在医疗记录上,格式无关——同一个健康资产能包一个 FHIR 资源、一个 OMOP 测量值、一个原始文档引用。
同意 (Consent)#
针对的失败:患者没有角色。
四个原语里三个直接对应上篇的一个失败。这个不是——同意是其他三个有意义的前提。它把患者从数据来源变成协议的参与者。没有它,治理无从谈起。
患者的记录散在几十个地方。每个管理员决定分享什么、跟谁分享、为什么分享。患者签个表——往往是在没什么选择的情况下——然后这张表被各个应用各自解读。撤销是给档案室打电话。审计是交信息公开申请。这种"同意"是纸上的遗物,不是机器能验证的命题。
HAVEN 的同意协议把它变成后者。白皮书 §6.21:
ConsentAttestation := {
consent_id : UUID
grantor : PatientIdentity // 谁授权
grantee : AccessorIdentity // 谁被授权
scope : DataScope // 什么数据
purpose : PurposeType // 为什么
conditions : Conditions[] // 什么条件下
...
status : {active, revoked, expired}
signature : CryptoSignature
}三个属性让这个原语跟现有实践不同:
封闭世界语义。 没明确授权的资源类型,答案就是不行。沉默等于拒绝。现有的同意体制默认允许一切没明确禁止的;HAVEN 反过来。
确定性验证。 同样的输入,同样的答案,每次都是。没有随机性,没有"看情况"。这是让同意变成机器能验的而不是人能解读的东西。
立即撤销。 revoke() 之后的下一个 verify() 返回拒绝。不是"下次同步之后",不是"24 小时内"。立即。
伦理基础不是新的。纽伦堡法典(1947)5确立了自愿同意是医学研究的底线。贝尔蒙特报告(1979)6为现代实践编纂了这个原则。新的是让原则可执行——把 40 页的表格变成函数。
显而易见的替代方案:签过名的同意表(数字的或纸的)。
签过的表证明同意发生过。它不证明同意允许什么,不跟审计追踪组合,不带撤销状态。两个系统共享同一张签过的表会对它的范围做出不同解读。表是证据;原语得是函数。
关于身份。 同意授权引用两方——授权者和被授权者。两方都得是可验证的身份,同意才有意义。HAVEN 故意不定义身份怎么建立:"怎么验证患者是他们说的那个人,由你决定"7。协议从已有的系统(OIDC、DID、电子病历身份验证8)消费身份,在那上面跑。身份验证是它自己的深水区;在治理协议里重新发明它是坏赌注。
去掉这个原语会坏什么: 数据流动没有治理。不管数据层多干净,主权失败修不了。
溯源 (Provenance)#
针对的失败:审计缺失。
审计日志放在被审计系统里面,只有管理员能审。别人不能。MyChart 记录了你的病历访问,你得找 MyChart 要日志。日志要是错的,你得找 MyChart 证明它没错。这不是审计。这是管理员的自证,打印出来给你。
溯源记录通过让日志在结构上防篡改来修这个。白皮书 §6.31:
ProvenanceEntry := {
entry_id : UUID
timestamp : Timestamp
event_type : EventType
actor : Identity
subject : AssetRef | ConsentRef
details : EventData
previous_hash : Hash // 链接
signature : CryptoSignature
}每条包含前一条的哈希。篡改历史会断链——改动会往后传,被篡改条目之后的每一条都作废。每条都用 Ed25519 或 ECDSA 签名,绑定到具体的参与者。验证是 O(log n),靠 Merkle 证明9:不用重放整条链就能验单条。
这跟证书透明度用在公共网络证书日志上的构造一样10。在 CT 之前,Haber 和 Stornetta 1991 年就提出了11——比比特币早十七年。技术是成熟的。新的是把它用在临床数据访问上。
显而易见的替代方案:签了名但可变的审计日志。
光有签名不够。拥有日志的管理员可以用同一把密钥重新签一份改过的版本,没有原版的人看不出来。链接才是让篡改露馅的东西。没有链接,"审计"还是客气话。
去掉这个原语会坏什么: 患者没有依据验证任何关于自己记录发生了什么的说法。同意在野外不可执行,因为撤销在事后无法验证。上篇说的审计缺失修不了。
贡献 (Contribution)#
针对的失败:激励错位。
患者出数据,研究者用数据,结果谁都没直接拿到。要对齐,协议需要一个记账原语——能把"Alice 向研究 X 贡献了记录"变成一个可追踪、可归因、最终可支付的带权重的数量。
白皮书 §6.41:
Contribution := {
patient_id : PatientIdentity
asset_refs : AssetRef[]
quality_score : Float[0, 1]
tier : ContributionTier
context : UsageContext
timestamp : Timestamp
}分数遵循透明公式:Value = TierWeight × QualityScore × VolumeNorm。层级从 PROFILE(人口统计)到 STRUCTURED(化验、用药、诊断)到 LONGITUDINAL(多年记录)到 COMPLEX(笔记、影像、基因组)。质量由三门协议决定——溯源有效、结构完整、概念映射——输出 0 到 1 的分数和 A 到 D 的等级。
分数不是美元。是相对权重。Alice 得 0.83,Bob 得 0.41,Alice 对那个研究的贡献大概是 Bob 的两倍。换算成钱是实施系统、患者、商业模式之间的事。HAVEN 提供记账,不提供支付轨道。
显而易见的替代方案 #1:平均分数据红利。
Datacoup / Datawallet / LunaDNA 模式——每个贡献者分一样多。碰到现实就塌。贡献了一条人口统计的患者和贡献了十年多系统化验的患者拿一样。研究者不信队列,因为没法按质量加权。大贡献者和小贡献者一样。两头都失败12。
显而易见的替代方案 #2:纯临床权重,不管质量。
跳过质量门槛,只按临床内容加权。理论上行,实践中塌——临床内容质量差异巨大。概念映射覆盖 95% 的 LONGITUDINAL 记录和覆盖 30% 的是不同的研究素材。没有质量门槛,"价值"变成垃圾进垃圾出。
三门质量协议存在,是因为之前每次患者数据市场的尝试都在这两种方式之一上塌了。历史证据就在那。
去掉这个原语会坏什么: 价值淤在管理员那里,不在患者那里。激励错位修不了。协议变成又一层同意加审计,对研究价值流向哪没有诚实的记账。
Data Shapley 和相关归因方法13显示更精细的数学是可能的。三层质量加权公式是 HAVEN 的刻意底线——够简单能算,够难能守,刻意对更丰富的归因方案向上开放。
为什么是这四个#
每个原语回答治理协议绕不开的一个问题:
| 原语 | 回答的问题 |
|---|---|
| 健康资产 | 记录是什么? |
| 同意 | 谁能用它、为什么? |
| 溯源 | 它发生过什么? |
| 贡献 | 它值多少? |
去掉任何一个,协议就不是协议了。去掉健康资产,同意没有稳定的东西可授权。去掉同意,溯源没有东西可审。去掉溯源,整个系统靠信任跑。去掉贡献,系统没有患者参与的诚实理由。
四个自然地聚在一起,因为每个回答的是其他三个回答不了的那类问题。它们不是同一主题的变奏。不是同一个底层概念的不同面。是治理协议要成为上篇说的缺失层就必须提供的四个不同功能。
这是工作集。能证明其中一个可以归约到另一个的读者、或者能指出一个自然的第五个的读者,可以写信来。这个系列经得起压力测试会更好。
这个论证证明不了的#
三个值得说的局限。
身份在协议边界之外。 HAVEN 的立场是身份验证发生在协议外面,在已有的系统里。这是刻意的边界。也意味着协议继承它依赖的身份层的所有弱点。弱的身份绑定产出弱的同意;HAVEN 不修上游问题,只是选择不让它更糟。
结算在下游。 把归因分数变成实际支付——给患者、给研究基金、给实施系统选择的任何模式——是应用层的事,不是协议原语。HAVEN 给你记账。拿记账做什么由你设计。
"自然聚在一起"是判断。 这四个原语每个都是必要的这个论证,不排除某个别的四个(或五个)能通过不同的分解做同样的事。设计空间不接受那种证明,上篇已经承认了。可守的主张是针对我们说的那些失败的必要性。普遍最小性是另一个问题。
接下来#
规定四个原语没有消解上篇说的每一个问题。有两个在规定过程中冒出来成了单独的工作——不是因为原语错了,是因为每个碰到了密码学原语覆盖不了的验证体系。其中一个完全在另一套认识论里。
下一篇讲这两个缺口中的第一个。
References
-
HAVEN 白皮书 v2.0(2026 年 2 月)。DOI: 10.5281/zenodo.18701303. 源码:github.com/Chesterguan/HAVEN. ↩ ↩2 ↩3 ↩4
-
Git 今天用 SHA-1,正在迁移到 SHA-256。构造和 HAVEN 一样:哈希内容,用哈希当标识。原始设计:Linus Torvalds,2005。 ↩
-
IPFS(星际文件系统)给通用数据存储实现了同样的模型。Content Identifier (CID) 是操作形式。这个模式比区块链早得多。 ↩
-
Farrell, S., Kutscher, D., Dannewitz, C., Ohlman, B., Keränen, A., and Hallam-Baker, P. RFC 6920: Naming Things with Hashes. 2013 年 4 月。给内容寻址资源定义了
ni:URI 方案,包括哈希算法参数化。 ↩ -
"纽伦堡法典。"《纽伦堡军事法庭战争罪犯审判》。美国政府印刷局,1949(原发 1947)。 ↩
-
国家保护生物医学和行为研究人类受试者委员会。《贝尔蒙特报告:保护研究人类受试者的伦理原则和指南》。美国卫生、教育与福利部,1979。 ↩
-
HAVEN 白皮书 §9,"我们不试图做什么"。 ↩
-
NIST 特别出版物 800-63-4(2024):《数字身份指南》——身份验证保证级别。W3C《去中心化标识符 (DID) v1.0》,W3C 推荐,2022 年 7 月。OpenID Connect Core 1.0(联邦身份)。eIDAS 欧盟条例 910/2014 和 eIDAS 2.0(2024),欧盟的电子身份识别框架。HAVEN 跟这些作为底层身份基底都兼容。 ↩
-
Merkle, R.C. "A digital signature based on a conventional encryption function." Advances in Cryptology — CRYPTO '87. 让 O(log n) 包含证明成为可能的哈希树构造。 ↩
-
Laurie, B., Messeri, E., and Stradling, R. RFC 9162: Certificate Transparency Version 2.0. 2021 年 12 月。公共网络证书透明度日志的当前规范标准。 ↩
-
Haber, S., and Stornetta, W.S. "How to time-stamp a digital document." Journal of Cryptology 3.2 (1991): 99-111. 首发 CRYPTO '90。原始的哈希链接时间戳构造。 ↩
-
Datacoup(2012 年纽约成立;2019 年 11 月关;后被 ODE 2021 年 7 月收购),Datawallet(2014 年成立;2018 年 2 月通过 4000 万美元 DXT 代币销售转向加密;到 2026 年实际休眠),LunaDNA(2017 年 12 月 Bob Kain 等人创立;2024 年 1 月 31 日因资金不足关闭)。每个都用各种红利模式试过患者端数据市场;每个都没能吸引到维持市场所需的患者量或研究买家信任。 ↩
-
Ghorbani, A., and Zou, J. "Data Shapley: Equitable Valuation of Data for Machine Learning." ICML 2019. 机器学习训练集中个体数据点的 Shapley 值归因。 ↩