Ask HN: What's the best way to learn about the blockchain?

259 points by moksha256 ↗ HN
Every book I've come across is rated poorly for being superficial.

The one I've tried to read most recently (Mougayar's The Business Blockchain) also felt kind of superficial.

I'm interested in both technical foundation and practical/business applications.

Any books, videos, courses, or other resources you recommend?

76 comments

[ 3.6 ms ] story [ 133 ms ] thread
Everything in Bitcoinlandia is fairly superficial, since everyone is trying to sell Bitcoin and make himself rich. So it's like reading multi-level-marketing books.

That being said. What's actually kind of good (with actual technical specifications) is Bitcoin wiki, even when it's slightly outdated; then official bitcoin website; and sometimes bitcoin stack exchange website (but that can become outdated too).

I don't think Blockchain can be disconnected from Bitcoin, and if you do, it's very general and not that specific.

Makes sense.

For the record I've found Coindesk helpful for general updates, and I signed up for the blockchain course on Coursera.

To contrast that, patio11 has written various things ragging on bitcoin from a tech/business perspective. It's well worth reading.
He is otherwise great chap, but I don't think he is the guy to turn to on bitcoin/blockchain topics. He has focus certainly somewhere else, and to me his rants about bitcoin sound more like a general complaining because he missed the train.
You should probably also not turn to someone heavily invested in Bitcoin, since they have a lot to lose...
True, but those who invest their money usually invest their smarts and time also on the topic. So the info is most definitely biased, but on the other hand those who don't invest money probably don't care that much about the topic, and focus their efforts on other topics.

On the other hand, there are some people who have been bitcoin enthusiasts but have since left the scene, such as mike hearn.

Learning about blockchains can certainly be disconnected from Bitcoin. Go read the Ethereum docs for example.
That's true, but it's still basically a cryptocurrency, with some out-there applications (that are not really that reliable, yet).

But yeah you are right.

Ethereum stuff can also prove how to do things wrong... The DAO is a good example of that, and now the recent ddos attack.
TheDAO is an example of a mistake on the path towards building something better/safer. You don't think airbags have ever killed people? Faulty seatbelts? Did Tesla abandon auto-pilot because of a few accidents? Do I need to go on and on? This is a nascent technology, of course there are going to be missteps along the way, and to hold it against Ethereum forever is an incredibly cynical point of view for supposed technologists.
There are no uses for turing complete smart contracts. Multisig and nLockTime perform all the same functions with lower risk and greater scalability.
Looking forward then to the deluge of DApps coming to Bitcoin using Multisign and nLockTime, just go to http://dapps.ethercasts.com/ and copy paste ideas to Bitcoin using Multisign / nLockTime, should be easy peasy. Oh yeah, and all can be done with Multisign & nLockTime, so I wonder why Counterparty and now Rootstock are implementing Ethereum's virtual machine, strange.

Wish you and your partner in crime stopped spreading false information and just focused on Bitcoin. It should stand on its own merits not on dishing other projects.

You two seem to have some feud going on - but there's no need to air it out over here.
The bitcoin wiki was a good starting point and did a good job at explaining the fundamentals of a distributed digital ledger. One problem I personally ran into was understanding the crypto subroutines that validate mining, transactions, and verification on the network. Reading their respective wiki pages can be a bit dense if you lack the background knowledge.
I wrote a piece for Linux Voice on how bitcoin works a couple of years ago. It's obviously focused on this particular blockchain, not the principal in general and it's a couple of years old now. I tried to give a good overview for techincal people : https://www.linuxvoice.com/bitcoin/
I was working on this service. Teaching blockchain bootcamp courses online. I found a few instructors. Just need go figure out the MVP. Are you in NYC? Check the landing page http://studioblockchain.com/
Building the minimum viable block chain: https://www.igvita.com/2014/05/05/minimum-viable-block-chain...

That's where I would start.

Couldn't agree more, so informative
>a goal is a dream with a deadline

I love this blog..

This is what got me started too. One of the best prerequisite reads imo
reading through this now, finding it very well written and informative.
I highly recommend the Princeton book and associated video lectures as a place to get started. It does a great job of framing things in the context of the wider fields of cryptography and distribute systems research.

http://bitcoinbook.cs.princeton.edu/

I also recommend this book. I started reading it, figuring I would probably only read the beginning or gloss over it. It was so well written and so interesting that I ended up reading the whole textbook.
Honestly your best bet is to read everything Gregory Maxwell has ever written.
I think a good unorthodox start is skimming/looking at Q&A sorted by votes on [1] and [2]. A good book but oriented towards bitcoin is [3]. My company also made an spreadsheet comparing different blockchain approaches [4] to have a high level understanding (e.g. blocks speed, security vulnerabilities)

