Page 1 of 1

Why bitcoin as a "settlement network" will fail

Posted: Thu Dec 31, 2015 3:45 pm
by Steve Sokolowski
Today, two more consequences of the bitcoin blocksize stalemate were brought to my attention. First, yet another day's bitcoin payouts nearly failed to execute due to network congestion delaying the exchange withdrawals. Note that this is not a case where people can just say "pay more fees," because we don't have the option to pay fees to receive money faster. Second, we found another block of litecoins with an astronomical transaction volume, with fees of 2.9, or more than 10% of block reward. I started thinking about how what is going to happen as more and more bitcoin transactions continue to spill down across altcoins.

When the Core developers released their "roadmap" for future development, and it was signed by big corporations and public figures, I officially wrote off any hope for bitcoin becoming useful as a payment network. The recent increase in Bitcoin XT nodes is a result of new nodes being brought online, not because of replacement of existing Core nodes, so it is not indicative of any sort of "revolt." Miners are refusing to upgrade to new software, and six of the seven companies that had promised to do so reneged on their pledge to support BIP101 by December. Not only that, but there are initial signs that Core development is slowing too, possibly indicating further paralysis. Bitcoin is completely deadlocked and people should now start considering the possibility that the deadlock may be permanent.

Indeed, an article at https://bitcoinmagazine.com/articles/bi ... 1451315063 today suggests that permanent deadlock is the intention of the Core developers, because they want to create a "settlement network." I do not believe that bitcoin is viable as a "settlement network." The reason is very simple: it is easier, less risky, and more straightforward to use API-compatible altcoins than to write and test new code on the Lightning Network or whatever extensions are designed on top of the bitcoin network. This isn't just theory; we have proven this with code. Given that all our mining and payout code is well-tested, it takes us about fifteen minutes to add a new altcoin to the pool (not counting block downloading). Chris did so with Goldcoin last night, in about 10 minutes, since its blocks had already been downloaded.

Meanwhile, adding Ethereum was a multiple-weekend challenge that required two days of research to understand how the network works, what gas costs were and how transaction fees are calculated, and how to program for it. Just installing Ethereum and figuring out how to compile it took another day. Testing and retesting the extremely critical payout code required weeks of waiting to make sure nothing was wrong. Bugs came up after deployment and took up more time. Developers who believe that the Lightning Network, or Segregated Witness, will be easier than this to get working at the level required in production systems when dealing with thousands of dollars are not making accurate statements. After finishing, I asked myself: why would anyone want to do this if there were a simpler solution that could get your products out months before any of the competitors could?

My thinking is based upon the idea that cryptocurrency be used largely as a money system from software, given that merchant transactions failed uptake even when the fees were inexpensive. When software uses money, it doesn't care in what form that money is. To get money from one system to another, especially using automated transactions in exchange for digital services, it doesn't matter how the value is transmitted. Volatility may be a problem for humans, but software can think far more quickly and convert to less volatile investments instantly. For this reason, bitcoin is only unique if humans are manually using it for transactions, a use case that has not proven prevalent thus far.

My focus has been on litecoin for the past few weeks, because I believe that a complete transition to litecoin is the best path forward for cryptocurrency. The most important reason is that even if bitcoin's problems are resolved tomorrow, the people who are causing these problems will not be gone - they will just move on to creating others. Miner voting proposals like BIP100 provide the perfect opportunity for the apperance of progress while still allowing for continued obstruction. With litecoin, there is the opportunity for a "fresh start" with more reasonable people who are more interested in creating something that is good for everyone in the world. But even if we ignore ideas like the Lightning Network altogether, it seems to have been lost that a transition from bitcoin to litecoin is far simpler even than a transition from bitcoin to segregated witness, which will cause chaos when it is implemented in the soft fork manner that the Core developers plan to do it in.

For those who are not aware, Litecoin and at least 165 other altcoins, having forked from bitcoin, have the same API calls as bitcoin does. We have a strict policy of "no hacks" - in other words, we don't add "if" statements to code to deal with coins that deviate from the standard. The only significant API deviation that affects some of the less valuable coins (litecoin and dogecoin are not included in this) is that the scrypt hash is used instead of the SHA-256 hash to identify a block with the "getblock" call.

One system's being able to interoperate with so many other systems is almost unprecedented in any other area of computer science. Imagine, for example, if one could write software that, with no changes, runs on the ten most widely deployed operating systems. Or, imagine if one could write a game that runs on any video card without crashing. Or, if one could plug a stereo into any car and have it respond to the same steering wheel controls. Or, if you could broadcast video and not have it windowboxed, pillarboxed, downscaled, or cropped on the output device. Cryptocurrency is one of the only systems in the world where almost every currency operates using the same interface. People developing for the "internet of things" who are panicking over how to support all the different devices would kill to work on an ecosystem like this.

