Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

References

[BCP14] - N/A - Best Current Practice 14: Key words for use in RFCs to Indicate Requirement Levels. - 2017.

Summary/Abstract

BCP 14 is the Best Current Practice that defines and clarifies the usage of requirement-level keywords (MUST, SHOULD, MAY, etc.) in IETF documents. It comprises RFC 2119 (defining the keywords) and RFC 8174 (clarifying that only uppercase usage carries the defined semantics).


[Bitcoin-Core] - Bitcoin Core Developers - Bitcoin Core. - 2025.

Summary/Abstract

Bitcoin Core is the reference implementation of the Bitcoin protocol. It is a full node implementation that validates all transactions and blocks according to the Bitcoin consensus rules.


[BIP321] - Matt Corallo - URI Scheme. - 2024.

Summary/Abstract

This document proposes a URI scheme for describing Bitcoin payment instructions.


[BIP327] - Jonas Nick, Tim Ruffing, Elliott Jin - MuSig2 for BIP340-compatible Multi-Signatures. - 2022.

Summary/Abstract

This document proposes a standard for the MuSig2 multi-signature scheme. The standard is compatible with BIP340 public keys and signatures. It supports tweaking, which allows deriving BIP32 child keys from aggregate public keys and creating BIP341 Taproot outputs with key and script paths.


[BIP340] - Pieter Wuille, Jonas Nick, Tim Ruffing - Schnorr Signatures for secp256k1. - 2020.

Summary/Abstract

This document proposes a standard for 64-byte Schnorr signatures over the elliptic curve secp256k1.


[BIP340-Cryptosuite] - Will Abramson - Data Integrity BIP340 Cryptosuites. - 2025.

Summary/Abstract

This specification describes Data Integrity cryptographic suites for use when creating or verifying a digital signature using the the secp256k1 instantiation of the Schnorr Signature Algorithm as defined in BIP340.


[BIP350] - Pieter Wuille - Bech32m format for v1+ witness addresses. - 2020.

Summary/Abstract

This document defines an improved variant of Bech32 called Bech32m, and amends BIP173 to use Bech32m for native segregated witness outputs of version 1 and later. Bech32 remains in use for segregated witness outputs of version 0.


[CID] - Dave Longley, Manu Sporny, Markus Sabadello, Drummond Reed, Orie Steele, Christopher Allen - Controlled Identifiers v1.0. - 2025.

Summary/Abstract

A controlled identifier document contains cryptographic material and lists service endpoints for the purposes of verifying cryptographic proofs from, and interacting with, the controller of an identifier.


[DID-CORE] - Manu Sporny, Dave Longley, Markus Sabadello, Drummond Reed, Orie Steele, Christopher Allen - Decentralized Identifiers (DIDs) v1.1. - 2025.

Summary/Abstract

Decentralized identifiers (DIDs) are a new type of identifier that enables verifiable, decentralized digital identity. A DID refers to any subject (e.g., a person, organization, thing, data model, abstract entity, etc.) as determined by the controller of the DID. In contrast to typical, federated identifiers, DIDs have been designed so that they may be decoupled from centralized registries, identity providers, and certificate authorities. Specifically, while other parties might be used to help enable the discovery of information related to a DID, the design enables the controller of a DID to prove control over it without requiring permission from any other party. DIDs are URIs that associate a DID subject with a DID document allowing trustable interactions associated with that subject.

Each DID document can express cryptographic material, verification methods, or services, which provide a set of mechanisms enabling a DID controller to prove control of the DID. Services enable trusted interactions associated with the DID subject. A DID might provide the means to return the DID subject itself, if the DID subject is an information resource such as a data model.

This document specifies the DID syntax, a common data model, core properties, serialized representations, DID operations, and an explanation of the process of resolving DIDs to the resources that they represent.



[DID-RESOLUTION] - Markus Sabadello, Dmitri Zagidulin - Decentralized Identifier Resolution (DID Resolution) v0.3. - 2025.

