Bitcoin Hard Fork Predictions

Tomorrow there is scheduled to be a hard fork of the Bitcoin blockchain and network. There’s a fair amount of uncertainty over what will happen. The hashrate is unknowable until the fork occurs. The price seems to be around 10% of the price of Bitcoin. However, there aren’t too many exchanges that will be accepting this currency, and there are even fewer places you can actually spend it.

I’m going to make some predictions about it to put on record what I think is going to occur and to see how correct or incorrect I end up being.

  1. There will be a Bitcoin Cash block mined before 12 AM August 2, US Eastern time: 80%
  2. The price of Bitcoin Cash at 12 AM August 2, US Eastern time will be <10% of Bitcoin’s price: 70%
  3. The price of Bitcoin Cash on August 5 will be < 10% of Bitcoin’s price: 90%
  4. The price of Bitcoin Cash on September 1 will be < 10% of Bitcoin’s price: 90%
  5. The value of all transactions of Bitcoin Cash around September 1 (maybe averaged over a week?) will be < 10% of the value of all transactions in Bitcoin: 95%

I have mixed hopes for the success of Bitcoin Cash. On the one hand, I wrote previously that if the two factions in Bitcoin split, we could have a competitive market showing which rules were better. However, due to network effects, I still don’t think it could happen and be very successful. Supposing it did succeed though (had a pretty high market price), what would that mean? I suppose it would mean forks would become more common. That might be better for competition, but not for stability of the currency.

Ultimately, the idea that it would be fairly easy to make a successful hard fork of Bitcoin would be pretty devastating to Bitcoin’s health. It would mean consensus doesn’t mean much, it would mean the Bitcoin community could splinter pretty easily, which would therefore mean Bitcoin’s usefulness as a currency decreases as each part of the community would be using their own forked blockchain and coin. Something like sidechains seems like a much better implementation of this idea.

I should probably also disclose that I do not have much faith in the current governance model of Bitcoin Cash, and that does concern me a bit as well. I hope that hasn’t clouded my judgment of the actual technological and economic implications, but only time will tell if my predictions are true.

A Few Thoughts on Bitcoin

I have been aware of Bitcoin’s existence for a while, and while I was excited about it a few years ago, it had somewhat dropped off my radar. Perhaps because over the past few months, Bitcoin has seen a big increase in value, I started to revisit it and analyze it as a technology. My experience has been nothing short of breathtaking.

A few years ago, Bitcoin was pretty cool. I even wrote a paper about it, discussing the huge potential of the technology and decentralized, autonomous transactions could totally upend the banking industry. But back when I first got into Bitcoin, I was also interested in Austrian Economics, which I’m largely over now. Their focus on control of the money supply and dire warnings about the Federal Reserve weren’t really borne out by the rather mundane economic growth of the last few years.

Nonetheless, the Bitcoin community has been working on without me, and it has paid off: you can now use Bitcoin to purchase from all sorts of retailers, including Dell, Overstock.com, Newegg, and more. You can also buy all sorts of internet specific services, which to me seems like the clearest use case. These include Steam credit, VPNs, cloud hosting, and even Reddit gold.

The price has jumped up to over $1000 at the end of April 2017 (that’s over $18 billion in total market value of all Bitcoins), and it was briefly even higher a month ago on speculation the SEC would allow for a Bitcoin ETF. The ETF was rejected, but the potential of the currency remains. And technologically, Bitcoin is far more impressive than it was, most notably with a concept called the Lightning Network.

This technology would allow for instantaneous Bitcoin transactions (without having to accept risky zero confirmation transactions). These transactions would have the full security of the Bitcoin network, and would also likely allow massive scaling of the Bitcoin payment network. Drivechain is another project with great potential to scale Bitcoin and allow for applications to be built on top of the Bitcoin blockchain. It would create a two-way peg, enforced by miners, that allowed tokens to be converted from Bitcoin to other sidechains and back again. This would allow experimentation of tons of new applications without risk to the original Bitcoin blockchain.

Hivemind is particularly exciting as a decentralized prediction market that is not subject to a central group creating markets; anyone can create and market and rely on a consensus algorithm to declare outcomes. If attached to the Bitcoin blockchain, it also wouldn’t suffer from cannibalization that Ethereum blockchains like Augur can suffer from.

