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, 可视化界面, 密码学, 手动系统调用, 数字溯源, 数字签名, 网络流量审计, 通知系统, 零信任架构