Live data from Hacker News

Blockchains from the ground up: Part 1

johnmathews.eu

21–30 of 41 posts

Re: Blockchains from the ground up: Part 1

#21

Earlier quoted context omitted.

Merkel WAS a genuine innovation, and it DOES collapse into plain blockchain if all 'nodes' on a given tree have one child, because in this case the directed graph (tree) is a linked list. If the key innovation in both structures were not the same then your snarkyness would have been appropriate.

The point is that there is more to blockchain technology than just Merkle trees, I think. Just focussing on the underlying datastructure is like saying filesystems are just B trees or something.

The Wikipedia article on blockchain has this sentence: "From the technical point of view a blockchain is a hashchain inside another hashchain", and that sums it up. The actual blockchain algorithm itself is as simple as that. Period. Full stop.

Of course, most actual APPLICATIONS of blockchain also ADD ON a lot of other concepts, like distributed ledger, distributed consensus, etc. Trust me, i'm not the guy in this conversation confusing algorithms with applications.

Re: Blockchains from the ground up: Part 1

#22
post #9

Earlier quoted context omitted.

I think Merkle got there first, in about 1979 or so. https://en.m.wikipedia.org/wiki/Merkle_tree

Very interesting, thanks. I had never heard of Merkle Tree. Since a linked list is merely a special case of a 'tree structure' (i.e. one where there is always only one child), we can consider Merkle to be the true 'inventor' of blockchain. However, really the concept is so simple and obvious that I wouldn't be surprised if Babbage/Lovelace era folks had written papers on it. I'm sure there's at least one arse who'll…

A linked list is a special case of a tree structure, but a blockchain is not a special case of a Merkle tree. If you considered the special case of a Merkle tree that was just a list it would be both useless, and not a blockchain.

Edit: Its worth pointing out that the main innovation of the 2008 paper by Nakamoto introducing the concept of blockchain's wasn't just storing things in a linked list based on hashes. It was the Sybil tolerant distributed consensus algorithm. Most people include that in the definition of a blockchain.

Re: Blockchains from the ground up: Part 1

#25
This article has a few issues.

First, you spend the first half of the article explaining a signature scheme that isn't based on cryptography. It isn't really clear what that part of the article is actually about.

> "Signed by John" This isn't how message signing works. It has all the problems you described in the first part, before you introduced asymmetric encryption.

Re: Blockchains from the ground up: Part 1

#26
The simplest implementation of a blockchain would be about 100 lines of Java code (assuming simple CRC hash). It's a linked list where each node rehashes not only that node's data but also the hash from the prior node. I'm sorry, but that's the actual definition.

You should send some snark towards this guy, since that's your core skillset:

https://github.com/lhartikk/naivechain

Re: Blockchains from the ground up: Part 1

#27

Is there a Blockchain email system? Wouldn't that be a solid evolution forward, in terms of human communication?

There is: https://www.reddit.com/r/ethereum/comments/68tyhn/lemonmail_...

It uses IPFS to store encrypted mail messages. Right now its free, but eventually, you will have to pay for the storage of emails.

Re: Blockchains from the ground up: Part 1

#28

The simplest implementation of a blockchain would be about 100 lines of Java code (assuming simple CRC hash). It's a linked list where each node rehashes not only that node's data but also the hash from the prior node. I'm sorry, but that's the actual definition. You should send some snark towards this guy, since that's your core skillset: https://github.com/lhartikk/naivechain

> The simplest implementation of a blockchain would be about 100 lines of Java code (assuming simple CRC hash). It's a linked list where each node rehashes not only that node's data but also the hash from the prior node. I'm sorry, but that's the actual definition.

That's your definition. It isn't the definition that most people use. It isn't clear to me why you think your definition is the definitively correct one, but feel free to enlighten me.

Edit: Also, I think you misunderstood my previous post. Even using your unconventional definition of block chain, the special case of a Merkle tree with only one child per node is something else entirely.

Re: Blockchains from the ground up: Part 1

#29

The simplest implementation of a blockchain would be about 100 lines of Java code (assuming simple CRC hash). It's a linked list where each node rehashes not only that node's data but also the hash from the prior node. I'm sorry, but that's the actual definition. You should send some snark towards this guy, since that's your core skillset: https://github.com/lhartikk/naivechain

> The simplest implementation of a blockchain would be about 100 lines of Java code (assuming simple CRC hash). It's a linked list where each node rehashes not only that node's data but also the hash from the prior node. I'm sorry, but that's the actual definition. That's your definition. It isn't the definition that most people use. It isn't clear to me why you think your definition is the definitively correct one,…

I just wonder what goes on in your mind when you try to ponder the phrase "simplest possible blockchain"...because you don't think there's a specific single characteristic of a "blockchain", but there actually is.

Here's another for ya:

https://medium.com/@lhartikk/a-blockchain-in-200-lines-of-co...

Regarding Merkle: Even the Wikipedia page on "blockchain" explains the Merkle connection and it's precisely what I said, and the Merkle Wiki page says: "Hash trees are a generalization of hash lists and hash chains.", which was also my point.

Re: Blockchains from the ground up: Part 1

#30

Earlier quoted context omitted.

> The simplest implementation of a blockchain would be about 100 lines of Java code (assuming simple CRC hash). It's a linked list where each node rehashes not only that node's data but also the hash from the prior node. I'm sorry, but that's the actual definition. That's your definition. It isn't the definition that most people use. It isn't clear to me why you think your definition is the definitively correct one,…

I just wonder what goes on in your mind when you try to ponder the phrase "simplest possible blockchain"...because you don't think there's a specific single characteristic of a "blockchain", but there actually is. Here's another for ya: https://medium.com/@lhartikk/a-blockchain-in-200-lines-of-co... Regarding Merkle: Even the Wikipedia page on "blockchain" explains the Merkle connection and it's precisely what I said…

You're digging too deep into things. The technicalities of what a blockchain are fundamentally semantical. Most people when referencing "the blockchain" are also implying the portion relating decentralized trustless consensus. So the "simplest possible blockchain" would also require that component.
Post reply on HN