Mimblewimble is another interesting sidechain idea. It combines concepts of confidential transactions with (I think) homomorphic encryption to allow for completely unknowable transaction amounts and untraceable transaction histories. It would also do this while keeping the required data to run the blockchain fairly low (the Bitcoin blockchain grows over time). It would have to be implemented as a sidechain, but any transactions that occur there would be completely untraceable.

And there are even more cool projects: Namecoin, JoinMarket, the Elements Project, and of course other cryptocurrencies like Ethereum, Monero, and Zcash. This really makes the future of Bitcoin and cryptocurrencies seem pretty bright.

However, we’ve skipped a big point, which is that most of these cool innovations for Bitcoin can’t be done with Bitcoin’s present architecture. Moreover, the current number of Bitcoin transactions per block has just about maxed out at ~1800. This has resulted in something called the Scaling Debate, which centers about the best way to scale the Bitcoin blockchain. Upgrades to the blockchain must be done through consensus where miners mine new types of blocks, institutions running nodes approve of those new blocks, and users continue to create transactions that are included in new blocks (or else find another cryptocurrency). Before any of that can happen, developers have to write the code that miners, validation nodes, and users will run.

Right now, there is a big political fight that could very briefly be described as between users who support the most common implementation of the Bitcoin wallet and node (known as Bitcoin Core) and those who generally oppose that implementation and the loose group of developers behind it. I certainly am not here to take sides, and in fact it would probably have some long term benefits if both groups could go their separate ways and have the market decide which blockchain consensus rules are better. However, there is not much incentive to do that, as there are network effects in Bitcoin and any chain split would reduce the value of the entire ecosystem. The network effects would likely mean any two-chain system would quickly collapse to one chain or the other. No one wants to be on the losing side, yet no side can convince the other, and so there has been political infighting and digging in, resulting in the current stalemate.

There will eventually be a conclusion to this stalemate; there is too much money on the line to avoid it. Either the sides will figure out a compromise, the users or the miners will trigger a fork of the chain in some way and force the issue, or eventually a couple years down the road another cryptocurrency will overtake Bitcoin as the most prominent store of value and widely used blockchain. A compromise would obviously be the least costly, a chain split would be more expensive, but could possibly solve the disagreement more completely than a compromise, while another cryptocurrency winning would be by far the most expensive and damaging outcome. All development and code security that went into Bitcoin would have to be redone on any new crytocurrency. Nonetheless, Litecoin just this week seems to have approved of Segregated Witness, the code piece that is currently causing the Bitcoin stalemate. If Bitcoin’s stalemate continues for years, Litecoin is going to start looking pretty great.

Obviously it’s disappointing that even a system built on trustless transactions can’t avoid the pettiness of human politics, but it’s a good case study demonstrating just how pervasive and pernicious human political fights are. Ultimately, because cryptocurrencies are built in a competitive market, politics cannot derail this technology forever. And when the technology does win out, the impact on the word will be revolutionary. I just hope it’s sooner rather than later.

 


Bitcoin featured picture is a public domain image.

Leave a comment on the official reddit thread.

Encrypted Communication Apps

I have discussed this idea in the past, but normally I’ve only gotten excitement about encrypted communication from my fellow libertarians and netsec friends. But with the current Presidential situation, there seems to be more interest in communicating without being overheard by the government, even among my government-loving left-wing friends. And this is excellent! Even if you don’t need privacy, by communicating securely all the time, you make it less notable when you do have to communicate securely, and you create more encrypted traffic that other government targets of surveillance can blend into.

First, let’s go over a very quick summary of encryption. If you’re already familiar with encryption, skip down past this section and the pictures to the list.

Public Key Encryption in 5 Minutes

An encryption algorithm takes information, like text, numbers, picture data (it’s all just 0s and 1s to computers) and outputs different text on the other side. A good encryption algorithm will output text that looks randomly generated so that no information can be gained about the source text. That output is then sent out in the clear (over the internet, where people might be spying) to the recipient. The recipient then reverses the process, decrypting the message and getting the original text, numbers, picture data, etc. However, if an algorithm always created the same output data from the same inputs, bad guys could figure out what you were saying pretty quickly. This introduces the idea of keys. A key is a number the algorithm uses to change the output in a predictable way. If both the sender and the recipient have a secret key, they can use their keys and the algorithm to send messages that only they can read (without the right key, the algorithm won’t reverse the encryption):

Symmetric key encryption. Public domain image.

