Socialized costs of hard-forks

Jimmy Song

https://twitter.com/kanzure/status/1005518746260262912

video: https://www.youtube.com/watch?v=eCE2OzKIab8&t=5m11s

KL: Can you hear me? Is it good? Okay. I hope you have practiced your French because.. no, the presentations are in English. Welcome and thank you very much for being here. This conference will very probably be the best we've had in the bitcoin sphere. The crowd is pretty crazy. I've had the ticket list and I can say the people in this room, not just the speakers, the attendees are all super amazing. I'm glad to be launching this event. We're a little late. I have a small joke. I hope you sold your bitcoin today, because we're breaking bitcoin. Thank you. Jimmy is going to start. Please welcome Jimmy Song.


Introduction

It is great to be here. Welcome to Breaking Bitcoin. Great event, right? Good stuff. Organizers have done a great job. I'm super excited to be here. It's great to meet people you have only met online. I had one guy that I worked with for 3 years at Armory and didn't meet him until yesterday. That tells you how spread out and decentralized the bitcoin community really is. You meet them online, but you never meet them in person. I love these events for that reason. Let's get started.

My presentation is called the socialized costs of hard-forks in general. Many of you think you get free money out of this, and that's good, but my premise is that the free money wasn't really free. The free money wasn't really free.

bcash hard-fork

August 1, 2017 around 6:12 UTC, bitcoin did something that it had never done before. Where there was one coins, then there were now two coins. This was the timestamp of the first block found on the bcash chain. This was something that happened 10 days earlier when someone posted to bitcointalk that posted a website and they wanted 8 megabyte blocks, they hated segwit, they hated replace-by-fee, it was sort of this contingency plan for the user-activated soft-fork and then it became this offensive weapon or something... so it was this hard-fork that happened around the same time of the segwit UASF drama escalation or culmination.

My colleagues at World Crypto Network were wtaching this hard-fork. We wanted to see what would happen. We weren't sure if the hard-fork would really exist, whether miners would mine it, would the market price crash? Would users actually go and sell their coins? Would exchanges even allow trading? We didn't know. We had no idea.

We had no idea. There were exchanges, miners, users, and they were all sort of interacting in some non-linear way and we had no idea what would happen. The next few weeks sort of answer that question. Although bcash dipped to $200, kind of like Ethereum Classic before it, bcash seemed like it was here to stay. I think it was last trading at $550?

I find it interesting that this conference is named "Breaking Bitcoin" and I'm the first speaker and I'm talking about a hard-fork. We had a hard-fork. What was interesting was that price didn't tank, value didn't get destroyed, in fact some value was gained as a result of the hard-fork. There was osme value unlocked or something. Some people were excited because they could add to their bitcoin stash. They thought, hey, I'm getting some free money. Or was it?

See, there are a lot of private benefits that are very obvious in the form of money that you are going to get. But there really is no such thing as a free lunch. There's always costs that have to be paid. This is what economics would call negative externalities.

The August 1 hard-fork, the launch of bcash, had some negative side effects. Negative externalities is juts a way of saying bad things that other people have to pay for. There were some negative externalities here.

The classic example of a negative externality is a factory. Maybe they are producing-- maybe it's an oil refinery and they produce a good that is good for the economy but they also produce something that is a negative externality, like pollution. It's not just something that everyone has to pay for, to clean up, or suffer from. But it's also 2nd and 3rd order effects, like more traffic going towards the factory as a result of more workers that need to go there. You might also have- you might endanger some wildlife around there. It's not that everyone has to pay for hte negative externalities, it might be specific people, like people who were previously using that road or animals that were near that factory, and they are also paying for the cost of that factory.

Positive externalities

But before we get to that, let's look at positive externalities, which are the benefits of the bcash hard-fork tha teveryone experienced. The first group are the users, who enjoyed the price increase. It's hard to remembe rnow, since the market price is $4k now. But on August 1 before the hard-fork, bitcoin was trading at $2.7k. If we look at the price of both bitcoin and bcash, it's at $5k right now. I don't know, someone check the price. That's a lot of money. For a lot of people, they sold their bcash for bitcoin, and they got something like a 6-20% increase based on whenever it was that you sold your coins. So users got more money.

