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 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.
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.
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.
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.
Any good resources to understand the economics/finance impact of cryptocurrency and the broader scale implications of blockchains? Usage in different fields etc.
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:
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.
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.
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.
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.
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.
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.
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.
The biggest benefit is precisely to make transactions outside of banks and governments because although they may be trusted now, there is no guarantee they will be in the future. And we collect money just to prepare for the future. Yes, if I was honest, governments were honest, banks were honest, and thieves were honest, decentralized currencies wouldn't be important.
> and finally libertarians that want to make themselves sound clever at a party
Even mentioning something like this gives me the impression you just sound bitter about cryptocurrencies in general
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.
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.
75 comments
[ 1.9 ms ] story [ 143 ms ] threadhttps://www-ee.stanford.edu/~hellman/publications/24.pdf
- http://fermatslibrary.com/s/bitcoin - http://fermatslibrary.com/s/ethereum-a-next-generation-smart...
https://www.coursera.org/learn/cryptocurrency
https://medium.com/@giftedproducts/cryptocurrencies-with-tim...
https://twitter.com/naval/status/877467629308395521
And the inevitable, highly necessary takedown:
https://twitter.com/ZackKorman/status/878674839019679746
Bitcoin-centric, but covers a lot of ground.
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
the slides are repeated (because of the transitions)
It goes through the details of creating a tiny Bitcoin client that can send transactions so that they will get included in the blockchain.
In my opinion the best technical resource on Bitcoin.
https://www.bitcoinbook.info
His book on Ethereum is still work-in-progress.
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] https://news.ycombinator.com/item?id=14624714
[2] https://news.ycombinator.com/item?id=14625430
[0] https://www.amazon.com/Business-Blockchain-Practice-Applicat...
- http://fermatslibrary.com/s/bitcoin
- http://fermatslibrary.com/s/ethereum-a-next-generation-smart...
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...
- 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...
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.
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.
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.
http://www.businessinsider.com/r-amid-fears-of-greek-control...
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.
> and finally libertarians that want to make themselves sound clever at a party
Even mentioning something like this gives me the impression you just sound bitter about cryptocurrencies in general
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.
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.
https://github.com/Xel/Blockchain-stuff
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:
http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-a...
http://www.imponderablethings.com/2013/07/how-bitcoin-works-...
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)
[1]:https://en.wikipedia.org/wiki/Dual_EC_DRBG
Disclosure: I wrote it.
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