thupa-pro/Origin

GitHub: thupa-pro/Origin

Origin 是一套密码学溯源协议,通过 256 字节的 Proof of Origin 声明在零信任条件下绑定了数字制品的公钥、时间戳和哈希,实现可离线验证的制品来源证明。

Stars: 0 | Forks: 0

# Origin Network — 密码学溯源协议 **Layer 1:** Proof of Origin — 一个 256 字节的密码学声明,它绑定了 公钥、时间戳和数字制品哈希。在零基础设施、零网络访问和零信任的条件下对其进行验证。 ``` origin: v1 hash: sha256:<64-hex-chars> time: key: <44-base64url-chars> sig: <88-base64url-chars> ``` ## 仓库结构 ``` origin-network/ ├── AGENTS.md # AI agent constitution (constraints for Copilot/Claude/Cursor) ├── ORIGIN_DOCTRINE.md # Engineering manifesto & design philosophy ├── GOVERNANCE.md # OIP process & stewardship rules ├── SECURITY.md # Vulnerability disclosure & bug bounty ├── flake.nix # Hermetic Nix dev shell (reproducible builds) ├── .pre-commit-config.yaml # Git hooks: gitleaks, typos, fmt, lint │ ├── crates/ # Rust workspace (the cryptographic core) │ ├── origin-core/ # [no_std] 256-byte PoO, hashing, crypto (the narrow waist) │ ├── origin-embed/ # [std] EXIF/ID3/PDF steganographic embedding │ ├── origin-ivg/ # [std] Intent-Value Graph CRDT │ ├── origin-hae/ # [std] Hybrid Attestation Engine (TEE/ZK) │ ├── origin-vrm/ # [std] Value Routing Mesh (state channels) │ ├── origin-ikm/ # [std] DID:origin method & reputation │ ├── origin-zk/ # [std] Halo2 ZK circuits (PoB, Consent) │ ├── origin-cli/ # [std] CLI binary (hash, sign, verify, audit) │ └── fuzz/ # Fuzzing corpora and targets (nightly) │ ├── packages/ # Edge SDKs & frontends │ ├── origin-sdk/ # TypeScript/WASM SDK (browser & Node) │ └── origin-ml/ # Python SDK (coming soon) │ ├── services/ # Network microservices (Rust/Axum) ├── contracts/ # L2 settlement layer (Solidity/Foundry) ├── formal/ # TLA+ models, Coq proofs, Kani harnesses ├── security/ # Threat models, audit reports, SBOMs ├── infra/ # Terraform, K8s, Docker, Grafana ├── docs/ # Protocol specs, OIPs, integration guides └── scripts/ # Sentinel, automation, audit tooling ``` ## 快速开始 ``` cargo build -p origin-cli cargo run -p origin-cli -- generate-key cargo run -p origin-cli -- sign README.md --key origin-secret.key cargo run -p origin-cli -- verify README.md --origin README.md.origin ``` ## CLI 参考 ### 命令 ``` origin [OPTIONS] ``` | 命令 | 描述 | |---------|-------------| | `sign` | 对制品进行哈希和签名,生成 `.origin` 声明 | | `verify` | 根据制品的 `.origin` 声明验证制品 | | `audit` | 显示 `.origin` 声明的字段 | | `id` | 将身份字符串绑定到公钥 | | `generate-key` | 生成新的 Ed25519 密钥对 | | `completions` | 生成 shell 自动补全脚本 | ### Shell 自动补全 ``` origin completions bash > /usr/share/bash-completion/completions/origin origin completions zsh > /usr/share/zsh/site-functions/_origin origin completions fish > ~/.config/fish/completions/origin.fish ``` ### JSON 输出 所有验证和审计命令都支持 `--json` 以进行机器可读的输出: ``` origin verify file.txt --origin file.txt.origin --json # {"valid":true,"error_code":null,"timestamp_utc":"...","content_hash":"sha256:...","key_b64":"..."} origin audit file.origin --json # {"origin":"v1","hash":"sha256:...","time":1718400000,"time_iso":"...","key":"...","sig":"..."} ``` ### 从源码安装 ``` cargo install origin-cli ``` ## 沙漏架构 `.origin` 格式是沙漏的窄腰。核心(`origin-core`)对 网络、文件或身份一无所知。上方的一切都是 应用程序;下方的一切都是 服务。 ``` SDKs, CLI, Dashboards │ ▼ ┌─────────────────────┐ │ .origin Statement │ ← 256 bytes, no_std, zero allocs └─────────────────────┘ │ ▼ IVG · HAE · VRM · IKM · ZK ``` ## 已知限制 (Spec §9) 每个符合规范的实现都必须将这些传达给用户: | ID | 限制 | 状态 | |----|-----------|--------| | **L1** | 256 字节格式:v2+ 扩展仅有 8 个保留字节。通过版本字节进行迁移。 | 已记录 | | **L2** | `semantic_hash` 依赖于模型(`semantic_model_ver` 字段)。跨模型比较是未定义的。 | 已记录 | | **L3** | **pHash 不具备对抗鲁棒性。** 不要将 `perceptual_hash` 作为在对抗环境中任何安全关键或版税确定的唯一依据。攻击者可以精心构造产生任意 pHash 值的输入。 | 已记录 | | **L4** | `policy_hash` 反映的是签名时的策略。当前策略可能有所不同。 | 已记录 | | **L5** | **PoB 完整性缺口:** 声明的训练输入可能不是所有训练输入的完整集合。PoB 证明的是声明的输入满足策略,而不是它们是详尽无遗的。 | 已记录 | | **L7** | 在 IVG 网络分区期间,提供安全回退(`research_only`)。为安全性牺牲了活跃度。 | 已记录 | | **L9** | **绝对不要将 Arweave 用于 GDPR 管辖区部署。** Arweave 的不可变性与 GDPR 的被遗忘权相冲突。 | 已记录 | ### 无法验证的内容 Origin 协议证明了公钥、时间戳和制品哈希是绑定的。 它**不**证明: 1. **PoB 声明的完整性** — 声明的输入可能并非全部输入 2. **HCS (Human Content Score) 准确性** — HCS 是一种启发式方法,而不是证明 3. **语义哈希模型的正确性** — 依赖于模型的相似性是近似的 4. **因果艺术衍生** — 时间戳证明的是存在性,而不是创作顺序 5. **信任分数的准确性** — 信任分数是服务层的启发式方法 ### 时间优先级限制 (NP3) 时间戳是自行设置的。快速的攻击者可以在实际创建者之前对公开可用的内容 进行签名。**不要将 PoO 时间戳视为创作 优先级的证明。** 时间戳证明的是某个时间点的存在性,而不是原创性。 ## 发布 ### v1.0.0 — L1 Omega 杰作 (2026-06-12) **密码学可靠 ✅** — 150+ 测试通过,0 失败,clippy/fmt/deny 检查通过。 | 领域 | 已证明的内容 | |--------|--------------| | **传输格式** | 256 字节,`#[repr(C, packed)]`,零分配,LE 确定性 | | **侧信道** | 计时 t=0.424(阈值 4.0),`ZeroizeOnDrop`,`ConstantTimeEq` | | **签名强化** | 击败延展性,确定性 nonce,承诺绑定 | | **多模态哈希** | 定点 DCT pHash,ChaCha20 SimHash — 跨平台位一致 | | **嵌入引擎** | JPEG/PNG/MP3/PDF — 二进制级拼接,零重编码(19 项测试) | | **CLI 流式传输** | 50GB 稀疏文件防 OOM,SIGINT 安全原子写入,miette 诊断 | | **结构化模糊测试** | 10 万个随机 PoO 数组,1 万个损坏的语句,6700 万次模糊迭代 — 0 次恐慌 | | **WASM/Node.js** | 完整的签名/验证往返,通过 cbindgen 提供 C 头文件 | **修复了 2 个协议错误**,9 个 crate,4 个 SDK 包,3 个形式化验证工件(TLA+/Coq/Kani)。 ## 更新日志 查看 [CHANGELOG.md](CHANGELOG.md) 获取版本历史。 ## 许可证 MIT — 查看 [LICENSE](LICENSE)。 ## 安全 查看 [SECURITY.md](SECURITY.md) 了解我们的漏洞披露政策和 漏洞赏金计划。
标签:CVE, Rust, 区块链与Web3, 可视化界面, 密码学, 手动系统调用, 数字溯源, 数字签名, 网络流量审计, 通知系统, 零信任架构