Merkle trees and SPV, as explained by Dr. Craig Wright

Merkle trees and SPV, as explained by Craig Wright

The Merkle tree concept, one that allows computers to verify information efficiently and without the need for extraneous data, was integrated into Bitcoin when it was first designed by Satoshi Nakamoto. The idea was to make digital currency’s use as a fiat alternative as simple and straightforward as possible, and incorporating the Merkle tree into the simplified payment verification (SPV) system does just that. Dr. Craig Wright, who has long been linked to the man the cryptocurrency world knows as Satoshi, breaks down the Merkle tree and its use in SPV in a new blog post in an effort to show why it’s the ideal solution.

Another way to view Merkle trees is to consider them as hierarchical data structures that allow a collection of data to be securely verified in less time than with conventional verification procedures. Even Visa and Mastercard have to be able to verify transactions and the availability of funds to cover those transactions, and the ability to reach that same level of speed with blockchain transactions is possible with SPV and the Merkle tree.

Wright adds, “The primary function of a Merkle tree is to verify that some data packet D_i is a member of a list or set of N data packets D ∈ {D_1, … , D_N}. The mechanism for verification is known as a Merkle proof, and consists of obtaining a set of hashes known as the Merkle path for a given data packet D_i and Merkle root R. The Merkle path for a data packet is simply the minimum list of hashes required to reconstruct the root R by way of repeated hashing and concatenation, often referred to as the authentication path. A proof of existence could be performed trivially if all packets D_1, … , D_N are known to the prover, which does, though, require a much larger storage overhead than the Merkle path and that the entire data set is available to the prover.”

This was first identified in the original Bitcoin whitepaper, and is the basis of Bitcoin SV (BSV) transactions. Wright explains that these techniques, using the Merkle tree system, allows for SPV to be implemented efficiently and securely, which is why BSV is able to scale while all other blockchains cannot. It also provides the necessary foundation to allow verification of transactions to make BSV a true peer-to-peer solution.

Wright adds, “[T]he present invention requires that the necessary SPV check be performed on a transaction’s inputs prior to its broadcast. The shift in emphasis greatly reduces the burden and traffic on the network in dealing with invalid transactions… SPV checks that remove such burden on the network, by stipulating the lightweight Bitcoin client where users keep, maintain, or at least have access to their own copies of Merkle paths pertinent to the unspent transaction outputs owned by them, allow Bitcoin to scale.”

Read Dr. Craig Wright’s new blog post, Merkle Trees and SPV, here.

New to Bitcoin? Check out CoinGeek’s Bitcoin for Beginners section, the ultimate resource guide to learn more about Bitcoin—as originally envisioned by Satoshi Nakamoto—and blockchain.