Hacker News new | past | comments | ask | show | jobs | submit login
Blockchains explained visually (part 1 of 2) (unwttng.com)
397 points by unwttng on Oct 18, 2017 | hide | past | favorite | 45 comments



> Toggle pointless gifs off

First time I've seen that. That should really be the standard for any author who decides to pepper their articles with 'memes' and other unrelated distractions.

Perhaps this is a cultural or generational thing that I am interpreting in the wrong way, but whenever I follow a link to a blog post filled with these kinds of distracting animated pictures I tend to just give up on the article after encountering the first one. I just can't fathom why someone who wishes to inform or enlighten readers on a certain topic feels the need to include a plethora of irrelevant distractions.

Nice to have a way to turn them off so I can give the article a chance based on its merits rather than the presence of memes.


If it's the first time you've seen it, can I recommend the article that started it a few weeks back https://unwttng.com/compression-decompressed


There was a lot of complaints a few weeks ago on an article with animated gifs. That person changed the homepage with a toggle, mabe it's the same person?


It's the same person! That person is me.


Hi Jack, thanks for the nice write up, I will happily revere people who like to understand some basics of the blockchain to it.

A pity you site does not (yet :P ) have an rss feed for I'd like to follow your efforts.


We want the shitcoin.com domain!


That's me. Maybe I'll do a no GIF version for my next review.


"I just can't fathom why someone who wishes to inform or enlighten readers on a certain topic feels the need to include a plethora of irrelevant distractions."

Preach brother. It's memes and puns everywhere. I default to considering them lame attempts at wit. A ploy for attention. I want to believe they serve a small intermission but that's never the case.

If you're going to settle for this style of writing make the image or gif context relevant -- perhaps an illustration relating to the subject matter. Anything else is simply a distraction.

Nice article otherwise.


The best explanation of blockchain has to be (unsurprisingly) 3Blue1Brown: https://www.youtube.com/watch?v=bBC-nXj3Ng4

Would highly recommend watching this video for anyone who hasn't already.


My favorite: https://www.youtube.com/watch?v=_160oMzblY8

It explains from ground up without getting complicated - it basically demystifies the whole thing completely

i give this to everyone - even to non technical people


I've seen this before and it's so awesome. Best block chain explanation I've ever come across (much better than 3blue1brown imo).


Thank you! I enjoyed the video and was able to understand better the basics of cryptocurrencies by watching it.


What a great video. Explaining the database model of blockchain without all the scripture.


Where is part 2? :)


There's also the oldie but goodie James D'Angelo Bitcoin 101 videos, the blockchain one is https://www.youtube.com/watch?v=gUwXCt1qkBU

The elliptic curve one is fascinating, where he has it implemented in like 30 lines of Python and no outside dependencies: https://www.youtube.com/watch?v=iB3HcPgm_FI

Edit: EC is a 2-part, second part is https://www.youtube.com/watch?v=U2bw_N6kQL8


I second this. This was the explanation where I finally understood the big picture of ledgers, blockchain & proof of work


I was about to write the same thing. The 3b1b video is my gold standard for blockchain explanations. I also have high hopes for his ongoing neural network series[0], but haven't yet found time to watch the first two videos.

[0]https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_6700...


Thanks, will watch! I'm interested in learning Blockchain dev myself, and listened to this a couple of days ago on my commute. Found it very good:

https://softwareengineeringdaily.com/2017/10/12/blockchain-b...


I came here to post the same link! I'm always amazed at the number of programmers who pooh pooh blockchains as a fad (they probably are a bit oversold at the moment) but when they realize what they are and how they work, go hmm.


Absolutely agree with this. It's a shame that for the moment such a revolutionary technology is getting so tied up with _super_ shady stuff. For every 10 awful Ponzi ICOs there's a real gem of someone using new tech to really try and push boundaries.


I wouldn't worry about it. This phenomenon is true, maybe to a lower degree of mania, for technologies past (trains, exploration, gold rushes, every tech bubble) and present (crispr, biologics)


Me too!


This part of the blockchain always made perfect sense to me. The magic is in the proof of work and proof of stale stuff as well as smart contracts.


I think the logical split I've made between those two areas is a good one since people tend to be in one of two camps in terms of how comfortable they are with all this. Hopefully I can do justice to the second part.


> See how the hash-chaining mechanism of a blockchain means that even a single corrupt or tampered-with block will invalidate the entire chain after it.

Is that strictly required to understand that the entire chain is invalidated? Since blocks are in order, if block X's previous hash doesn't check out, can't we just assume that every block thereafter is also invalid? Effectively a fork has happened at X-1 block.

