Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: A good primer on cryptocurrencies?
328 points by uptownfunk on June 29, 2017 | hide | past | favorite | 72 comments

I wrote a three-part study on the Blockchain phenomenon a year ago, based on real experience with Ethereum. It's intended for web developers. It ends with an unusual conclusion.

- https://marmelab.com/blog/2016/04/28/blockchain-for-web-deve...

- https://marmelab.com/blog/2016/05/20/blockchain-for-web-deve...

- https://marmelab.com/blog/2016/06/14/blockchain-for-web-deve...

> you must use an assembly-like language, which isn’t even Turing-complete. Yikes.

And then you go on to talk about how the contracts written in 'Turing Complete' languages are gagged and can't call APIs.

So why "Yikes"? Using turing complete DSLs for contracts is both unnecessary and problematic.

such a good study, thank you for taking the time to write it, do you know any major updates to the writings on things that changed in the last year?

Just read that whole series. I appreciate the time and effort you into writing that up. I feel like most of your complaints were valid and boiled down to, "Etherium is too new" and "as a honest person, I get no benefit to using it".

Block chain is set up to be no trust so unless you're working with people who you can't trust, you shouldn't use it. The other main reason is that you want to avoid banks and government, which is certainly a smell that you may be a criminal. These benefits aren't for people who are honest.

> The other main reason is that you want to avoid banks and government, which is certainly a smell that you may be a criminal. These benefits aren't for people who are honest.

It is saddening that this argument is used even on HN. That's equivalent to the old "You don't need privacy if you got nothing to hide". Examples as in Cyprus [1] prove that you should always be careful when trusting banks or any centralized system. Your line of argument is very common among representatives of banks, governments or people who are simply uneducated on the subject. Or a combination thereof.


It's not at all like "you don't need privacy if you've got nothing to hide."

It's more like "don't install that library, we can just write a 10 line function." Someone who doesn't want to avoid the law is not going to get any of the benefits of using a cryptocurrency. It's a solution where the main use case is enabling people to make currency transactions outside the jurisdiction of banks.

I think there are some good use cases for it, like if a currency is unreliable due to corrupt government or inflation. However, the people who get the most use out of it is certainly ransom ware coders, people who distribute illicit goods like drugs and child pornography and finally libertarians that want to make themselves sound clever at a party.

Do you own a business? Or..have you? Are you familiar with the advantages for legal and ethical businesses from blockchain?

No I am not familiar with any advantages from using cryptocurrency as a business. I only know that you can avoid PayPal fees by using Bitcoin, but this also means that the customer has no protection of you don't deliver the product.

there are many many benefits to blockchains and cryptocurrencies that aren't covered by things being illegal.

For one, when I try to transfer money between banks it takes like a week. When I transfer ether it takes 15 seconds. If you'd like, I'm happy to provide a longer list of more examples, but illegal activities are far from the only reason to use cryptocurrency.

let's think deeper. trustless processes can be hugely beneficial. ever buy a domain name on aftermarket? you either have to trust the seller or a counterparty/escrow service. ENS is live today and a deed can be sold under smart contract.

also see numerai's pure business model for incentivizing an entire organization.

or defeat tyrannical censorship by proving knowledge/hashing content with a timestamp. no more re-writing history.

HN I am disappoint.

The paper that started it all is still a good read: https://bitcoin.org/bitcoin.pdf

Fermatlibrary's got anotated versions of bitcoin and ethereum whitepapers why are both great reads :

- http://fermatslibrary.com/s/bitcoin - http://fermatslibrary.com/s/ethereum-a-next-generation-smart...

Not just still a read, I'd say it is one of the most important reads for somebody just getting into blockchain/crypto world.

After Diffie, Hellman, New directions in cryptography


Thank you I just had a blast reading it =)

I recently was researching bitcoin, blockchain, etc, and I found it surprisingly difficult to find good but relatively short resources! I synthesized what I found into some slides that you might find helpful[1].

Apologies if this seems like self-promoting my own slides -- and I should say I am not at all an expert here -- but I created them mainly because I had trouble finding a "primer", so maybe they can help others in a similar position.

[1] http://bowaggoner.com/talks/2017/bitcoin-etc.pdf

hey - that's pretty cool. thanks for doing this. could you remake your slides for the web ?

the slides are repeated (because of the transitions)

