13 ms·
Blockchains from the ground up: Part 1
- dostovskk 9y agoThe Minimum Viable Blockchain (https://www.igvita.com/2014/05/05/minimum-viable-block-chain/ https://www.igvita.com/2014/05/05/minimum-viable-block-chain...) is by far the best introduction to blockchain I have read.
- jcfrei 9y agoI always find this introduction (including a "live demonstration") by Anders Brownworth very illustrative: https://anders.com/blockchain/ https://anders.com/blockchain/
- AngelloPozo 9y agoI 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.
- jfaucett 9y agoThis 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.
- fergazen 9y agoBack 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!
- pacaro 9y agoI 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
- jacquesm 9y agoIt'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.
- fergazen 9y agoI'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.
- fergazen 9y agoVery 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.
- komaromy 9y agoHe'd also be the true inventor of Git then. It's a widely useful data structure.
- 9y ago
- fergazen 9y agowow. That Anders video is definitely the best description/explanation of blockchain I've ever seen.
- bernardlunn 9y agoI found this very clear and accessible
- rorykoehler 9y agoThis is fantastic. Great explainer for both tech and non-tech alike. Thanks for sharing.
- jkbbwr 9y agoOne 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.
- ksuehu_sueu 9y agoBrook vs Spence Live Stream Free https://voat.co/v/news/1893996 https://voat.co/v/news/1893996
- avenoir 9y agoHere 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/ https://anders.com/blockchain/
- webwanderings 9y agoIs there a Blockchain email system? Wouldn't that be a solid evolution forward, in terms of human communication?
- TylerE 9y agoWhat point would serve other than increasing latency, and vastly increasing storage and network requirements?
- PretzelPirate 9y agoThere is: https://www.reddit.com/r/ethereum/comments/68tyhn/lemonmail_dapp_a_decentralized_email_service/ 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.
- runeks 9y ago> Wouldn't that be a solid evolution forward, in terms of human communication? How so?
- webwanderings 9y agoNo spam, no solicitation, you know whose line (email) you're picking up, and whom you're dialing (sending).
- Niksko 9y agoI've found this a really clear and helpful explanation of blockchain concepts in the past: http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/ http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-a...
- benchaney 9y agoThis 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.
- mthwsjc_ 9y agoThanks, I corrected the post.
- fergazen 9y agoThe 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 https://github.com/lhartikk/naivechain
- benchaney 9y ago> 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.
- fergazen 9y agoI 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-code-963cc1cc0e54 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.
- lawrenceyan 9y agoYou'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.