I'm guessing there are more dynamics (speed?) that come into this. Maybe the following questions will make it more clear:

1. How do the blocks update when there is a change in a past block?

2. In the real world, what process does a node use to validate the chain on an ongoing basis?


Someone can mine and broadcast blocks that reference an old block, nodes will store the block, in case more are published and it becomes the longest chain, but will otherwise ignore it.



I always read that crypto currencies will replace money, because they are distributed.

But does a blockchain, that is at the core of every(?) crypto currency really scale well?

Keeping the whole ledger constantly available seems rather storage and traffic intensive to me.


tl;dr no. Bitcoin has a theoretical limit of 7 transactions/sec (or 4200/10min) for everyone in the world. Ethereum can do up to about 14-16 tx/sec.

There are plans to fix this - sharding on Ethereum, Lightning Network on Bitcoin - but both are largely vaporware at this stage.

In practice, a lot of the transaction action happens inside the individual exchanges, not on the blockchain itself - so we already have a "level 1" and "level 2" system.

Also, there's issues of securing your bitcoins - "be your own bank" means "be your own extremely knowledgeable chief security officer". This is why even a lot of big holders keep a lot of money on exchanges (and lost lots in Mt. Gox). And why losses due to human error are extremely common.

The blockchain is more interesting than useful.


"In practice, a lot of the transaction action happens inside the individual exchanges, not on the blockchain itself - so we already have a "level 1" and "level 2" system."

Can you expand on this a bit? Is it somewhat analogous to the role that dark pools play in the stock market?


By quantity a hell of a lot more individual trades happen on the exchanges than on chain. It's not hidden - just not as radically transparent as on-chain transactions. But obviously harder to gather data on, has none of the blockchain's cryptographic guarantees, etc. It turns out the actual traders care more about getting a good price than the ideological basis for the blockchain. And that's even in a situation where you can't really trust the exchanges - rife with insider trading, wash trades, front running, spoofing, whether a Tether can be counted as a dollar, etc., things that are highly illegal in normal security trading. As long as the number keeps going up, everyone seems okay with this.


One thing that never clicked with me before is that the blockchain is really just a historical ledger, its not actually referenced in real time. When you send a transaction out on the network, nobody is actually validating it against the blockchain. Instead every node is expected to process the blockchain to produce a realtime database called the UXTO which provides a fast lookup to tell you if coins can be spent or not. So the blockchain is a history or transactions, while the UXTO is a statement of all current balances.

So while the BTC blockchain is 137 GB in size, the UXTO is only 2.7 GB which easily fits in memory.


And you really only need to track UXTO for your own address if you're not a full node, and that will be very small.


> hexadecimal notation (that is, using 0-9 and a-z)

should be hexadecimal notation (that is, using 0-9 and a-f)


That jumped out at me too. At first I thought, "does the author not understand how hexadecimal works, or is this merely a case of sloppiness or imprecision in his description?" Then I got to the part that said:

> There shouldn't be loads of them that start with an "A", or loads that end with ten "X"s, or anything like that.

This leads me to further doubt about the author's grasp of hexadecimal.


IEEE Spectrum has a special report about blockchains:

https://spectrum.ieee.org/static/special-report-blockchain-w...

It goes into permissioned ledgers and smart contracts, among other applications.


Something I noticed, but didn't see in the article (unless I just missed it). In reference to the security part at the end, if the hash only included the previous block's data, and not its previous hash. If you could edit two consecutive blocks you could change, say, block 2's data and block 3's previous hash. Now everything looks fine because this doesn't change block 3's data so block 4's previous hash looks fine and everything looks legit. Seems like a greater concern than breaking the chain because it wouldn't be detected unless you compared two versions of the chain.


this is still my favorite https://anders.com/blockchain/


yup, I was able to implement a basic blockchain at once the moment I watched that demo.


Skip this article (which hilariously tries to rename and redefine a hash properties) and play with this instead: https://anders.com/blockchain/


I just would like to say thanks to the author for spending his time on this article. I found it very well written and I look forward to seeing part 2. I recommend this article to everyone who asks me about the blockchain technology.


Nice.

You should probably mention that what you are describing is a variant of a Merkle tree.

https://en.wikipedia.org/wiki/Merkle_tree


FYI, in the first paragraph you misspelled Ethereum as "Etherium".


Nice and eloquent! Will read also other articles.


"it's quite customary to represent hashes in hexadecimal notation (that is, using 0-9 and a-z) - that's what we'll use in this article." -- hexadecimal is 0-9 and a-f




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: