Blockchain Commons’ Core Stack includes its two major user-facing innovations, Collaborative Seed Recovery (CSR) and Envelope, plus the binary encoding scheme that enables them both (dCBOR).
The Identifier Layer
Digital identifiers are required to say who’s who on the internet, but there’s a lot more to them than that. Blockchain Commons has been involved with identification since our work founding the Rebooting the Web of Trust workshops.
- Cliques. Identity on the internet has usually been locked into the Single Signature Paradigm. Cliques instead imagine edge identifiers and cryptographic cliques that exist to denote relationships.
- See our Cliques page
- XIDs. Extensible Identifiers. A napkin sketch of how you can use Gordian Envelope and dCBOR to create create DID-like controller docs.
- See our XID page
The CSR Layer
The Storage Layer allows for the secure & resilient remote storage of sharded digital assets.
- Collaborative Seed Recovery (CSR). CSR supports the sharding of seeds using SSKR and their storage in independent storage servers such as the Gordian Depository. Communication with Depositories occur via GSTP, an Envelope functionality.
- See our CSR page.
The Envelope Layer
Digital-asset storage uses Gordian Envelope, Blockchain Commons’ smart document system, which allows for hashed data elision, encryption, and much more.
- Envelope. Gordian Envelopes are a binary storage format built in CBOR that can be encoded with URs, Blockchain Commons’ foundational plain-text encoding system, as
ur:envelope
. They’re built around recursive storage and support for hashed elision, which allows for provable redaction of data to allow data minimization. Extensions support even more functionality.- See our Envelope page
-
Seeds & SSKR. Seeds and SSKR shares can be stored in Envelopes. This goes beyond simpler storage techniques such as
ur:seed
andur:sskr
because it can include metadata to help identify a seed and also allows the use of Envelope functionality such as elision and encryption. - Other Envelope Extensions. Other Envelope extensions include existence proofs, encryption, signatures, compression, salting, known values, attachments, diffing & merging, and expressions. Envelope’s features can be used or not as a developer prefers: you only pay for what you use.
Envelope's Expressions & Communication
Envelope’s Expressions are an extension that enables secure communication.
Expressions. Expressions are Envelope functions. They are a specified way to request that a specific action be undertaken when an Evelope is accessed.
Request/Response. Request/Response packages up Expressions so that they can be sent to a remote recipient as a Request, who can then send a Response tied to the original request. This allows for interoperable communication using Envelopes when further security is not required.
- See our Envelope Request & Response page.
Gordian Sealed Transaction Protocol (GSTP). GSTP builds on top of Request/Response for those times when security is required. It not only supports encryption and signatures but also uniquely supports Encrypted State Continuations (ESC) to securely encapsulate state information. It’s used by the Gordian Depository as part of CSR.
- See our GSTP page.
Encrypted State Continuation (ESC). ESC is a feature of GSTP that allows for the storage of local state in a secure way as part of the communication messages. It supports constrained environments, load-balanced servers, time-differentiated environments, and more.
- See our ESC page.
The CBOR Layer
The CBOR layer defines the deterministic binary data serialization format for the Gordian Stack.
- CBOR. The heart of Gordian’s data format is CBOR, a data format defined by IETF RFC 8949. It supports the organized and tagged formatting of data.
- See Why CBOR?
-
CDE. Determinism is a requirement for the Gordian Stack. It was loosely described in RFC 8949, but needed further detailing. Blockchain Commons’ work with CBOR led to one of CBOR’s original authors further describing how CBOR could be used deterministically in the CBOR Common Deterministic Encoding (CDE) Internet-Draft.
- dCBOR. CDE allows for the creation of application profiles, which lay out specific rules for deterministic encoding. dCBOR is Blockchain Common’s CDE application profile used by Gordian Envelope. To support Envelope, it includes specific rules for things such as numeric encoding.
- See our dCBOR page.