But we can do better! In our previous scenario, we need to somehow communicate the secret key separately from our message. That’s a problem, since we likely are using encryption precisely because we can’t communicate openly. The solution is something called public key encryption. In this system, each person has two keys, one public and one private. To send someone a message, you can encrypt the message with their public key, and then send it to them. Then only they alone can decrypt the message with their private key.

Public key cryptography. Public domain image.

The reality of the mathematics is slightly more complicated, but for our purposes, what matters is how the public and private keys exist in each messaging app. Messing with these keys is difficult and confusing for users, but loss of the private key means communication is unsecured. Therefore, when using encrypted messaging, it’s important to be aware of how the app uses and manages the keys.

The Best Apps

The following is my ranked order of preferred secure communication:

1. Signal. This the gold standard encrypted communication app. It’s open source, free, has group chat, works on mobile and desktop, and of course is end-to-end encrypted. It even has encrypted voice calls. The one significant drawback is that it requires a phone number. It uses your phone number to distribute your public key to everyone that needs to contact you.  Because of this, it offers excellent encryption (requiring no security knowledge!), but no anonymity. If you want that, check the next entry.

2. PGP Encrypted email. So this one is a bit complicated. OpenPGP (stands for Pretty Good Privacy) is an open protocol for sending encrypted messages. Unlike the other apps on this list, PGP isn’t an app and therefore requires you to produce and manage your own keys. The tools you can find at the link will allow you to produce a private and public key pair. To send a message to someone else, you will have to obtain that person’s public key from them, use the software to encrypt the message with their public key, and then send it to them. Because it is so much work, I have this method second on the list, but there is no better way to communicate securely and anonymously. To better distribute your public key, I recommend keybase.io (use that link to send use encrypted emails!). The good thing about PGP is that it can be used with any email, or really any other method of insecure communication. Additionally, it’s open source, free, and very encrypted. 

Both Signal and PGP are very secure methods of communication. The following apps are good, but they are not open source and thus are not as provably secure. They are still better than just using unencrypted methods like SMS text, email, etc.

3. Whatsapp. WhatsApp is pretty good. It’s free, widely used, implements Signal protocol (and requires a phone number), works on mobile and desktop, has group chat and encrypted phone calls, and is encrypted by default. Moxie Marlinspike, the guy who made Signal, the number one app on this list, actually implemented the same Signal protocol on WhatsApp. That’s great, but unfortunately, WhatsApp isn’t open source, so while Moxie vouches for WhatsApp now, we don’t know what could happen in the future. WhatsApp could push out an update that does sneaky, but bad things, like turning off defaults. It’s also important to acknowledge that WhatsApp’s implementation already isn’t perfect, but it’s not broken. If you use WhatsApp, it’s important to make sure the notifications are turned on for key changes. Otherwise, it’s an excellent, widely used texting substitute.

4. Threema. Threema has an advantage in that it isn’t based in U.S., and it’s more security focused than Whatsapp. Threema is fairly feature rich, including group chat, but it isn’t free, it’s limited to mobile, and it isn’t open source. Threema uses the open source library NaCl, and they have a validation procedure which provides some comfort, although I haven’t looked at it in depth and can’t tell if it proves the cryptography was done perfectly. This paper seems to indicate that there’s nothing obviously wrong with their implementation. Nonetheless, it cannot be higher on this list while still being closed source.

5. FB Messenger secret conversations. Facebook Messenger is a free app and when using its secret conversations options, the Signal protocol is used. The app is also widely used but it takes effort to switch the conversations to secret. An encrypted app that isn’t encrypted by default doesn’t do much good. FB Messenger does let you look at your keys, but it isn’t as easy to check as it is in WhatsApp, and since it isn’t open source, keys could be managed wrong or defaults changed without us knowing. It also doesn’t have other features like group chat or desktop versions.

6. iMessage. Apple has done a good job with an excellent secure protocol for iMessage. It’s also feature rich, with group chat and more, but it’s only “free” if you are willing to shell out for Apple products. While Apple does a good job documenting their protocols, iMessage is not open source, which means we can’t verify how the protocol was implemented. Moreover, we cannot view our own keys on the app, so we don’t know if they change, and we don’t know how Apple manages those keys. It is therefore possible that Apple could either loop government spying into their system (by encrypting all messages with an extra master key) or simply turn over specific keys to the government. The amount you are willing to use iMessage to communicate securely should be determined by the amount you trust Apple can withstand government attempts to access their security system, both legal and technological.

