Skip to content

Commit cb519e1

Browse files
FeilixXclaude
andcommitted
feat(pip-003): Ed25519 checkpoint signing + trust layer architecture
Every Merkle checkpoint is now signed with a locally generated Ed25519 keypair. Signature embedded as C2SP extension line: sig/ed25519:<pubkey_hex>:<sig_hex> Trust layers (each strictly additive): - Merkle: ordering + integrity (RFC 6962) - Ed25519: identity binding (this commit) - TSA: time binding (via punkgo-jack, not in kernel) Changes: - Add signing.rs: Ed25519 key lifecycle + checkpoint signing (7 tests) - Integrate signing into audit.rs checkpoint creation - Add signing_pubkey IPC read kind - Add audit_tsa_tokens table (forward-compatible, jack-side storage) - Add trust-layers.svg visual - Add PIP-003 spec (EN + ZH) - Rewrite README as landing page (190 → 86 lines) - Update ARCHITECTURE.md to v0.5.0 - Remove orphaned crates/punkgo-sandbox/ - Bump workspace version 0.4.0 → 0.5.0 138 tests, cargo fmt + clippy clean. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 37d2b25 commit cb519e1

File tree

21 files changed

+661
-1226
lines changed

21 files changed

+661
-1226
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,20 @@ All notable changes to PunkGo Kernel will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.5.0] - 2026-03-16
9+
10+
### Added
11+
12+
- **PIP-003: Ed25519 checkpoint signing** — every Merkle checkpoint is now signed with a locally generated Ed25519 keypair. Signature format: `sig/ed25519:<pubkey_hex>:<sig_hex>` in the C2SP checkpoint extension line
13+
- **Signing key auto-generation** — keypair created on first boot at `{state_dir}/signing_key`, loaded on subsequent starts
14+
- **`signing_pubkey` read kind** — IPC clients can query the kernel's Ed25519 public key for offline verification
15+
- **`audit_tsa_tokens` table** — reserved schema for jack-side RFC 3161 TSA timestamp storage (forward-compatible, kernel does not make HTTP calls)
16+
- **`verify_checkpoint_signature()` and `parse_sig_extension()`** — public functions for third-party offline signature verification
17+
18+
### Dependencies
19+
20+
- Added: `ed25519-dalek` v2 (with `rand_core`), `rand` v0.8, `hex` v0.4
21+
822
## [0.4.0] - 2026-03-13
923

1024
### Changed

Cargo.lock

Lines changed: 73 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ members = [
77
resolver = "2"
88

99
[workspace.package]
10-
version = "0.4.0"
10+
version = "0.5.0"
1111
edition = "2024"
1212
authors = ["Felix <feijiu@punkgo.ai>"]
1313
license = "MIT"
@@ -33,3 +33,6 @@ tempfile = "3.16"
3333
uuid = { version = "1.21.0", features = ["v4", "serde"] }
3434
interprocess = { version = "2.4", features = ["tokio"] }
3535
fs2 = "0.4"
36+
ed25519-dalek = { version = "2", features = ["rand_core"] }
37+
rand = "0.8"
38+
hex = "0.4"

0 commit comments

Comments
 (0)