Blockchains from the ground up: Part 1(johnmathews.eu)
johnmathews.eu
Blockchains from the ground up: Part 1
http://johnmathews.eu/blockchain-introduction.html
40 comments
The Minimum Viable Blockchain (https://www.igvita.com/2014/05/05/minimum-viable-block-chain...) is by far the best introduction to blockchain I have read.
I always find this introduction (including a "live demonstration") by Anders Brownworth very illustrative: https://anders.com/blockchain/
This is a great video/site. After watching this, it made me think how amazing the blockchain would be if our accounting and trading systems were built on top of it. As a programmer outside the financial services sector, it seems to me something like this has to be the future. But it would be really interesting to see what quants and others in the field think.
Back in 2008 I invented an algorithm for tree structures where the definition of the hash of any node, was "the hash of hashes of all its immediate children". I had invented a way to do 'tree node comparisons' where any time two tree nodes on a tree had the same 'hash' i knew the content (recursively deep into the tree) of those nodes was identical. I never went forward on that algorithm, because i knew it meant each time a tree node was modified, the hash of all it's parents (i.e. path to root), had to be recalculate. But I had explained it to several developers who were all amazed by it. It now realize I had invented blockchain. I am pretty sure i'm not the first one to realize hashing actual hashes (in a recursive or chained way) is a powerful concept. I may add this to my current project SubNode (sbnode.com), and I could pivot that app into a blockchain technology!
I think Merkle got there first, in about 1979 or so.
https://en.m.wikipedia.org/wiki/Merkle_tree
https://en.m.wikipedia.org/wiki/Merkle_tree
It's a nice strike against software patents though, probably every programmer interested in data structures goes through a whole series of these independent inventions.
To award a patent to someone just because they thought of it first is ridiculous.
To award a patent to someone just because they thought of it first is ridiculous.
I'm no lawyer, but they really need to outlaw patents on 'general purpose' technologies. Adam Carolla famously got sued for owning a podcast company, when someone claimed to have a patent on the entire concept of "downloadable audio". I think there should be a one year jail term for anyone who files a suit about something that ends up being determined "general purpose" technology. Would end the nonsense overnight.
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 tell me the DIFFERENCE between a tree and a linked list. lol. Gotta love social media.
I'm sure there's at least one arse who'll tell me the DIFFERENCE between a tree and a linked list. lol. Gotta love social media.
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.
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.
He'd also be the true inventor of Git then. It's a widely useful data structure.
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.
Yes. I think that there a bunch of interesting ideas in blockchain technology, not all of which are necessarily new, but they are often new to the blog writer and/or audience. So introductory articles often focus on those basic concepts, which leads to this confusion
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.
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.
I keep forgetting this exists. The video is damn good at explaining how blockchain overall. I think the strongest bit, is showing how data manipulation is easily detectable.
This is fantastic. Great explainer for both tech and non-tech alike. Thanks for sharing.
I found this very clear and accessible
wow. That Anders video is definitely the best description/explanation of blockchain I've ever seen.
Here is a really great video [1] which really made blockchains click for me. I believe this was posted on HN a while back.
[1] https://anders.com/blockchain/
[1] https://anders.com/blockchain/
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" <- John encrypts this line using his private key
This isn't how message signing works. It has all the problems you described in the first part, before you introduced asymmetric encryption.
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" <- John encrypts this line using his private key
This isn't how message signing works. It has all the problems you described in the first part, before you introduced asymmetric encryption.
Thanks, I corrected the post.
I've found this a really clear and helpful explanation of blockchain concepts in the past: http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-a...
One thing that bothers me about all blockchain demos or tutorials is that they work on the concept of tracking outputs of transactions rather than just maintaining state.
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.
It uses IPFS to store encrypted mail messages. Right now its free, but eventually, you will have to pay for the storage of emails.
What point would serve other than increasing latency, and vastly increasing storage and network requirements?
> Wouldn't that be a solid evolution forward, in terms of human communication?
How so?
How so?
No spam, no solicitation, you know whose line (email) you're picking up, and whom you're dialing (sending).
fergazen(2)