关于 why-midnight
Midnight 是面向需要保护数据并验证计算结果的应用团队的数据保护型区块链平台。本指南介绍选择性披露、公有与私有状态,以及 Compact 智能合约。
主要功能
- 01选择性披露私有数据
- 02区分公有状态与本地私有状态
- 03零知识证明验证
- 04基于 TypeScript 的 Compact 智能合约
- 05支持 Cardano 桥接的权益证明网络
适用场景
- 01证明符合医疗资格而不泄露病史
- 02验证账户余额而不公开具体金额
- 03构建满足受监管数据使用需求的应用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ kali-decoder/ midnight-skills --skill why-midnight安装后在 Claude Code 中输入/why-midnight确认已加载。
详细介绍
什么是 Midnight?
Midnight 是一个数据保护区块链平台。它解决了区块链技术的一项根本挑战:如何在利用分布式账本优势的同时,保护敏感数据所需的隐私。
与每笔交易都永久对所有参与者可见的传统区块链不同,Midnight 引入了选择性披露——在不泄露数据本身的情况下证明有关数据的事实。这使区块链能够应用于医疗、金融和政府服务等受监管行业。在这些行业中,数据保护不仅重要,而且是法律要求。
核心概念
数据保护区块链
Midnight 维护着两种并行状态:
- **公共状态:**存储在链上的传统区块链数据,对所有网络参与者可见。这包括交易证明、合约代码以及任何有意公开的信息。
- **私有状态:**由用户本地存储的加密数据,绝不会暴露给网络。这包括个人信息、业务数据以及任何必须保密的敏感内容。
零知识证明
连接公共状态和私有状态的桥梁是零知识密码学。借助 zk-SNARK(零知识简洁非交互式知识论证),Midnight 可以:
- 在不查看输入数据的情况下验证计算结果
- 在不透露陈述为何为真的情况下证明其为真
- 无论计算复杂度如何,都生成紧凑的证明(128 字节)
- 在链上以毫秒级速度验证证明
例如:
- 医疗应用可以证明患者符合治疗条件,而不透露其病史。
- 金融系统可以验证账户余额充足,而不公开具体金额。
Compact 编程语言
Midnight 推出了Compact,这是一种基于 TypeScript 的领域专用语言,让主流开发者也能使用保护隐私的智能合约。开发者无需具备密码学专业知识,只需编写熟悉的代码,即可将其编译为零知识电路。
为什么选择 Midnight
法规要求对数据进行受控使用
隐私法律要求采取有力的数据保护措施,但公有区块链默认会公开所有链上活动。
GDPR、CCPA 和 HIPAA 等框架要求严格控制个人数据。Midnight 支持受控且可验证的披露,帮助团队只共享必要的信息。
公有链暴露的信息过多
组织需要去中心化,但不能将敏感信息放到完全开放的账本上。
公有链会在共享账本上公开余额、操作和元数据。私有链虽然能提升保密性,却会降低去中心化程度。Midnight 结合公共状态和私有状态,让团队兼得去中心化和可编程的保密性。
隐私工具往往难以使用
大多数团队无法构建 ZK 系统,因为这需要专业的密码学知识。
传统 ZK 开发需要掌握电路设计和证明系统知识。Midnight 的 Compact 语言通过自动将类 TypeScript 代码编译为电路和证明,降低了这一门槛。
私有计算仍须可验证
敏感逻辑需要隐私保护,但仍必须向网络证明其正确性。
Midnight 允许用户在本地对私有数据进行计算,并提交零知识证明,而不是提交原始输入。验证者可以验证正确性,而不必了解底层数据,从而兼顾隐私与信任。
Midnight 的工作方式
交易流程
当用户在 Midnight 上发起交易时,流程会遵循特定顺序,在确保有效性的同时维护隐私:
- 用户在本地对私有数据执行计算,绝不将其暴露给网络。
- Midnight 运行时会为此计算生成零知识证明。
- 该证明与所有预期的公开输出一同提交到区块链。
- 网络验证者使用 zk-SNARK 验证算法验证证明(在链上耗时仅为毫秒级)。
- 验证通过后,公共状态和私有状态都会根据已证明的计算进行更新——公共状态更新在链上,私有状态更新在用户的本地存储中。
网络架构
Midnight 作为权益证明区块链运行。验证者可通过质押委托无需许可地参与网络,在提升网络安全性的同时赚取奖励。
该平台与 Cardano 保持原生桥接,以便转移资产,实现两条链之间的互操作性。
网络处理两种类型的交易:
- 类似传统区块链操作的标准公开交易
- 使用零知识证明维护隐私的屏蔽交易
两种交易类型均由同一组验证者验证,确保整个网络的安全性一致。
隐私保障
Midnight 实施了多层隐私保护:
- **数据最小化:**只有必要数据会上链;敏感信息会保留在本地存储中。
- **前向保密:**即使加密密钥将来遭到泄露,过去的交易仍保持私密。
- **选择性披露:**用户可精确选择披露哪些信息,以及向谁披露。
- **可选合规机制:**按要求向主管部门报告,同时不损害用户隐私,也不向未授权方暴露数据。