Thanks - I took out a bunch of extraneous transition slides (except in one place where I think it's helpful to see).

Excellent resource, thank you for sharing!

To really understand cryptocurrencies, you must understand Bitcoin. Not just its inner workings but where it came from and how it became what it is today.

The rest of the cryptocurrencies are only hoping to gain Bitcoin's popularity (which Ethereum is getting close to) that it maintained for nearly a decade.

Back in the day the following links helped me understand bitcoin:



Once you properly understand bitcoin you are ready to understand other cryptocurrencies pretty easily. If some design choices don't make sense (secp256k1), then remember that Bitcoin's creation was close to when someone was caught doing something[1]. This is the answer to why many cryptocurrencies choose non-standard algorithms (aka. not NIST)


Don't forget that it is not just the technical details that give it value, also the cryptoeconomic incentives that make it possible for a group of self interested miners to provide a network users can trust.

This demo/primer on the blockchain itself is fantastic, if you're looking to understand the underlying technology: https://anders.com/blockchain/

This may be a more comprehensive resource in you're looking for but Princeton is offering a course on bitcoin via Coursera:


I was looking for a good primer and I found the original Bitcoin paper itself to be a pretty good starting point: https://bitcoin.org/en/bitcoin-paper

Furthermore, I suggest the Princeton cryptocurrency intro course on coursera [1]. If you have CS background, you can skip the explanations of hashing etc and concentrate on the mechanics and incentives in cryptocurrencies, which are illustrated quite nicely.

[1] https://www.coursera.org/learn/cryptocurrency

I'll second the Princeton course

I read this back to back and vouch for it: http://chimera.labs.oreilly.com/books/1234000001802

Bitcoin-centric, but covers a lot of ground.

I'm working through the 2nd edition at the moment and finding it very good. I'd tried a lot of primers and summaries, but I needed something that goes into deep technical detail to have it really click in my head.

I found this to be a good overview paper. Research Perspectives and Challenges for Bitcoin and Cryptocurrencies http://www.jbonneau.com/doc/BMCNKF15-IEEESP-bitcoin.pdf

Nader Theory has a post "The Ultimate Layman's Guide to Bitcoin" that is great: http://www.nadertheory.com/#!/main/articles/post-08-the-ulti...

Since you will no longer be a layman, you can then follow that up with his post "The Intelligent Cryptocurrency Investor" : http://www.nadertheory.com/#!/main/articles/post-09-the-inte...

Edit: include article titles

If your looking for a cryptocurrency that doesn't use a blockchain but Directed Acyclic Graph


Ethereum ?

Cryptocurrencies with Tim Ferriss, Nick Szabo and Naval Ravikant [Podcast]


Don't forget to link to Naval Ravikant's twitter encomium to blockchain:


And the inevitable, highly necessary takedown:


I didn't know that Tim Ferriss dabbled in math/crypto.

He doesn't. That dude is a farce, I have no idea how he has convinced so many smart people to be on his show.

Probably by being a good interviewer.

Aside from many 'theoritical' reading suggested by others here, I found that this tutorial is incredibly helpful: https://medium.com/@lhartikk/a-blockchain-in-200-lines-of-co...

I myself have also made the PHP version of the code implemented there. You could see it here: https://github.com/azophy/naivechain-php

Hope it helps

I recently read the white papers of both bitcoin and ethereum. I would definitely read bitcoin's white paper first. I actually read the annotated versions from Fermat's Library:

- http://fermatslibrary.com/s/bitcoin

- http://fermatslibrary.com/s/ethereum-a-next-generation-smart...

That site is obnoxious. I have habit of highlighting text as I read it. Every time I click on the text to highlight a huge tab pops in and out on the left side. Who thinks up this crap.

People who don't have a habit of highlighting text when reading it?

I do the same thing, reading articles on sites like medium is a nightmare since it demands I tweet my currently selected text. Annoying!

I have this habit too, and always wondered about it. Wish someone would have done a study on it.

Four days ago I asked [1] for technical references on the differences between the Bitcoin and Ethereum blockchain length function, and @DennisP replied with 4 links [2] - Satoshi's classic paper and 3 good links on Ethereum.

[1] https://news.ycombinator.com/item?id=14624714

[2] https://news.ycombinator.com/item?id=14625430

Any good resources to understand the economics/finance impact of cryptocurrency and the broader scale implications of blockchains? Usage in different fields etc.

I've been reading "The Business Blockchain" [0], it's been good so far.

[0] https://www.amazon.com/Business-Blockchain-Practice-Applicat...

One good resource for understanding on how Bitcoin works on a lower level is this article: http://www.samlewis.me/2017/06/a-peek-under-bitcoins-hood/

It goes through the details of creating a tiny Bitcoin client that can send transactions so that they will get included in the blockchain.

Bob Murphy's free ebook http://understandingbitcoin.us/

I am no expert on this but it depends on what is your interest? Is it from a use case perspective or a technical one?

Technical perspective, people tend to conflate crypto currency with blockchain and vice-versa. Both are not the same. Crypto currencies are an implementation of the blockchain concept with their own twist on how to leverage blockchain.

A good primer on blockchain is - https://anders.com/blockchain/

Then there is the bitcoin paper which not only introduces blockchain but also explains bitcoin: http://fermatslibrary.com/s/bitcoin

The white papers of various currencies also provide the technical perspective and details on their implementation.

Use case perspective, you will have to rely on white papers by the specific coins. They will delve into how they look at blockchain to solve their problems. Beware these papers tend to be verbose and full of marketing fluff. So unless, as Warren Buffett puts it[1], within your area of competence there is nothing to be gained.

One thing I have realized over time is that many people writing stuff on cryptocurrency tend to be very verbose. Case in point: https://www.igvita.com/2014/05/05/minimum-viable-block-chain...

This in my opinion, and I am known to be very wrong most of the time, is because it takes the technical route to explain things than standard expressions.

Basic stuff like - what is a block is elongated with many technical terms. The simplest answer is "block is a public ledger and contains all transactions". Ledger is a legit word and you can find tons of articles explaining what is a ledger. But then you have tons of articles which skip this simple explanation in favor of a elongated explanation using technical terms and putting their own versions of what constitutes a transaction.

[1] http://www.businessinsider.in/The-Circle-Of-Competence-Theor...

I first learned about Bitcoin when Steve Gibson did an episode of his podcast Security Now on the topic:


If you have an understanding of basic cryptography primitives, then I think it's an excellent introduction, especially if you learn well via audio.

This is a funny post, but it will give you the very basics on cryptocurrencies and set you up to understand the more complex parts as you read more technical documents: http://blog.adimofunne.com/crypto-in-the-hood/

I definitely suggest reading mastering bitcoin. The second edition appears to have recently been released. http://shop.oreilly.com/product/0636920049524.do

The source for this book is freely available from the author at https://github.com/bitcoinbook/bitcoinbook

Read and reread the Bitcoin white paper. As you read it, ask yourself questions like, "what if I do x, could I then double spend?" I've read it 3 times over the course of a year or two and it's always served as a good conceptual foundation.

Cryptocurrency explained in plain english: https://www.linkedin.com/pulse/blockchain-plain-english-mike...

Andreas Antonopoulos' 'Mastering Bitcoin' book.

In my opinion the best technical resource on Bitcoin.


His book on Ethereum is still work-in-progress.

Seconded, big time. Blockchain was a hand-wavy haze for me until I got my hands on this book. As a programmer it's frustrating to read most high-level summaries of cryptocurrency/blockchain because they are often geared to a general audience and raise more technical questions than they answer - not so in "Mastering Bitcoin." The author does an impressive job of creating motivating scenarios before diving into concrete details. The chapters are well-sequenced but they stand up well to a bit of jumping around as your curiosity takes you in different directions. I thought this book was a real pedagogical achievement.

I'm looking forward to his book on Ethereum. In the meantime, Chris Dannen's "Introducing Ethereum and Solidity" is helping me to get a good grasp.

+1 to the Coursera course by Princeton that others have mentioned. Just finished it and really feel like I came away with a pretty thorough understanding of the fundamentals. Got exactly what I was looking for.

I find the pictorial explanation of www.blockgeeks.com very very much interesting for a beginner. If anyone gets serious about it, the paper at bitcoin.org that started it all is a must read.

Thanks for the shout-out. :)

There's a ton of resources here as well


I'd love to understand how zcash shielded-address-to-shielded-address transactions work. Any good technical explanations of that algorithm?

The Princeton Coursera class has an entire section on it

First try to imagine a way to have decentralized money on the internet by yourself.

While on a similar topic, what would be a good primer on blockchain?

I found this article being a good intro to some of the concepts of blockchain and how it works: http://www.banterly.net/2016/12/31/blockchain-beyond-the-hyp...

I thought this 45 minute talk by Stefan Tilkov was great: https://youtu.be/li3rfBAP_fE

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