BIP proposal: Authenticated prefix trees



Summary:

Bitcoin developer Mark has drafted a Bitcoin Improvement Proposal (BIP) for a new Merkle-compressed data structure. The authenticated prefix tree is ideally suited for encoding key-value indices that support memory-efficient proofs. The binary prefix tree defined by the BIP is a hybrid PATRICIA / de la Brandais tree structure, which compresses long sequences of non-branching nodes into a single interior node with a per-branch skip prefix. The serialized size of a non-branching interior node is reduced below the SHA-256 block size, reducing the number of hash operations required to perform updates and validate proofs. The authenticated prefix tree is suitable for committed validation indices, which enable stateless mining nodes, committed wallet indices enabling trust-less querying of the unspent transaction output set by scriptPubKey, efficient document time-stamping, and secure & efficient merged mining.This article discusses two variations of the authenticated prefix tree presented in draft BIP, which differ only in the way hash values of a node and its left/right branches are constructed. The variations trade off computational resources for the ability to compose operational proofs. The first variation is level-compressed hashing, where the referenced child node's hash is used in construction of an interior node's hash digest. The second variation is proof-updatable hashing, where level-compressed branches are expanded into a series of chained single-branch internal nodes, each including the hash of its direct child.An inclusion proof is a prefix tree pruned to contain a subset of its keys. The article also explains how the serialization of an inclusion proof and an operational proof takes place and how they can be encoded in base64 format for display and transport.The context provided is a PGP signature, which is used for verifying the authenticity of digital messages. It is a cryptographic protocol that provides end-to-end encryption for secure communication. The signature contains a long string of alphanumeric characters and symbols, which represent encrypted data.PGP signatures are typically used in email communication to verify that the message has not been tampered with during transmission. The signature is generated by the sender using their private key, and can be verified by the recipient using the sender's public key. In addition to email, PGP signatures can also be used in other forms of digital communication, such as instant messaging and file sharing.They provide a secure way to ensure that messages and files have not been altered or intercepted by unauthorized parties. Overall, PGP signatures are an important tool for ensuring the security and privacy of digital communication. They provide a layer of protection against hacking and interception, and allow users to communicate with confidence that their messages are safe from prying eyes.


Updated on: 2023-06-07T22:47:03.344283+00:00