Things I have specifically not listed on purpose:

  1. Don’t use SMS. It’s not encrypted and insecure. It would be good to not even use it for 2-factor authentication if you have a better option.
  2. Don’t use email. It’s not encrypted and insecure.
  3. Don’t use Telegram. They created their own “homemade” crypto library which you should NEVER EVER DO. Their protocol is insecure and their encryption is not on by default. In fact, there are at least two known vulnerabilities.

Leave a comment on the official Reddit thread.

Model-Breaking Observations in the Senate

It’s rare when an idea, or piece of evidence, comes along that is so impressive, it forces you to rethink your entire model of the world. The recently released Feinstein-Burr encryption bill has done just that.

It has been described as “technically illiterate”, “chilling”, “ridiculous”, “scary”, and “dangerous“.  Not only are the issues with the bill fairly obvious to anyone with a cursory understanding of encryption, the problems are of such magnitude that it thwarts any attempt to understand the Senators’ actions.  Let’s look at the effects of the hypothetical law.

The biggest issue is that this bill will significantly damage the United States’ national security. We live in a highly insecure world where cyberattacks, both foreign and domestic, are omnipresent. The Feinstein-Burr bill would fundamentally reduce the security of all technology infrastructure in the country. Jonathan Zdziarski in a blog linked above, gives some details:

Due to the backdooring of encryption that this legislation implies, American electronics will be dangerously unsafe compared to foreign versions of the same product. Diplomats, CEOs, scientists, researchers, politicians, and government employees are just a few of the people whose data will be targeted by foreign governments and hackers both while traveling, but also whenever they’re connected to a network.

That’s awful, and even if you have the most America-first, protect-American-lives mentality, weakening American encryption is the worst thing you could do; it literally endangers American lives.

I think there’s also a strong case to be made that this will do very little to combat terrorism. Unbreakable, strong encryption is widely available on the internet for free, forever; if bad people want to use it, they will.  Moreover, terrorism, as awful as it is, is relatively rare; Americans are about a 1000x more likely to die non-terrorism related homicide. And many more “common” homicides occur due to heat-of-the-moment arguments, which means there would be no encrypted messages detailing conspiracies. All this bill does is remove the ability of average, non-technically inclined Americans to secure their data.

And the people whose data will be most at risk will be those consumers who are less educated or less technically adept. Better informed consumers might have the ability to install foreign encryption software on their phone to keep their data safe, but most uninformed consumers just use default settings.  Thus, criminals who try and commit identity theft will greatly benefit from this legislation; they wouldn’t usually bother targeting knowledgeable users anyway, and with security stripped away from phones, it will be much easier to steal data from susceptible users. The people most in need of help to protect their data will be disproportionately harmed by this legislation.

On the other hand, most companies are not uniformed users. They have IT departments who understand the value of encrypting their data, and they will continue to purchase strong security software, even if it is no longer sold in the United States.  Foreign produced software works just as well.  Banning strong encryption will debilitate the American technology sector, one of the biggest and most important parts of the economy.   This will cost Americans jobs and diminish America’s influence on the future of the world, as technological innovation moves overseas.  But this isn’t just bad for Americans; it’s not easy to simply move an entire company or product overseas. There are huge capital investments these companies have made that will not be available in other countries immediately, if ever, and this will set back the global technology industry billions if not trillions of dollars.

So this really begs the question of why Senators Dianne Feinstein and Richard Burr introduced this bill; given their stated obsession with national security, and given the horrific effect this bill would have on American national security, there’s no good way to resolve their stated beliefs with their actions. Here are a couple theories to explain their behavior, and some discussion as to why each respective theory is unsatisfying.

The Senators are actually foreign spies purposefully trying to weaken American national security.  Obviously, if this theory is true, it’s self-evidently very bad that our elected officials not only don’t represent us, but actually represent foreign governments likely trying to harm Americans. Sure it’s quite unlikely since it’s very difficult to become a U.S. Senator at all, and no spy agency would send agents in with a plan to become a U.S. Senator.  Whether they were turned into foreign agents after being elected, I really can only speculate. But it strikes me as improbable. Nonetheless, it is true that this legislation is exactly what foreign security agencies would want to introduce to make the United States more vulnerable.  I was curious, so I checked the constitutional definition of treason as well as the Espionage Act, but it seems that you need to literally give secrets to other people, not just make it easier for them to obtain. But there is that one case where a high ranking official is in trouble for storing documents insecurely…