Let's take a look at miners. How did they benefit from the hard-fork? They had more choices on what they could be mining. They weren't just mining bitcoin. Most of them were mining bitcoin because bitcoin had the liquidity to take on the mining reward that they were getting. Now that they had bcash as well, they could switch based on profitability. About 40% of miners seemed to be doing that, switching back and forth based on whatever was more profitable. This results in more money available to miners.

Let's look at exchanges. As a resutl of the hard-fork, there was more demand for trading. There's some people that want to dump bcash, some that want to buy it, and then listing a new asset will get exchanges a lot more business. That means more money for them.

I work for Paxos which many of you may know. And we own a NY-based bitcoin exchange called itbit. And part of what we had to do to become a trust company and get a NY license for bitcoin, is that we have to keep a trust of a bunch of bitcoin. As a result of this hard-fork, we got to trade in some of that bcash for bitcoin. It was good for exchanges in that way too, some of them directly benefited from the price appreciation or the free dividend if you will.

It's not hard to see that price appreciation was the main driver of a lot of these benefits. Whether it was unlocked value or people looking for asymmetric payoffs or whatever, the price increase is very tangible and very obvious.

Negative externalities

What's not obvious are the negative externalities, which I will talk about now.

When you think about negative externalities, there's one-time costs and permanent costs. One-time costs, like in the case of the factory, are the cost of building the factory- that's a one-time cost. A permanent cost is like the ongoing pollution that the factory is creating. We have both as a result of this hard-fork.

Negative externalities: one-time costs

Let's start by looking at the one-time costs of the bcash hard-fork. So we have a bunch of exchanges and they had a lot of one-time costs that they had to pay. The first thing that happened is that deposits and withdrawals had to be halted for a day or two for these exchanges because they didn't know what would happen. Many of these exchanges had to dip into cold storage because their users were demanding bcash. It's part of their fidicuiary duty, they have to do that. You also have to audit the new software. This is something that we had to do at itbit. We want to spend bcash- how do we do it? We have to download electron cash? Does it have malware? We have to go and audit it. We had like 10 days to figure out if this was okay or not. And then you have to decide, are we going to just allow a one-time withdrawal, or are we going to list this new coin? For an exchange to lis ta new coin, it's not easy- there's all sorts of new procedures for cold storage, signing, deposits, withdrawals. Or you could just have this one-off event where you give them their bcash at some point and then you never think about it again. But that has its problems too. And finally, and whatever way you do it, withdrawals or listing-- you are going to need new infrastructure to work with this token in some way, even if it's a one-time withdrawal. You need some way to give these tokens to your users. Again, short-notice. Right? No time to do this, has to be done quickly.

What about merchants and payment processors? They had to halt their payments because they didn't know what would happen. If a bunch of mining power went over to bcash then the bitcoin chain might get attacked or whatever, so they just halted payments and wanted to wait out and see what would happen. They also had to detect whether they were on the right chain. Are they on bitcoin or bcash? Which one am I? And finally most of them had to at least put in new infrastructure at least for chain detection. What was nice about this was that as a result on August 1, blocks were mostly empty, and you could get in your transactions very quickly. We observed this through our World Crypto Network live broadcast, and blocks were only 100 kb. It was amazing how much of the volume was from those companies.

Wallets had some one-time costs they had to pay. They have to detect which chain they are on. A lot of wallets are lite clients and getting their data from a full node and they don't know what their full node is- is it bitcoin or bcash node? And a lot of them ended up writing up splitting tools because their users were demanding their other tokens. Many of them spent a lot of time on short notice writing these tools so that their users could get their new tokens. And finally, many of these wallets are multi-coin wallets and they now have to support this new token on very short notice. Again, not easy, this is herculean efforts on their part to write the software, get it out to users, and test it properly. This is money. It's not easy to get this stuff right, and if you get it wrong, then you're going to cause a lot of cost everywhere.

What about miners? They actually didn't have that many one-time costs. They just needed a token-switching algorithm. Mining pools in particular if they want to maximize profit, you have to point to the right one, or write some software so that it's an option for their users. Most look like they did this.

For users, how many of you sold some bcash? Wow, that's a lot of people. How many of you had a lot of anxiety when you were trying to move your coins from cold storage? Okay, a lot of you didn't. I got super nervous. If you got auto-credited on an exchange then maybe that wasn't anxiety inducing. At least for me, when I go into cold storage, I'm sweating buckets. What am I going to do with this thing? It's really stressful, you want to get it right, and if you mess up then you might lose a lot of money. Maybe it's the mentality of this age, but we're not used to having custody of enormous amounts of money and being responsible for it. Usually you give money to the bank and you sue them if they do something wrong. If you mess up with your cold storage transactions, there's nobody to sue, it's all your fault. It was stressful because there was time pressure and a lot of people felt that bcash would crash and they would have to sell really quickly. The time pressure and stress is a big one-time cost.

As a result of spending your bcash, you had to expose your public key. Instead of two hash preimages that you have to break plus a discrete log problem and an elliptic curve, now you are just protected by elliptic curves. So in which case, you're paying the price of this exposure. This leads to some loss of privacy. A lot of people had to go and do all this stuff overnight. There's a lot of ways in which you could do blockchain forensics to figure out who the person was based on the timestamps of various transactions that came in. You lost some privacy there.

And finally- the regulatory burden, is also there. How do you treat bcash as a tax burden? Did you just instantly get it out of thin air? What cost basis do you have for your bcash? How are you going to pay taxes on it? There's this regulatory burden as well. This is also a one-time cost.

We've talked about one-time costs. What about some permanent ongoing costs that we have to continuoously pay as a result of hard-forks?

Negative externalities: permanent costs

So, the addresses look exactly the same. The addresses look exactly the same. This has a lot of consequences. If you're an exchange, you show a bitcoin address, and someone sends bcash, what are you going to do? Your duty is to give it back. And now you need all this infrastructure to detect stuff like this and give it back. If you're a wallet, what are you going to do? Someone paid you, but they paid in bcash instead of bitcoin- are you going to tell them that? Your private key can sign for bcash, how are you going to handle that. What if you're a merchant and you're paid in the wrong token? Do you have to detect that and give them their money back? If you're a user, paid p2p on bitcoin instead of the coin you want, or vice versa, now you have to handle that too. That burden often goes to the wallet you're using or the exchange you're using. These are all problems that were created as a result of this hard-fork, which we really didn't have before.

Unreliable blocks

The next issue is unreliable blocks. This is a problem on bcash and to some extent on bitcoin as well. Something like 40% of the total double sha256 mining power was on bcash at some point. That meant that bitcoin had like 20 minute blocks. There were hours that had 2 blocks each, for a while. So that meant congested network, higher fees, all that stuff. Of course, bcash suffered worse when they went 8 hours with only one block. So, unreliable blocks, this is a socialized cost.

Reorg attacks

We're now a lot more vulnerable to reorg attacks. Both sides of the fork can be attacked more easily. If you had a state actor that was planning to do a 51% attack on bitcoin, now it's a lot easier because you just wait for bitcoin mining hash power to move over to bcash and then you execute your attack then. Reorg attacks become easier.

Chain hopping attacks

This is an attack that has become more feasible against bitcoin as a result of a hard-fork that takes mining power. The way it works is you have a large pool of miners that are colluding or following economic incentives and they mine bitcoin and when the difficulty goes down on another chain, they move to the other chain. As a result of the hashing power moving over, the difficulty on bitcoin's chain drops, and then they move back, and back and forth. This causes unreliable blocks. It does seem to be the case for about 40% of miners right now, they just point their hash power at which one is easier to mine and more profitable to main.

Privacy loss

Any time that you are spending on bcash, it's most likely, unless you're buying freshly minted bcash, it's now linked to you. There's double the number of data points because now there's two blockchains to be able to examine. It's way easier.

Byteball and stellar-- who went and got those? Anyone? So only a couple of people. Okay, good. You did the right thing. I was stupid and actually went and got it. Byteball has a single address by default. So if you combine all your-- if you get their adrop then all your UTXOs are linked to that one byteball. Stellar is even worse, which required a facebook login. Think about that. So your addresses and UTXOs are now linked to your facebook identity. If I was the No Such Agency and I wanted to find out who owned bitcoin, for very cheap, that's how I would do it.

Privacy loss is a huge security risk. If you're somebody that is evil, that's looking to rob someone, who do you go after? You would go after high net worth individuals. If you lose your privacy and you're a HNWI, you're going to get targeted now. That's a security risk. You can't just say you don't care about your privacy and you're getting 6%... it comes at a cost to you.

Replay attacks

Replay attacks didn't happen with bcash but it could have. We might get this with segwit2x, though. Replay attacks are sort of more of a problem for merchants because if you as a user send bitcoin to coinbase.com and someone replays that attack and your bcash also goes to coinbase.com, they are sort of obligated to send you your bcash back. But if it goes the other way, and if coinbase sends you bitcoin and it gets replayed and also sends you bcash- you're not necessarily going to give that back. That's what happend with the Ethereum Classic fork.

There's a pull request on segwit2x's repository for opt-in replay protection. But this has its costs too. Because now you have to put something in OP_RETURN and now there are larger transactions. Every wallet has to figure this out. This is a one-time cost for everyone. Every wallet has to add this, get it tested, it's not easy to handle this without native replay protection.

Future hard-forks

It looks like there will be more hard-forks in the future. There are way too many benefits for hard-forks not to happen.

Hard-forks are attractive for many reasons. It's a very clean altcoin launch. You don't-- you already have sort of a base of users and stuff. And you don't need to go and market it as much. There-- let's face it, they are starting off with a good code base. It's very easy to utilize that and change a few parameters. Also, you get really good fair distribution because the economy of bitcoin is very diverse and you're giving them the same amount of coins.

In a way, they are hacking the fidicuary duty of exchanges. Because exchanges are obligated to give you your value, that's much easier to get them listed on exchanges. What are the biggest problems that altcoins have? It's distribution and getting them listed on exchanges. Well, you can hack that by just hard-forking instead. It looks like this is the reality.

Bitcoin Gold GPU

This is a hard-fork that's announced July 30 2017 by Asiacoin or something like that on bitcointalk. Apparently they have a pull request on their repo that says October 1 is their hard-fork date. They are going to change their proof-of-work. They want to do this before segwit2x, and they want to be GPU minable.

Segwit2x

Bitcoin2x is mid to late November. There will probably be no replay protection, and if there is, it will probably be opt-in.

We can sort of see a future where coinmarketcap looks like this: BItcoin, Bitcoin Money, Bitcoin Bucks, Bitcoin Cash, BItcoin Chips, Bitcoin Bits, Bitcoin Notes, Bitcoin Ounce, Bitcoin Check, Bitcoin Coin.... ((laughter))

Immunization

I will say though that there are some reasons for optimisim. What doesn't kill bitcoin, makes it stronger. And conferences like this prove that we're getting better at this. And really, we're getting immunized to all of these hard-forks and it's creating a better bitcoin as a result. We're securing against attacks and mitigating against these threats.

Negative externalities - or bad things that other people have to pay for - is really the purview of security conferences like this. This conference is called Breaking Bitcoin. And I don't know if it's sort of the open-source ethos, but we're the people that are trying to minimize the negative externalities. And there's a word for people that are trying to minimize negative externalities-- hero. Really, hero. You guys are the heroes of the bitcoin ecosystem. You are the sword in the darkness, you are the watchers on the walls. You are the shield that guards the realm of bitcoin.

Naseeb Taleb posits that anti-fragile things tend to be organic. I believe bitcoin is anti-fragile. We're immunizing bitcoin. It doesn't happen on its own. We don't have smart genetic algorithms changing things on their own. No, you are the white blood cells of the bitcoin systems. You are the ones that will change things so that we gain from disorder instead of cracking and falling. In the next few days, take advantage of this time to get to know each other and listen to the speakers. You can make the security of bitcoin better and make it more anti-fragile and gain even more from disorder. You can make bitcoin awesome.