Knowing this, the conclusion that can be drawn is that bitcoin will not survive as a settlement network. Even when the higher layers are deployed, the significant amount of legacy code that uses the direct bitcoin API can be migrated to litecoin with far less effort than it would take to use the upper layers. Years of work have been put into writing and validating this extremely critical financial code, and the Lightning Network would mean a start nearly from scratch. Given that, there are two outcomes to bitcoin as a settlement layer: it fails and Litecoin takes over the transaction volume, or it fails and the world becomes a mix of altcoins, each of which is constrained by capacity, at least initially.

This weekend is a critical turning point in the future of cryptocurrency. At reddit's /r/litecoin, an AMA (ask me anything) will be hosted by the litecoin developers. Chris will be participating, and he will be proposing that litecoin upgrade to full BIP101 given that it is well-tested and ready now. We decided not to support BIP101/4 or another reduced solution, because there is no reason to unnecessarily limit litecoin's capacity when the only disagreement is over whether to upgrade or not. He will also support any reasonable blocksize proposal except for those that involve miner voting. The important part is to come to an agreement as soon as possible.

Last week, we determined that a majority of LTC is poised to upgrade to larger blocksizes if Charles Lee will state his support for the upgrade. Unfortunately, he has stated his opposition to BIP101 recently, but I hope that he will explain that reasoning more clearly at this event. I hope that bitcoin community members also participate in these sessions. Unlike many in bitcoin, people in the litecoin community have proven themselves to be open to other points of view and willing to compromise. If the developers can be convinced to support some sort of upgrade, then I think that LTC is the future of cryptocurrency, and BTC with its flawed development roadmap should be left behind by users. Bitcoin community members moving to throw their support behind litecoin would cement a commitment to making progress and letting the free market prove whether the bitcoin development roadmap is indeed the best solution.

If LTC does not choose to upgrade, then absent a miracle in BTC the end result will be the other outcome: eventually, people will create multiple-altcoin wallets that seamlessly convert money between currencies and back when necessary to avoid transaction fees. I'll write more about this possible outcome and how such a wallet could be created in a future post. This multiple-coin outcome is perhaps the most decentralized of all the outcomes, but will delay the adoption of cryptocurrency slightly until such wallets are widely available.

In the end, bitcoin cannot survive solely as a settlement network - and since the majority of those who matter have either expressed support or remained silent, businesses and users who cannot afford to wait are looking for other simple solutions, which use the same API, require little development time, and have a very low risk of introducing bugs. That solution can be litecoin, or it can be a mess of other coins that comes with its own complexities. Please attend the /r/litecoin session this weekend and share your views. Hopefully, this session will lead to a constructive discussion that will move cryptocurrency forward with a single coin right now, rather than waiting years for a network that is likely to fail with its current roadmap, or doing nothing and allowing a mess of altcoins to come to pass.

Re: Why bitcoin as a "settlement network" will fail

Posted: Thu Dec 31, 2015 7:37 pm
by johngalt
Steve Sokolowski wrote:The recent increase in Bitcoin XT nodes is a result of new nodes being brought online, not because of replacement of existing Core nodes, so it is not indicative of any sort of "revolt."
The number of full nodes is a vague metric. I could easily, with a few hundred bucks a month, increase by 100 the number of nodes.
Steve Sokolowski wrote:Miners are refusing to upgrade to new software
That's not true. BIP65 was activated in a matter of weeks, signaling that miners upgrade pretty quickly.
Steve Sokolowski wrote:Bitcoin is completely deadlocked and people should now start considering the possibility that the deadlock may be permanent.
As I don't agree with your prior two statements, this is just being fatalist.
Steve Sokolowski wrote:Indeed, an article at https://bitcoinmagazine.com/articles/bi ... 1451315063 today suggests that permanent deadlock is the intention of the Core developers, because they want to create a "settlement network." I do not believe that bitcoin is viable as a "settlement network." The reason is very simple: it is easier, less risky, and more straightforward to use API-compatible altcoins than to write and test new code on the Lightning Network or whatever extensions are designed on top of the bitcoin network. This isn't just theory; we have proven this with code. Given that all our mining and payout code is well-tested, it takes us about fifteen minutes to add a new altcoin to the pool (not counting block downloading)
You do have a point here; consumer software is hard to get right. But I prefer a standardized transaction layer like the LN rather than a thousand incompatible altcoins.
Developers who believe that the Lightning Network, or Segregated Witness, will be easier than this to get working at the level required in production systems when dealing with thousands of dollars are not making accurate statements. After finishing, I asked myself: why would anyone want to do this if there were a simpler solution that could get your products out months before any of the competitors could?
It won't be easy. I don't think we are less than a couple of years away from a consumer-grade LN wallet. But the fact that we wish Bitcoin to scale as-is to millions of users doesn't make it easy. Upgrading the block size to 20MB is a temporary patch. If block size increases, blockchain validation becomes way more expensive and harder and harder by the day. Nowadays, you can't just "download and test apps for bitcoin". It takes about two days of syncing (at least for me), even with the latest improvements.