Summary/Abstract

Decentralized identifiers (DIDs) are a new type of identifier for verifiable, self-sovereign digital identity. DIDs are fully under the control of the DID controller, independent from any centralized registry, identity provider, or certificate authority. DIDs resolve to DID Documents — simple documents that describe how to use that specific DID.

This document specifies the algorithms and guidelines for resolving DIDs and dereferencing DID URLs. Additionally, this document describes the input and output metadata related to the DID resolution processes and further describes the data structures that may be returned from a DID resolution request. This document relies on the core DID specification, Decentralized Identifiers (DIDs) v1.1, which describes the underlying DID architecture in full detail.



[JSON-LD] - Manu Sporny, Dave Longley, Gregg Kellogg, Markus Lanthaler, Pierre-Antoine Champin, Niklas Lindström - JSON-LD 1.1. - 2020.

Summary/Abstract

JSON is a useful data serialization and messaging format. This specification defines JSON-LD 1.1, a JSON-based format to serialize Linked Data. The syntax is designed to easily integrate into deployed systems that already use JSON, and provides a smooth upgrade path from JSON to JSON-LD. It is primarily intended to be a way to use Linked Data in Web-based programming environments, to build interoperable Web services, and to store Linked Data in JSON-based storage engines.

This specification describes a superset of the features defined in JSON-LD 1.0 and, except where noted, documents created using the 1.0 version of this specification remain compatible with JSON-LD 1.1.



[RFC4648] - Josefsson, S. - The Base16, Base32, and Base64 Data Encodings. - 2006.

Summary/Abstract

This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings.


[RFC6902] - Bryan, P. and Nottingham, M. - JavaScript Object Notation (JSON) Patch. - 2013.

Summary/Abstract

JSON Patch defines a JSON document structure for expressing a sequence of operations to apply to a JavaScript Object Notation (JSON) document; it is suitable for use with the HTTP PATCH method. The application/json-patch+json media type is used to identify such patch documents.


[RFC8785] - Rundgren, A. and Jordan, B. and Erdtman, S. - JSON Canonicalization Scheme (JCS). - 2020.

Summary/Abstract

Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the wire while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.

This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.



[SEC] - Certicom Research and Daniel R. L. Brown - Standards for Efficient Cryptography 1 (SEC 1): Elliptic Curve Cryptography. - 2009.

Summary/Abstract

This document specifies public-key cryptographic schemes based on elliptic curve cryptography (ECC). In particular, it specifies:
  • signature schemes;
  • encryption and key transport schemes; and
  • key agreement schemes.

It also describes cryptographic primitives which are used to construct the schemes, and ASN.1 syntax for identifying the schemes.

The schemes are intended for general application within computer and communications systems.



[SHA256] - {National Institute of Standards and Technology} - Secure Hash Standard (SHS). - 2015.

Summary/Abstract

This standard specifies hash algorithms that can be used to generate digests of messages. The digests are used to detect whether messages have been changed since the digests were generated.


[VC-DATA-INTEGRITY] - Dave Longley, Manu Sporny, Ivan Herman - Verifiable Credential Data Integrity 1.0. - 2025.

Summary/Abstract

This specification describes mechanisms for ensuring the authenticity and integrity of verifiable credentials and similar types of constrained digital documents using cryptography, especially through the use of digital signatures and related mathematical proofs.


[ZCAP-LD] - Christine Lemmer-Webber, Manu Sporny, Mark S. Miller - Authorization Capabilities for Linked Data v0.3. - 2025.

Summary/Abstract

Authorization Capabilities for Linked Data (ZCAP-LD for short) provides a secure way for linked data systems to grant and express authority utilizing the object capability model. Capabilities are represented as linked data objects which are signed with Linked Data Proofs. ZCAP-LD supports delegating authority to other entities on the network by chaining together capability documents. Caveats may be attached to capability documents which may be used to restrict the scope of their use, for example to restrict the actions which may be used or providing a mechanism by which the capability may be later revoked.