Signatures—take something like EdDSA or ECDSA—are used to bind a statement to a key. The important detail is that what you sign is a commitment, not a full disclosure. If a designer signs the hash of a pattern h=H(m), they are anchoring that exact state without publishing every intermediate step. The hash function—SHA-256 for example—compresses arbitrary data into a fixed-size digest with preimage resistance. That’s what allows “this existed” without “this is fully revealed.”
Merkle structures come in when the object is not a single file but a set—pattern pieces, simulation outputs, loom instructions, material specs. A Merkle Tree lets you hash each component and combine them into a root. You can later reveal only a branch. So a garment could have a root that commits to everything, but a buyer only sees the branch relevant to authenticity, not the entire internal process.
Now move to encryption
Public key encryption
like Elliptic Curve Diffie–Hellman
lets two parties derive a shared secret.
TThat shared key can encrypt buyer data, measurements, conversations. The important detail is that the ciphertext lives in a different domain. It’s not just hidden—it’s structurally unusable without the key.
Now programmable keys.
PKP NFTs or programmable key pairs is essentially wrapping key access and execution inside programmable conditions. Instead of a private key sitting in one place, signing authority is mediated by logic. That logic could be threshold-based, time-based, condition-based.
Think of a key not as a fixed scalar, but as something that can only produce a signature if certain predicates are met. Mathematically, this often uses threshold cryptography or MPC. A key sk is split into shares sk 1 ,sk 2 ,…. No single party holds the full key. A signature is produced only if enough shares cooperate. This is how you get things like: a garment “holding” a capability through a chip or linked device, a designer delegating limited signing rights to an agent, a buyer proving ownership without exposing their base key.
Programmable keys let you attach behavior to identity without exposing the raw secret. That’s critical for wearables. A garment can act as a carrier of a capability, not by storing a plaintext key, but by participating in a signing protocol.
Now connect this back to the earlier constraint: no forced global logging.
All these primitives allow selective anchoring and selective disclosure. You don’t need to record every state. The system becomes sparse by design. What exists on-chain or in shared space are anchors, not full histories. Now bring it into a garment pipeline.
A pattern exists in the commons, maybe fully open. A designer forks it and iterates locally. They might commit to a version before publishing. When they publish, they sign the hash. That’s enough to place it in the lineage. They produce a garment. The production bundle—pattern hash, material batch, machine config—can be committed into a Merkle root. The garment carries a reference to that root. No need to expose everything, just enough to verify claims when needed.
A buyer purchases it. Their identity and data are encrypted directly to the designer. No intermediate sees it in plaintext. The purchase itself can be proven later with a zk proof, without exposing the full transaction.
If the garment grants access to something—a future drop, a private fitting system—the buyer proves possession through a signature or zk proof. They don’t reveal their entire history, just the fact that they satisfy a condition.
If the designer runs agents or multiple identities, programmable keys let them guide which outputs are signed by which identity, under which conditions. They can keep some processes unsigned, some loosely attributed, some tightly bound. No need to unify everything under one key.
But... control, authority.... these words come from legacy systems where everything is framed as hierarchy and enforcement. A cleaner way to think about it: not control, but who can form a valid interaction, not authority, but which keys can produce a valid statement under given conditions, not permission, but which states are reachable, not ownership (in the restrictive sense), but which relationships can be expressed and verified. The shift is from people governing people → to structures defining what can exist at all.