They’re power hungry politicians. The idea of the Senators being foreign spies is bit far-fetched.  But what know for sure is that they are politicians, which means they chose a career path that would give them more power to change things. Maybe Burr and Feinstein are sick of technology companies telling the FBI that they can’t assist their investigations, and they wanted to put them in their place.  If this theory is true, it’s pretty self-evidently evil; people in power using their power indiscriminately to harm citizens is the exact problem Thomas Jefferson identified in the Declaration of Independence.  Of course, it’s not usually a big problem, because James Madison helped construct a whole host of ways to check the power of government. Of course, the most important check for our situation is that senators are voted in by the people. So as long as people know about this dumb bill, they’ll kick these guys out…right?

Hanlon’s Razor (origin disputed) states that one should “never attribute to malice that which is adequately explained by stupidity.”  This theory would mean that two sitting, highly experienced U.S. Senators are too stupid to realize the ill effects this will have on national  and economic security.  Obviously, congress has to make laws in areas that its members are not always familiar with…but Burr and Feinstein are the chair and vice chair, respectively, of the Intelligence Committee. If anyone knows about intelligence, they do. And Feinstein is even on the Judiciary Subcomittee on Technology, Privacy, and the Law! If even these people are too stupid to understand what the effects of their own policies are, we might as well stop sending representatives to a legislature at all and just have run-of-the-mill uneducated voters pass everything directly through referendum. Sure, they’d have no idea what they’re doing, but apparently neither do Senators!

What I think is most likely, and most terrifying, is that American Democracy incentivizes members of Congress to make bad policy if it’s politically beneficial. With all the aides and staff Senators have, plus the amount of pressure they receive from outside groups, it seems unlikely they never heard about the bad effects of the bill. Yet, they did it anyway. Given they don’t work for law enforcement, there is no Frank Underwood endgame for passing this bill; banning encryption doesn’t directly allow Burr and Feinstein to look at their political enemies’ phones (…probably), just criminals and the police.  So then maybe their incentive was to appear tough on crime and terrorism, consequences be damned. Richard Burr is in a reelection year in North Carolina, so let’s look at the effect this horrible bill has had on his chances to win according to Predictit.org:

Primary was in mid-March, bill introduced in early April
Primary was in mid-March, bill introduced in early April

As you can see, the bill had very little effect on his perceived chances. Now, it could be that voters have already factored in Senator Burr’s position on destroying defending American national security, and he needed to introduce this legislation to maintain his position. But it looks identical to a situation where North Carolina voters couldn’t care less about Senator Burr’s position on encryption, and his introduction of legislation consequently had no effect on his reelection chances. If it’s the former, then we are in serious trouble because our legislative representatives are incentivized to make horrible policies because voters aren’t well informed.  If it’s the latter, then we have to dismiss this explanation and go back to one of the other three.

Whatever the explanation is, it reflects poorly on how the government constructs policy, and it reflects poorly on American Democracy. Moreover, assuming any of those discussed theories are true, they imply massive issues that will be difficult or impossible to solve.  Reforming democracy as many progressives would like, through campaign finance, wouldn’t even address any of these issues; it is the technology corporations and privacy NGOs which have been advocating for more privacy and making unbreakable encryption more accessible, while law enforcement and other government agencies have been advocating for less security.  But as far as I can tell, even they haven’t demanded anything like this bill.  Thus,  more campaign spending by private groups would help, not hinder good policy.

No matter how you look at it, this bill indicates a big failure for democratic government and illustrates the dangers discretionary state power.


Photo credit: Caïn venant de tuer son frère Abel, by Henry Vidal in Tuileries Garden in Paris, France, photo by Alex E. Proimos, licensed under CC-BY-2.0.

Banning Unbreakable Smartphone Encryption is Stupid

At least two states, New York and California, have introduced legislation that would ban smartphones sold in those states if those smartphones could not be searched under request from law enforcement.  This would likely mean no phones would be sold with unbreakable encryption, although I suppose Apple or Samsung could manufacture two types of phones and then just sell all the encrypted ones from New Hampshire or something. These bills are still somewhat controversial, and as it has gotten press coverage, there has been a House bill introduced that would prevent state legislation like those bills introduced in New York and California. Continue reading Banning Unbreakable Smartphone Encryption is Stupid