fix(ci): remove invalid –dry-run flag from moon info step
moon-privacy-budget
moon-privacy-budget 是专为 MoonBit 语言生态打造的高性能、可追溯、可审计的差分隐私(Differential Privacy, DP)预算管理器。
本项目不仅实现了主流的差分隐私加噪机制(Laplace, Gaussian, Analytic Gaussian, Exponential, SVT, Matrix Mechanism),更核心的是为现代数据分析、私密 SQL 查询以及差分隐私机器学习(DP-SGD)流水线提供全生命周期的隐私预算账户管理、高级组合定理核算、动态拦截过滤器、连续量测里程表以及格式化隐私损失审计报告导出。
多维加噪机制 (src/mechanisms)
src/mechanisms
高级组合定理与 Accountant (src/composition)
src/composition
隐私账本与拦截控制 (src/ledger)
src/ledger
PrivacyAccount
PrivacyLedger
SubLedgerNode
PrivacyFilter
PrivacyOdometer
审计日志与报告导出 (src/audit)
src/audit
AuditLogger
ReportGenerator
私密 SQL 查询与机器学习扩展 (src/query, src/federated, src/ml)
src/query
src/federated
src/ml
PrivateQueryEngine
COUNT
SUM
AVG
HISTOGRAM
GROUP BY
SQLParser
FederatedBudgetCoordinator
DPSGD
moon-privacy-budget/ ├── moon.mod # MoonBit 模块清单文件 ├── LICENSE # Apache-2.0 开源许可证 ├── README.md # 项目中文说明文档 ├── OSC2026_Project_Declaration.md # OSC 2026 大赛项目申报书 ├── .github/ │ └── workflows/ │ └── ci.yml # GitHub Actions CI 工作流 ├── src/ │ ├── core/ # 基础类型 (Epsilon, Delta, PrivacyBudget, Error) │ ├── math/ # 数学库 (PRNG, Gaussian/Laplace CDF, erf, Matrix) │ ├── mechanisms/ # 加噪机制 (Laplace, Gaussian, Exponential, SVT) │ ├── composition/ # 组合定理 (Advanced, RDP, zCDP, Moments Accountant) │ ├── ledger/ # 隐私账本 (PrivacyAccount, Filter, Odometer) │ ├── audit/ # 审计日志 (AuditLogger, JSON/Markdown Exporter) │ ├── aggregators/ # DP 聚合器 (Count, Sum, Mean, Variance, Histogram) │ ├── query/ # 私密 SQL 引擎 (Table, PrivateQueryEngine, SQLParser) │ ├── federated/ # 联邦节点预算协调器 (FederatedNode, Coordinator) │ └── ml/ # 差分隐私机器学习 (DPSGD, DPLinearRegression) └── main/ # 示例程序与 CLI 入口
moon check
moon test
moon fmt
moon info
# 检查项目语法与类型 moon check # 运行全套单元测试 (包含 57 项自动化测试) moon test # 代码格式化与信息检查 moon fmt moon info # 运行 CLI 演示程序 moon run main
// 1. 创建隐私预算账户 (ε = 10.0, δ = 1e-4) let init_b = match @core.PrivacyBudget::make(10.0, 0.0001) { Ok(b) => b Err(e) => fail(e) } let acc = @ledger.PrivacyAccount::new("user_01", "Alice", init_b, 100) // 2. 创建私密查询引擎与 Guard let p_guard = @query.PrivacyGuard::new(acc, 12345UL) // 3. 构建数据集并执行差分隐私查询 let bound = match @core.DomainBound::new(0.0, 100.0) { Ok(b) => b; Err(e) => fail(e) } let col = @query.Column::new("age", [25.0, 30.0, 45.0, 50.0], bound) let table = @query.Table::new("users") let _ = table.add_column(col) let req_budget = match @core.PrivacyBudget::make(0.5, 0.00001) { Ok(b) => b; Err(e) => fail(e) } let res = p_guard.execute_query("q1", table, @query.QueryType::select_avg("age"), req_budget) // 4. 查看剩余隐私预算与审计日志 println("Remaining Budget: " + p_guard.remaining_budget().to_string())
本项目为完全独立原创开发,实现参考了以下差分隐私领域的经典学术文献:
实现 Laplace 和 Gaussian 噪声机制、隐私预算账户、组合定理、查询次数限制和隐私损失报告。项目重点不是单一加噪函数,而是为数据分析流程提供可追踪、可审计的预算管理;后续可扩展到隐私 SQL 和联邦统计。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MoonBit 差分隐私预算管理器 (
moon-privacy-budget)moon-privacy-budget是专为 MoonBit 语言生态打造的高性能、可追溯、可审计的差分隐私(Differential Privacy, DP)预算管理器。本项目不仅实现了主流的差分隐私加噪机制(Laplace, Gaussian, Analytic Gaussian, Exponential, SVT, Matrix Mechanism),更核心的是为现代数据分析、私密 SQL 查询以及差分隐私机器学习(DP-SGD)流水线提供全生命周期的隐私预算账户管理、高级组合定理核算、动态拦截过滤器、连续量测里程表以及格式化隐私损失审计报告导出。
🌟 核心特性
多维加噪机制 (
src/mechanisms)高级组合定理与 Accountant (
src/composition)隐私账本与拦截控制 (
src/ledger)PrivacyAccount**:账户预算充值、消耗、剩余比例与自动告警/锁定。PrivacyLedger**:多账户事务扣减与并发安全逻辑。SubLedgerNode**:树状层级预算分配(组织 -> 部门 -> 团队)。PrivacyFilter**:查询前置拦截器(预算不足时拦截查询)。PrivacyOdometer**:连续量测里程表(实时监测无硬上限的隐私消耗)。审计日志与报告导出 (
src/audit)AuditLogger**:不可变查询日志审计,支持按账户和数据集检索。ReportGenerator**:生成 JSON 格式审计日志与 Markdown 格式隐私损耗可视化表格报告。私密 SQL 查询与机器学习扩展 (
src/query,src/federated,src/ml)PrivateQueryEngine**:支持COUNT,SUM,AVG,HISTOGRAM与GROUP BY差分隐私查询。SQLParser**:SQL 查询文本词法分析与 AST 解析。FederatedBudgetCoordinator**:分布式节点隐私预算协调与安全聚合模拟。DPSGD**:梯度 L2 范数截断与差分隐私逻辑回归/决策树选择。📁 目录结构
🛠️ 构建与测试
环境要求
moon check,moon test,moon fmt,moon info验证)。编译与检查
💡 快速上手示例
📜 论文引用与来源声明
本项目为完全独立原创开发,实现参考了以下差分隐私领域的经典学术文献: