I'll do my best to summarize the topics of conversation over those four hours, although I'm sure I will miss some important points.
Firstly, Adam Back, Kristov, and myself share very similar end goals. We each want to see a world in which Bitcoin rivals, and then supplants the Dollar, the Euro, and the Yen. None of us signed up to create Paypal 2.0. We all want to see a world in which individuals have complete control over their own money, and there is nothing anyone can do to stop them. The conflict arrises because we have very different strategies on how to best achieve that goal.
This strategy is supported by myself, and I think many of the other big block supporters.
If I'm to be very generous with the numbers, I think we can say that Bitcoin currently has about 10M users.
This trivially small compared to existing organizations like Bank of America, Wells Fargo, What's App, SnapChat, FaceBook, etc.
Because Bitcoin is currently the largest crypto currency, we have the strongest network effect, the most attention, the most developers, and the best chance of growing to become a currency used all over the world. Bitcoin also currently has most of the properties that make its use attractive to me, and make it far superior to the traditional financial system that people are using now.
Bitcoin's supply is limited, it can't be controlled, it can be decently private, and is accepted at a some number of companies around the world, etc.
But we can't rest on our laurels, the world is looking closely at Bitcoin and block chain technology, and it is just a matter of time until someone else decides to enter the space in a big way.
For all we know, the Federal Reserve is already planning how to make sure they don't lose control of the money supply, and I think the best way for them to do it would be to partner with someone like any of the companies I mentioned above. They would create their own crypto-coin with properties individualists like myself won't be a fan of. They will have the ability to monitor people's transactions, perhaps blacklist certain coins, or prevent certain transactions, or do who knows what. They would then launch this service as an integrated wallet with Snapchat, Twitter, Facebook, a bank, or just about any major company, and then instantly have ten times the network effect that Bitcoin has. Bitcoin would lose all of it's momentum, it would lose it's first mover advantage, it would become relegated on the sidelines due to the new crypto currency that has more than ten times as many users, and a much more powerful network effect because of it. The crypto anarchists among us would still be able to use Bitcoin, or crypto-anarchy-coin, but the rest of the world will have moved on to government-controlled-spy-coin. This is a nightmare scenario for me in which we have squandered our opportunity to move the entire world in a positive direction by supplanting government money with Bitcoin. Today, Bitcoin is so much better than the traditional financial system that we have a very good chance of drawing the rest of the world into using it, but if another government approved coin comes along and manages to get the world using it, Bitcoin will only have some modest advantages, and likely not nearly enough to get the world to switch.
To avoid this scenario in which some government approved coin supplants Bitcoin, we must grow Bitcoin as quickly as possible, until it will be impossible for anyone else to supplant our network effect.
I understand that there are some risks to growing so quickly via on chain scaling. The block chain will take up more space, and the hardware to run a full node will be more substantial. As I've mentioned previously, I think there are lots of reasons to think that the number of full nodes around the world will increase even if the block chain is much larger due to on chain scaling. The short version is that if more people are using Bitcoin, there will be more companies involved, and if there are more people and more companies to draw from, a larger absolute number of full nodes will be running on the network. Even today, for less than $100, anyone can easily run a full node.
A few months ago I also said that the absolute number of full nodes is more important than the percentage of people running a full node. https://twitter.com/rogerkver/status/683677986630033408
Peter Todd todd vigorously disagreed: https://twitter.com/petertoddbtc/status ... 7086536704
Adam also chimed in as well: https://twitter.com/adam3us/status/683678942398644224
I've still been thinking about this issue over the last few months though, and over time I've become more convinced that the number of full nodes actually acting as wallet for individual users isn't very important.
I view full nodes similarly to people seeding a file in a bit torrent. The more seeders there are, the more robust the torrent, and the more difficult it would be to stop. I don't see a problem with SPV wallets, and other light clients that depend on full nodes to be informed of the status of the block chain. So long as these light clients have a wide choice of full nodes to obtain this information from, it will force all of the nodes to report the correct information. If there was ever an attack in which some full nodes were reporting false information to the thin clients, people would quickly discover this, and all the active Bitcoin users would switch to a different node run by an entity or person viewed as having some integrity. The light clients could even check with multiple "trusted" full nodes to verify them against each other.
In short, even if it makes running a full node more expensive, I think the risk is worth it in order to make sure Bitcoin maintains its first place position in the crypto currency world, and continues to benefit from its network effect. If this strategy of rapid growth results in Bitcoin becoming centralized and controlled, we are no worse off than we would have been if government-controlled-coin had surpassed us early on. People who are interested in the same things that motivated early bitcoiners to get involved will always have alt coins available for them to use, but I think we only have one shot at getting the entire world to adopt a crypto currency with the freedom aspects of Bitcoin. Time is of the essence, and we must scale as quickly as possible before someone passes us up.
This strategy is generally supported by Adam Back and many other small block proponents.
Please forgive me if I misportray any aspect of it.
The most important aspect of bitcoin is that it remains uncontrollable by anyone due to its decentralized nature.
The best way for Bitcoin to remain decentralized is to keep the block size small, so that it is very easy to run a fully validating node anywhere on the planet, even with poor internet connectivity. We should focus on using the existing block space more efficiently, and optimizing the amount of computing resources that are required to relay, store, and validate each block. If we can create this solid technical foundation for the Bitcoin block chain, many future block chain uses will be built directly upon it including things like the lightning network, side chains, and more. If we grow like this, we will all be able to continue to use the freedom oriented Bitcoin that we all know and love.
While I think that strategy #2 is likely to work in preserving the freedom oriented Bitcoin that we all know and love, I think it is also likely to cause Bitcoin to be usurped by some other crypto-currency that is more to the liking of the status quo. The cat is already out of the bag regarding crypto-currencies. Freedom oriented people are always going to have a freedom oriented coin that they can use, so I don't think we need to be overly cautious with Bitcoin becoming overly centralized and controlled along the way. I think we should be focused on having the fastest adoption possible so it will be too late for anything to supplant it later.
I see four possible scenarios, and all of them lead me to believe that fast, on chain scaling is the smart thing to do today.
- If we successfully scale Bitcoin quickly enough, and it doesn't become centralized and controlled, we have won!
- If we scale Bitcoin quickly, but it becomes centralized and controlled, all the people who care, will switch to the new freedom-coin.
- If we scale Bitcoin too slowly, and it is overtaken by government-control-coin, we are in the exact same situation as the end result in example #2.
- We scale Bitcoin slowly, but somehow manage not to be overtaken by government-control-coin, and a decentralized and free Bitcoin becomes the bedrock for the world's financial system, we have won!
Of course I hope that whatever strategy we take, we end up with Bitcoin being free and uncontrolled, and in use a substantial potion of the world's population, but to me it seems that option #1 is the most likely path to success.
I also pointed out that I was feeling a bit betrayed by the whole situation. Satoshi Nakamoto was very clear with his words regarding his original vision for Bitcoin and scaling:
When I got involved in Bitcoin, there were no other established businesses of any notable size involved, and there was not a single person on the planet investing capital in any significant amount into bitcoin.
I poured into the ecosystem a huge amount of savings that I had amassed before I had even heard of Bitcoin, and I've poured in millions of dollars since. I've spent nearly every waking moment for the last six plus years working on this, and all of this was due to the original vision that Satoshi laid out. Today that vision is being morphed into something that I didn't sign up for, or agree with when I got started six years ago.
In addition to the above discussions, I was wowed by many of the clever ways that Adam had in mind for making bitcoin more scalable, flexible, and censorship resistant. One of the clever ways he mentioned was by having miners not know what the content of each block is by encrypting each block, but with the key to be released a few (six) blocks later. This would make it impossible (very difficult?) for miners to censor transactions. If they suddenly saw that a transaction they didn't like was included in a block, they wouldn't be aware of it until six blocks later, and in order to exclude it from the blockchain, they would have to undo six blocks worth of work! In effect, they would have to be mining against themselves. I thought this was super clever. He also had ideas on how to scale by using pointers in the current sized blocks to point to additional external data that would be stored as well.
There was actually quite a bit more discussed, but I think I've covered the major points, and this post is already quite long.
A few points that were also discussed that I may cover later are:
- The Fidelity effect
- SNS adoption of Bitcoin
- Transaction Fees
- Unconfirmed transactions
- Birds.bitcoin.com may need to use something other than Bitcoin because the blocks are full.
- "F**k Satoshi" comment from a Bitcoin Core Panelist at the conference
- Moore's Law
- The ever changing reasons for why bigger blocks are a bad idea
I think Adam, Kristov, and I were all glad to know that we all shared very similar end goals, even if we liked different strategies to get there.
I'd love to have some additional feedback on the four possible scenarios I outlined. Which do people think is the smart path assuming our goal is to supplant the Dollar?