It's not a blockchain, but a single writer Merkle DAG. No consensus necessary. Much like a git repository with a single author.
It's not a blockchain, but a single writer Merkle DAG. No consensus necessary. Much like a git repository with a single author.
[1] https://www.vice.com/en/article/j5nzx4/what-was-the-first-bl...
What if the hash is published in multiple newspapers.
Or simply a 'hash chain':
> A hash chain is similar to a blockchain, as they both utilize a cryptographic hash function for creating a link between two nodes. However, a blockchain (as used by Bitcoin and related systems) is generally intended to support distributed agreement around a public ledger (data), and incorporates a set of rules for encapsulation of data and associated data permissions.
* https://en.wikipedia.org/wiki/Hash_chain
Or perhaps:
> Linked timestamping creates time-stamp tokens which are dependent on each other, entangled in some authenticated data structure. Later modification of the issued time-stamps would invalidate this structure. The temporal order of issued time-stamps is also protected by this data structure, making backdating of the issued time-stamps impossible, even by the issuing server itself.
* https://en.wikipedia.org/wiki/Linked_timestamping
An(other) example of the latter:
This document describes a mechanism, called syslog-sign in this
document, that adds origin authentication, message integrity, replay
resistance, message sequencing, and detection of missing messages to
syslog. Essentially, this is accomplished by sending a special
syslog message. The content of this syslog message is called a
Signature Block. Each Signature Block contains, in effect, a
detached signature on some number of previously sent messages. It is
cryptographically signed and contains the hashes of previously sent
syslog messages. The originator of syslog-sign messages is simply
referred to as a "signer". The signer can be the same originator as
the originator whose messages it signs, or it can be a separate
originator.
* https://datatracker.ietf.org/doc/html/rfc5848* https://csrc.nist.gov/publications/detail/nistir/8202/final
Figure 6 is a good flowchart on helping a person decide whether it's a good solution for particular use cases. See "Distributed ledger need: blockchain, block matrix, or none?" at the bottom of:
* https://csrc.nist.gov/Projects/enhanced-distributed-ledger-t...
That's a flawed understanding all the way around.
I don’t understand.
My understanding of the Merkle Tree is that it’s a recursive hash, but the leaf nodes are the data, each layer up the tree is the hash of the child nodes.
In a merkle tree, only the leaf nodes store (or reference) data, everything else is just a hash.
Is there another merkle structure I don’t know about?
https://en.wikipedia.org/wiki/Merkle_tree
If the nodes with hashes contain data, it’s not a merkle tree.
I mean, you’re not wrong but it’s still a linked list.
I’d be careful muddying up your mental models this way though - they’re distinct data structures for distinct purposes.
You would likely not want to use a merkle tree for an append only log, and likely would not want to use a blockchain for verifying file integrity.
For example, BitTorrent, IPFS, and Storj use merkle trees to verify and discover blocks on the DHT, you would not want to use a blockchain for this.
And Scuttlebutt uses a blockchain as an append only log that is gossip friendly, you would not want to use a merkle tree for this.
A Block-Chain is a chain of blocks where there is one valid previous block and one valid next block.
A Block-Tree is a chain of blocks where there is one single valid previous block, and multiple valid next blocks.
A Block-DAG is a chain of blocks where there are multiple valid next blocks and multiple valid previous blocks, with the constraint that you can not form cycles.
They are analogues to linked-lists, trees, and directed-acyclic-graphs but with chained hashes.
From the Merkle-DAG article on the IPFS page:
> Merkle DAGs are similar to Merkle trees, but there are no balance requirements, and every node can carry a payload. In DAGs, several branches can re-converge or, in other words, a node can have several parents.
What's interesting here is that a Merkle Tree is a valid Merkle DAG, since a node can _optionally_ include a data payload. So a blockchain, a blocktree, and a blockdag are all also Merkle-DAGs. Merkle-DAG is a kind of unifying structure that can be used to model all of them.
It's really quite clever.
https://docs.ipfs.tech/concepts/merkle-dag/
This appears to have been coined in 2014: https://github.com/jbenet/random-ideas/issues/20
However the term blockchain dates back to at least 2008.
A blockchain might be a Merkle-DAG but a Merkle-DAG is not a blockchain.
But shouldn't we want decentralized consensus for this?
What if NIST's key(s) were to get compromised, or the org were to disband or become corrupt/dysfunctional?
Hmm. Just because something's a Merkle DAG doesn't make it useable on the Internet. A single-writer blockchain, perhaps?
Do you have another definition?
Colloquially, it often refers to a consensus algorithm paired with a chain of blocks.
Bitcoin’s innovation wasn’t a blockchain, it was a proof-of-work backed consensus algorithm that allowed a group of adversarial peers to agree on the state of a shared blockchain datastructure.
The distinction here might be with a decentralized network.
Which can change.
There also is centralized proof-of-work blockchains. Clouds were offering them awhile back and IBM had some offering.
What is colloquially even susposed to mean here? That the common usage doesn't match the definition? Maybe definitions change over time....