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

Bitcoin-Core17 Bitcoin Core
Developers, Bitcoin Core — 08-2025 ▼ Abstract
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.
BIP32116 URI Scheme
Corallo, Matt — 11-2024 ▼ Abstract
Abstract
This document proposes a URI scheme for describing Bitcoin payment instructions.
BIP3278 MuSig2 for BIP340-compatible Multi-Signatures
Jonas Nick, Elliott Jin, Tim Ruffing — 03-2022 ▼ Abstract
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.
BIP34013 Schnorr Signatures for secp256k1
Pieter Wuille, Tim Ruffing, Jonas Nick — 01-2020 ▼ Abstract
Abstract
This document proposes a standard for 64-byte Schnorr signatures over the elliptic curve secp256k1.
BIP340-Cryptosuite6 Data Integrity BIP340 Cryptosuites
Abramson, Will — 08-2025 ▼ Abstract
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.
BIP35018 Bech32m format for v1+ witness addresses
Wuille, Pieter — 12-2020 ▼ Abstract
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.
CONTROLLED-IDENTIFIERS14 Controlled Identifiers v1.0
Dave Longley, Markus Sabadello, Drummond Reed, Orie Steele, Christopher Allen, Manu Sporny — 05-2025 ▼ Abstract
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-CORE2 Decentralized Identifiers (DIDs) v1.1
Manu Sporny, Markus Sabadello, Drummond Reed, Orie Steele, Christopher Allen, Dave Longley — 03-2026 ▼ Abstract
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-RESOLUTION3 Decentralized Identifier Resolution (DID Resolution) v1
Stephen Curran, Joe Andrieu — 08-2026 ▼ Abstract
Abstract
Decentralized identifier (DID) resolution is the process of obtaining a DID document and accompanying metadata for a specific DID. The process takes a DID and a set of resolution options as its input and returns a DID document and associated metadata about the resolved document and the resolution request. A resolved DID document is a set of information which enables cryptographically verifiable interactions with the DID subject, including mechanisms such as cryptographic public keys. This specification covers the algorithms and guidelines to be used for DID resolution and relies on the core DID specification, Decentralized Identifiers (DIDs) v1.0, which describes the underlying DID architecture in full detail.
ECMA-26212 ECMAScript 2025 Language Specification
International, Ecma — 06-2025 ▼ Abstract
Abstract
ECMA-262, 16th Edition (ECMAScript 2025) defines the ECMAScript general-purpose programming language, including the URI handling functions encodeURIComponent() and decodeURIComponent() that escape and unescape components of Uniform Resource Identifiers.
JSON-LD9 JSON-LD 1.1
Manu Sporny, Gregg Kellogg, Markus Lanthaler, Pierre-Antoine Champin, Niklas Lindström, Dave Longley — 07-2020 ▼ Abstract
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.
RFC464811 The Base16, Base32, and Base64 Data Encodings
Josefsson, S. — 10-2006 ▼ Abstract
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.

Organization

Internet Engineering Task Force
RFC69024 JavaScript Object Notation (JSON) Patch
Bryan, P.; Nottingham, M. — 04-2013 ▼ Abstract
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.

Organization

Internet Engineering Task Force
RFC878520 JSON Canonicalization Scheme (JCS)
Rundgren, A.; Jordan, B.; Erdtman, S. — 06-2020 ▼ Abstract
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.

Organization

Internet Engineering Task Force
SEC7 Standards for Efficient Cryptography 1 (SEC 1): Elliptic Curve Cryptography
Research, Certicom; Brown, Daniel R. L. — 05-2009 ▼ Abstract
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.

Organization

Standards for Efficient Cryptography Group (SECG)
SHA25610 Secure Hash Standard (SHS)
National Institute of Standards and Technology — 08-2015 ▼ Abstract
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.

Organization

NIST
VC-DATA-INTEGRITY5 Verifiable Credential Data Integrity 1.0
Dave Longley, Ivan Herman, Manu Sporny — 05-2025 ▼ Abstract
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-LD15 Authorization Capabilities for Linked Data v0.3
Christine Lemmer-Webber, Mark S. Miller, Manu Sporny — 08-2025 ▼ Abstract
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.