Skip to content

RFC 0022: Account key derivations#296

Open
valentunn wants to merge 7 commits into
mainfrom
rfc/0022
Open

RFC 0022: Account key derivations#296
valentunn wants to merge 7 commits into
mainfrom
rfc/0022

Conversation

@valentunn

@valentunn valentunn commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Rendered

Changes 23.07

  • Internal 32-byte derivation index: u32-LE ++ INDEX_MAGIC (blake2b256("product-account-index")[..28]); raw 32-byte values as escape hatch
  • ProductAccountId.derivation_index: Either<u32, [u8; 32]> at the host API; only the 32-byte form past it
  • ProductProofContext.suffix: arbitrary bytes → same Either<u32, [u8; 32]> selector, with its own amendment section
  • Index used directly as the soft-junction chain code; substrate path-segment parsing dropped
  • Ring-VRF paths mirror product account paths; domains are product ids, per-domain indices in force
  • New peopl.dot built-in product: //peopl.dot//0 full personhood key, //peopl.dot//1 light personhood key; lite-people / people domains removed
  • ECDH key material via the ring-VRF-style keyed-hash chain rooted at hash(root_entropy, "ecdh"); schnorrkel derivation dropped

@valentunn
valentunn requested review from a team July 20, 2026 12:50
valentunn and others added 2 commits July 20, 2026 20:14
Resolves the AccountAlias review-fixture conflict in favor of main's
shape (shared PROOF_CONTEXT/RING_LOCATION constants plus the CreateProof
case), which supersedes the branch-side repair of the same fixture.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Comment thread docs/rfcs/0022-account-derivations.md Outdated
Comment thread rust/crates/truapi/src/v01/account.rs Outdated
Comment on lines +10 to +13
/// Derivation suffix selecting an account within the product subtree.
/// Interpreted as a standard substrate derivation-path segment when valid
/// UTF-8, and as a raw-bytes junction otherwise.
pub derivation_suffix: Vec<u8>,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We will need a v02 here and update the versioned enums with the new variant

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Iirc the direction is that we are ok to break things now, to iterate faster

valentunn and others added 3 commits July 22, 2026 19:33
Resolves the SsoAllocatedResource conflict by keeping main's variant doc
comments while retaining this branch's AutoSigning payload shape (single
product_root_private_key, no product_derivation_secret).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants