Protocol overview
Makechain is address-native. The 20-byte owner_address is the sole identity, every committed message is user-submitted, and the finalized Block is the canonical commitment.
Core properties:
owner_addressis the sole canonical identitySTORAGE_CLAIMis the only Tempo-backed storage ingress pathSIGNER_ADDandSIGNER_REMOVEare the only signer-management paths- Tempo events are never injected into Makechain blocks
- canonical persisted verification uses the finalized
Block(header + body)
Identity and authorization
Ordinary user messages are authorized by delegated Ed25519 keys attached to an owner_address.
SIGNER_ADD and SIGNER_REMOVE bypass delegated-key lookup and derive authority from custody proofs.
STORAGE_CLAIM still requires finalized settlement verification, but first successful application does not require delegated-key authorization. STORAGE_CLAIM funds raw storage only — usernames are claimed separately through USERNAME_CREATE and replaced through USERNAME_UPDATE.
MERGE_REQUEST_ADD and MERGE_REQUEST_REMOVE open and close cross-project contribution proposals from fork descendants. MERGE_REQUEST_REMOVE has dual authorization: the requester may withdraw, or a target project member with WRITE+ may close.
Execution model
Execution is split into two ordered phases:
- account-level messages in proposer-selected serial order
- project-level messages grouped by
project_idin byte-lexicographic order
This ordering is committed by the block header's transactions_root over the body's message set.
Removed legacy behavior
Makechain does not preserve:
- registry-based identity semantics
- registry or relay ingress
- relay checkpoints
- relay-era replay compatibility
- protocol-level ownership transfer or recovery