Main menu

Monthly Archives: May 2019

§5.8612 — Decentralization
of the ledger requires massive multiplication, and thus an effective method of
compression. Only in this way does it become tractable to distributed,
modestly-sized nodes. The crucial computer science innovation in this regard is
the Merkle Tree. The capabilities drawn upon date back over a decade before
linked timestamping, with Ralph Merkle’s original hash tree patent was granted
in 1979.[1]

§5.86121 — Hashes are
economizations.[2] They
reduce the cost of checking, by securely summarizing units of data, and
therefore cheapen the process of verification. Any radically decentralized (open
fully-peer-to-peer) network is necessarily trustless, since it connects
strangers in the absence of validating authorities. Consisting of both
massively redundant distributed databases and numerous untrusted nodes, checking is at once especially inconvenienced,
and especially necessary.

§5.86122 — As their name suggests, Merkle Trees map an order of proliferation, typically – though not necessarily – modeled by successive bifurcation. Their function, however, is the precise inverse of tree-like exponential growth. A Merkle Tree works towards its roots, in increments of convergence. As users proceed down the tree, hashes of network content are bundled, recursively, into ever more comprehensive groups. The ‘root’ or (confusingly) ‘top hash’ over-hashes the entire tree. It thus serves as a concise compendium for the entire network, against which the hash of any file (or block) can be conveniently checked. Recursive hashing – hashes of hashes of (ever more) hashes – is the principle of the ‘tree’.

§5.86122 — Cryptographic hashing has a peculiarly intimate[3] relationship with cryptocurrency, and thus with money as such in its emergent characteristics. This is in part, and primarily, because the hash is the privileged semiotic of singularity – to the extent that ‘hash collision’ is calamitous for it. Hashing therefore tends to affinity with the allocative or economic sign.

[1] Ralph Merkle’s hash-tree patent (US4309569A) is titled a “Method
of providing digital signatures”. Its abstract (in full) runs: “The invention
comprises a method of providing a digital signature for purposes of
authentication of a message, which utilizes an authentication tree function of
a one-way function of a secret number.” The description that follows expands
upon its potential applications. “The present invention has been described with
respect to authentication of signatures. However, its use is not limited to
signatures. It may be used to authenticate a piece of information in a list of
information, or one item in a list of items.”

The patent can be accessed online at:
https://patents.google.com/patent/US4309569

§5.8611 — Even
before timestamps were conceptually, and then practically, linked, a timestamp was already a ‘trusted
timestamp’ if it was anything. Verifiable dating of digital documents poses a
problem closely analogous to that of digital money, brought to a point of
criticality by the ease of perfect replication. In both cases, initial
solutions involved procedures of formal vouching by trusted third parties. For
timestamps, the role of supervised banks is taken by Time Stamping Authorities
(TSAs).[1]
Public Key Cryptography is employed to render time-stamps indelible – resistant
to modification by anyone accessing the document in question, including its
creator.

§5.86111 — Linked
timestamping draws primarily on work by Haber and Stornetta, dating back to the
beginning of the 1990s.[2]
This work was directed towards secure notarization, which is to say the
verification – within a digital environment – of a document’s historical
existence, with special reference to questions of priority. A facility of this kind has obvious relevance to legal
documents, such as contracts and intellectual property claims. Linking timestamps
adds dynamic to the procedure, by extending it to digital entities undergoing
successive modification, such as changing inventories, and accounts. At each
(discrete) stage of transformation, an additional timestamp is signed, or (in
later versions) hashed, constituting a chain,
pointing into an increasingly edit-resistant past. Each timestamp in the chain
envelops the preceding series. It thus establishes public order, or absolute succession, in which the past is
uncontroversial, and secure. As Satoshi Nakamoto notes in the Bitcoin paper, “Each
timestamp includes the previous timestamp in its hash, forming a chain, with
each additional timestamp reinforcing the ones before it.”

§5.86112 — A series
of linked timestamps is already, at least in embryo (or larva), a ‘block-chain’.
The stamps operate as irreducible moments, whose order is settled (immanently)
by embedding. Their time is sheer order, without cardinality. Any timestamping
system nevertheless inherits a time-keeping procedure, amounting to a
fully-functional calendar, whose granulated ‘dates’ it competently codes. Unix
time is the most widely applied system of this kind. Bitcoin adopts it.[3]

§5.86113 — Taking
timestamping into trustlessness was a development that had to await Bitcoin.[4]
While linked timestamping provides the basic architecture for secure
(edit-resistant) ledgers, their robust decentralization depends upon additional
cryptographic advances, supporting validation, compression, and consensus.

[1] As the Internet
Society remarks in 2001, in proposing the RFC 3161 Internet X.509 Public Key
Infrastructure Time-Stamp Protocol: “In order to associate a datum with a
particular point in time, a Time Stamp Authority (TSA) may need to be used.
This Trusted Third Party provides a ‘proof-of-existence’ for this particular
datum at an instant in time.”

[3] Unix time counts
forwards, in seconds, from 00:00:00, January 1, 1970, (a Thursday). It ignores
leap seconds, treating the length of each day as 86,400 seconds. It therefore
gradually drifts from Universal Time.

When encoded in 32-bit format this time system reaches (Y2K-type)
crisis on January 19, 2038. This poses no direct threat to Bitcoin, which
employs a fully future-competent 64-bit Unix time code.