I work in the field and the most difficult thing is to separate the noise from the signal. On talks with financial institutions and the government, they say they want to use the blockchain but when you ask about how many nodes they are planning to run they came up with one, or doesn't understand the question. Also, there are a lot of use cases that are not realistic because they depend on oracles or there is no way to enforce the smart contract in the real world.

[1] http://bitcoin.stackexchange.com/questions?sort=votes

[2] http://ethereum.stackexchange.com/questions?sort=votes

[3] https://www.amazon.com/Mastering-Bitcoin-Unlocking-Digital-C...

[4] https://docs.google.com/spreadsheets/d/1DQ770nGnHfJOoRSqTLmI...

Hi m52go,

I have a blockchain/bitcoin tutoring service at www.blockchaintutoring.com. I did a Show HN but didn't get a single comment :(

I'm a programmer myself, but my target market is not the typical HN user. I'm looking to teach more business types and people in the law profession, for example. I'm preparing a small course plan to help people get from 0 to knowledgeable. The course will certainly be a bit technical, but I would not cover for example the pros and cons of the blocksize debate unless someone asks for that information.

I invite you to contact me, either through my website's contact form or the email address there provided. We can chat, and then if you ever choose to use the service, it's going to be at a discount for HN users. Your questions will definitely help me tailor my offering.

What email? Sent a message on your form, your form has no progress bar / feedback after submit and does not load on chrome mobile. See my message below on this thread.
Hi Adam,

You can find my email just under the "Contact Us" heading. It is bitcointutoring~at~gmail. I have received the message you sent me through your form, and am writing you a reply. The form confirms the email was sent by writing "Success! Message received." in green under the form. I agree it is not so evident.

Capability-based Financial Instruments: http://www.erights.org/elib/capability/ode/index.html

Although this paper does not directly address the blockchain, I believe it and the thesis below are at the root of the concept. (If you want to go down the rabbit hole, check out the references page of the above paper). Fair warning, the above paper is from 1999/2000 so obviously much has changed, but still worth reading.

Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control by Mark Samuel Miller:

http://www.erights.org/talks/thesis/

If you enjoy more of a hands on approach, try getting a miner setup for some new coin. You'll learn a ton in the process.
This book is insidiously useful. I went from not getting it at all to getting it more or less completely. Includes code interacting with the blockchain in a wide variety of ways.

http://chimera.labs.oreilly.com/books/1234000001802

"Insidiously"? Now I'm really curious if that's a typo, or the book is treacherous in some fashion.
No, I'm just fond of using that word to mean "extremely" despite that not being a common usage. I'm from the north east, so to me it registers the same as saying "wicked" to mean "extremely", like "wicked cool," which is a regional thing.
I've found that getting a wallet and sending some Bitcoin is a great first step. This course introduces Bitcoin and also surveys an array of other decentralized, blockchain projects: https://www.pluralsight.com/courses/bitcoin-decentralized-te... (caveats: self-promotion, pay-walled, but the free trial allows you to watch 95% of it).

Bear in mind that the word "blockchain" is an evolving word; almost every definition I've read differs. Some see it as barely different than a distributed database that doesn't allow deletions. Many others see it as paradigm shifting.

Blockchain is now a buzzword that means 'good database'
People aren't going to magically sell Eth and buy Bitcoin just because you're spamming the Hacker News thread, Chris.
Highly recommend the Princeton book and Coursera course as a starting point.

And if you want a compiled list of resources for learning: https://drive.google.com/file/d/0B6CKmAqa1_nzRGVicnlHY1BaaUk...

I would also recommend this book. It takes a very practical approach of introducing a problem which exists with the blockchain and then how to solve it. It gets you thinking the correct way. Then if you want, you'll have the basic understanding to dive into the theory and math behind each technology.
I would suggest the book “Mastering Bitcoin” from O’Reilly. I don’t have extensive experience on the issue but what really worked for me is that the book provides code examples (in Python and C++) that help get a better grasp of the technology.
This. Andreas' book is awesome. It will give you a high enough level to understand all the moving parts, then it deep dives into how they all work. A+++ will buy again.

Once you've read Mastering Bitcoin, install the reference implementation, and start playing with the API while pointing to the testnet. When you get stuck, look to the Bitcoin reference documentation... it's pretty good too.

Happy hacking