Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Glossary – Makechain
Skip to content

Glossary

Definitions for terms used throughout Makechain documentation.

Protocol

  • Message — signed operation envelope: BLAKE3 hash (32 bytes), Ed25519 signature (64 bytes), signer public key, and payload.
  • Message type — the operation a message performs: PROJECT_CREATE, COMMIT_BUNDLE, REF_UPDATE, etc. Fourteen types grouped into 1P and 2P semantics.
  • 1P (one-phase) — unilateral state change with no paired undo. Includes singletons, LWW registers, append-only, and state transitions.
  • 2P (two-phase) — add/remove pairs on a set. Remove wins on timestamp tie.
  • CAS (compare-and-swap) — optimistic locking via expected current value. Used for ref updates.
  • LWW (last-write-wins) — most recent message by consensus order wins. Used for PROJECT_METADATA and ACCOUNT_DATA.
  • Remove-wins — on tie between add and remove in a 2P set, remove takes precedence.
  • Conflict key — the tuple identifying which state slot a message targets, for example (project_id, ref_name).
  • Project ID — BLAKE3 hash of the PROJECT_CREATE message. Content-addressed and immutable.
  • Envelope — the outer Message struct wrapping MessageData with hash, signature, and signer fields.

Identity

  • Make ID (MID)uint64 account identifier from the onchain registry. Every message references a mid.
  • Scope — key permission level: OWNER, SIGNING, or AGENT. Hierarchical.
  • Key — Ed25519 public key registered to a Make ID with a scope. Added via KEY_ADD, removed via KEY_REMOVE.
  • Claim signature — proof linking an external address (Ethereum or Solana) to a Make ID. Message: makechain:verify:<mid>.
  • Verification — result of VERIFICATION_ADD. Links an ETH_ADDRESS or SOL_ADDRESS to a Make ID.
  • Collaborator — a Make ID granted write access to another account's project.

Consensus

  • Simplex BFT — single-chain BFT consensus from Commonware. 3f + 1 fault tolerance.
  • Block — batch of messages ordered by consensus. ~200ms block time.
  • Finality — 2-chain rule: final after two consecutive notarized blocks. ~300ms.
  • Notarization — 2/3+ validator vote to accept a proposed block.
  • Mempool — validated message queue. 100,000 capacity, deduplicates by hash.
  • Leader — validator proposing a block in a given round. Round-robin.

Execution

  • Account pre-pass — Phase 1: serial execution of account-level messages (KEY_ADD, KEY_REMOVE, ACCOUNT_DATA, VERIFICATION_ADD/REMOVE, PROJECT_CREATE, PROJECT_REMOVE, FORK).
  • Project execution — Phase 2: project-scoped messages grouped by project_id and executed in parallel, each with its own overlay store.
  • Overlay store — copy-on-write store providing isolation between parallel project groups.
  • Snapshot store — read-only base state plus account pre-pass diffs. Base for overlay stores in Phase 2.
  • State root — BLAKE3 merkle root of sorted per-project roots.
  • State diff — writes and deletes produced by block execution. Applied atomically on commit.

Storage

  • Storage unit — yearly capacity allocation. Default: 1 unit. Provides 10 projects, 10,000 commits/project, 200 refs, 50 collaborators.
  • DA layer (data availability layer) — separate storage for file content (blobs, trees). Referenced by da_reference in commit bundles.
  • Pruning — removal of oldest unprotected commit metadata when a project exceeds its limit. Ref-targeted commits are never pruned.
  • Ref — named pointer (branch or tag) to a commit hash. CAS-ordered updates, monotonic nonces.
  • Fast-forward — ref update where the new commit descends from the current target.
  • Nonce — monotonic counter on each ref preventing reordering.

Infrastructure

  • Commonware — distributed systems primitives: consensus, p2p, parallel execution, storage, cryptography, codec.
  • tonic — Rust gRPC framework. Supports grpc-web.
  • rayon — data-parallelism library for Phase 2 project execution.
  • QMDB — planned persistent state backend with merkle proofs. Currently using in-memory BTreeMap.
  • grpc-web — HTTP/1.1-compatible gRPC for browser clients.
  • protobuf — serialization format. Types defined in proto/makechain.proto, compiled via tonic-build.
  • Network — chain namespace: devnet, testnet, or mainnet. Cross-network messages are rejected.