My book is 'Mastering Bitcoin.' It was published on December 11th.
It came out on paper, immortalizing all the mistakes of the first edition in a printed, hard medium.
To my eternal shame, this book is full of mistakes. If you are a programmer, you understand why that is.
We are [dealing] with software and this is a moving target; many things in Bitcoin change day-to-day.
Many of the things in this book were wrong from the moment they were [published].
Some of the things in this book were correct at first, and then they became wrong / outdated over time.
So I would like to extend a challenge and invitation to all of you: find the mistakes in this book...
and [submit] a pull request on GitHub: github.com/bitcoinbook
The entire thing is open-source. It is available under a Creative Commons license.
It is free to read, to mash up, to reuse. You don't really need the dead-tree edition.
All this guarantees is that it will already be out of date by the time the first print happens.
But I would love if you could find these little mistakes and let me know.
Do a pull request in the spirit of open-source and I will incorporate that. The next edition will be printed.
As soon as it hits paper, it will be full of mistakes again.
Then we repeat that process of continual evolution and development as the software [becomes] better.
"Bugs are shallow the more eyes that see them," right? This is the open-source concept in [book form].
Fortunately, O'Reilly as a publisher is very comfortable with this concept.
They have been very supportive both in [letting this book] develop in a community fashion,
but also in accepting changes.
I look forward to hearing if you can find all the things that are wrong with this book.
Many things are correct in this book and hopefully you will find some useful information.
I have tried to make it accessible to all types of people involved in Bitcoin.
The first two chapters are pretty readable even for someone who is just a bit technically minded,
but not necessarily a developer.
You don't need to write a word of code in order to read the first couple chapters.
It starts [becoming] hairy and more complex after Chapter Four, but hopefully you will find that it...
conveys some good analogies with some of the key structures in Bitcoin.
I did book giveaway the other day [as part of a] competition; [I would] ask a question...
and see who would get the right [answer].
I asked a room full of people, "Who knows what a bloom filter is?"
Who knows what a bloom filter is in here? Anyone? Who knows what a Merkle tree is?
Fantastic, okay. None of you need this book. [Laughter] The people who didn't raise their hand get a free book.
That is how I run the competition. After all if you already know what these things are,
you don't really need to read it.
I want to talk very briefly before we do a book signing. Everybody will get the book.
I'll be happy to sign the book, with any dedication you want.
If you don't [want it to] say anything, the default will be the name on your badge and my signature.
If you want me to write something else, almost anything is acceptable.
If you want to donate it to someone else under a different name, for example.
I want to talk about the difference between programmable money and institutional money.
This [prompt] came from- I don't really prepare my talks.
I [create them] ad-hoc and improvise, but this [prompt] came from a tweet I received this morning.
Someone said, "There is a lot of talk among those who are opposed to Bitcoin [due to] the fact that...
it has irreversible transactions, [which] is a major weakness of the system."
Irreversible transactions.
I thought that was really interesting, because it shows a fundamental misunderstanding of what we are doing,
what this technology is really about.
To point that out that irreversible transactions are a problem in Bitcoin,
is to see one of its biggest strengths as a weakness.
Bitcoin gives us a hard core, a decentralized trust model.
That trust is [based on a hard promise], which you can extend to create guarantees on performance,
verifiability, security, and irreversibility.
The irreversibility is a feature that derives directly from the [decentralized trust model].
If you think about bitcoin as programmable money, then you can innovate to add layers of softened guarantees.
As a developer, I look at that technology and think, 'Making [payments that are] reversible isn't difficult.'
You can simulate it very easily. Let me give you a simple example:
You could use a multi-sig [address] between buyer and seller, [create] a pre-signed transaction to the seller...
with an nLockTime delayed guarantee.
So the money goes into escrow for fifteen days to thirty days.
What do credit cards use for chargebacks? Pick a [time frame] and do a delayed transaction.
The seller knows that after thirty days, they will have a pre-signed guarantee, a transaction with nLockTime.
They can verify it independently. In thirty days, that money will be theirs.
But if something goes wrong with the transaction, you can use a third-party arbitration [service],
an escrow agent who holds the third key, to dispute the transaction and issue a countervailing transaction...
that spends the inputs [elsewhere] to refund the buyer.
Maybe the product wasn't delivered or it was faulty.
With a combination of a [signature scheme and transaction parameter] in Bitcoin,
and a third-party escrow service,
I have programmatically softened the hard promise of irreversible transactions.
An automated escrow system [with a] charge-back [mechanism] that offers consumer protection.
Better yet, in this model, the market for arbitration is open to everyone, not just Visa.
If you are on the Visa network, you [must] use Visa's rules for escrow, charge-back, and arbitration.
If you are on PayPal's network, you must use PayPal's rules.
On the Bitcoin network, you can pick your own arbitration provider.
We have programmatic consumer protection with an open market for arbitration services.
In thirty days, I would still have the underlying guarantee that the nLockTime transaction will execute...
and be verified unless there is a countervailing spend.
I softened irreversible transactions and created [opt-in] reversible [payments]. Guess what banks can't do?
They can't do irreversible transactions [at all] in a fuzzy, soft [promise] infrastructure full of counter-party risk.
They can't simulate hard [promises]. They can't do irreversible transactions.
But if you start with irreversibility, programming in a [mechanism] for soft [promises] is easy.
It is just a matter of adding a layer.
What they see as a flaw is actually a great strength.
We are [softening] a fundamental feature of hard [promises by adding] different layers around it.
The same applies to counterparty and institutional trust.
Institutional money is built around a soft layer of counter-party risks. It can't innovate fast.
They can't deliver trusted services. They can't deliver models of hard [promises].
It can't change because in order to change institutional money, you need to orchestrate all the different layers.
It is not just [about changing] the Visa API, but every single counter-party and intermediary in the network.
All of the network's intelligence is in the center.
Bitcoin is the exact opposite.
It offers a very simple, primitive model of hard [promises], and intelligence is pushed to the edges,
allowing innovators (like the people in this room)...
to add layers, implement application products, services, and financial instruments without [needing] permission.
This re-defines the trust model. To write and deploy [software], they don't [need] to ask for permission.
That is the fundamental difference between programmable money and institutional money.
It still strikes me as highly ironic [when] people criticize Bitcoin for some of its greatest strengths.
They have not yet figured out that there is no way [the traditional banking system] could [acquire] them.
Yet we can simulate their [soft promises] all day long, right in the software, easy-peasy.
We can implement [consumer protection].
They criticize bitcoin for exhibiting the characteristics of a toddler currency,
which is exactly what Bitcoin is; it is only five years old and already we are re-inventing financial services...
that took hundreds of years to build.
And we're moving faster and faster. The pace [of development] is accelerating.
That is my little [speech] based on a tweet I saw this morning.
I thought it would be interesting to look at the difference between programmable money and institutional money.
Thank you so much for coming. We will be doing the book signing outside, if you could line up.
Everybody gets a free book. I hope to see you again at the MIT Bitcoin meetup, if you choose to come.
Thank you! [Applause]