Offering an alternative to the original Bitcoin client, its goal was to diversify the Bitcoin development ecosystem, ensuring no single development team retained effective control over the network. “Centralized software is vulnerable to the dictates of whoever controls development of that software code, and any dictates pressured onto them,” Taaki’s Libbitcoin manifesto reads.
Five years later, Taaki has vanished from the Bitcoin scene. But Libbitcoin, a set of cross-platform, open-source libraries that serve as building blocks for a variety of Bitcoin applications, continues to grow. They are now maintained by a loosely tied team led by Seattle-based software architect and former naval aviator Eric Voskuil, and form the basis of services including Airbitz, DarkWallet (alpha) and OpenBazaar (soon in alpha).
Bitcoin Magazine sat down with Voskuil to learn more about this maverick implementation.
Eric, first of all, what happened to Amir? Do you know what he's up to these days?
I'm in touch with him. He's doing well. But it’s not really my place to say more.
OK, so Amir seems gone for now. One of the reasons he launched Libbitcoin was to diversify the development ecosystem. Do these ideals live forth?
I don't speak for other Libbitcoin contributors; each has their own reasons and their own opinions. But Libbitcoin's core values have always been privacy, scalability and integrity. Indeed, if any individual or group can change consensus rules – consensus means agreement by all – Bitcoin’s integrity has been compromised.
Bitcoin, therefore, needs more than one body of main developers. I don't have any issues with the Core guys, technically or philosophically. I truly think they are doing great work and for the right reasons. But that is a sword that can cut both ways. Just as there has been cause for concern in the past – think of the Bitcoin Foundation funding development – we can assume there will be in the future.
Why is a homogeneous development ecosystem such a problem? No one is forced to run the software.
True, but Bitcoin requires decentralization for survival. If there is only one team of experts maintaining the only implementation, the whole ecosystem is extremely weak. If that team ends up on one or two payrolls, or is perhaps co-opted by state actors, there are obvious implications. It's even worse than just having one Web browser, because the lack of diversity in browser choices is not as damaging to people as losing decentralized money.
To be strong, Bitcoin needs expert volunteers working in a global virtual community on various implementations that people actually use. This provides credible balance in the case of real conflict. Libbitcoin is playing the long game, and is making major investments in several important areas. This ultimately complements and improves other implementations, just as it benefits from them.
It's interesting that similar arguments have recently resurfaced. The Bitcoin Classic team in particular maintains that diversifying the development ecosystem is a key goal.
The important benefit of developer diversification is greater resistance to centralization pressure. Libbitcoin is first and foremost a tool of resistance, though to be effective it must also be great technology. A code fork that simply changes a consensus rule because there is not universal agreement is not resistance, it's an attack.
Fortunately, Bitcoin has always anticipated this scenario. The uncertainty may not be good for the exchange price in the short term, and people who aren't paying attention may lose money. But Bitcoin will be stronger for it. Bitcoin has to be able to withstand such attacks.
Increasing the block size limit by one megabyte is an attack?
A dissenter always has the option to start another coin. But an attempt to cause a change in consensus rules without actual consensus is an attempt at theft. Such changes will favor some parties at the expense of others. It's impossible to predict specifically who will be harmed when a money is altered, since value is subjective. But the question becomes moot in the case of consensus. With consensus the change is an increase in value for all, since all prefer the change.
In Bitcoin, larger hash power currently has an increasing advantage as blocks grow in size. Similarly some businesses may benefit from the possibility of higher transaction volume and minimal fee pressure. Except to the extent that these parties are also coin-holders, the theft is not of their value. At the same time they have a financial interest in changing the rules.
I'm not keen on any block size limit increase presently. I assume we may need to do so at some point, but given the minimal fee pressure we see today, there is absolutely no urgency. And given the lack of consensus it would not be appropriate to try.
Wouldn't it be better to avoid rising fees for now, to incentivize adoption? Be a bit more pragmatic?
Decentralization is the purpose of Bitcoin and essential to its existence.
Larger blocks create centralization pressure, an observation that does not seem to be in dispute among developers. And given the current state of the ecosystem, with a handful of pools directing most of the hash power and an apparent declining number of validating users, it seems one megabyte is problematic enough.
By analogy, imagine a door lock company advertising that they have the best locks on the market. People need to be able to get through doors, and their lock makes that really easy, so that the most people possible can get through! The company considers security important ... but not at the expense of ease-of-use. Can this reasonably be described as 'pragmatic'?
If Bitcoin centralizes and succumbs to the censors, it will have nothing to offer its users.
Cheap and fast transactions offer a certain value, don't they?
Sure, but costs are not reduced through the magic of Merkel trees, or some other mundane technology employed by Bitcoin. Costs are reduced by removing the state from the control of money. Censorship resistance is the only way Bitcoin achieves cost benefits over other financial technologies.
PayPal set out to do the same things as Bitcoin, and failed. Upon running afoul of the censors, their business model was forced to change. The cheap, rapid, programmable, international peer-to-peer payments they imagined never materialized.
Similarly, if Bitcoin cannot resist state controls, countless intermediaries, high transaction costs, inflation taxes, bail-ins and state-by-state currency controls will remain the norm, and it won’t be able to achieve lower cost.
Satoshi said Bitcoin should be able to scale on-chain. He thought fees would be cheap, and he said that the block size limit could be lifted when needed.
Look, there is no question whatsoever that the threat Satoshi was working to defeat is the state. And a path to Visa-level transactions on the Bitcoin blockchain is quite clearly a fatal blow to censorship resistance. His explanation of how the block size limit could be raised does not imply any contradiction, it's just Satoshi saying that when a block size increase makes sense it can be done. The decentralist perspective is not that the block size limit can never change.
Scarcity of block space would probably drive transaction fees up as well, to the point where perhaps only the wealthy can transact on-chain. Surely we must compromise somewhere?
I'm aware of these arguments, but this is a 'split-the-difference' negotiating tactic based on a faulty premise. It's sort of like declaring that only the wealthy can fly because aircraft are expensive. But not everyone needs to own a private jet. The analogy in the legacy financial system would be consumers buying a cup of coffee using the SWIFT network directly.
There will inevitably be layering on Bitcoin, as analogous systems have done for centuries.
What's interesting about rebuilding the SWIFT network? What happened to the vision of electronic cash?
The “electronic cash” envisioned by Satoshi is cash; it is not notes, scrip or bank credits. We have come to think of bank notes as cash, but they are actually contracts for debt. The note holder is owed something by the issuer. Cash is a commodity with certain properties that make it useful as money. Cash is largely gone from the world, and people cannot return to physical commodity money, as it cannot be moved online. Bitcoin is really our only option to guard against inflation, counterfeit, capital controls and high costs in general.
And given that bitcoin – lowercase b – is cash, and the blockchain is the definitive truth on where the money is, Bitcoin – uppercase B – is a settlement system. If it wasn't, it must use something else for settlement – and that isn't the case.
Some might take issue with this vision, but that's because they imagine existing banks, financial institutions, and – most importantly – censorship. A global censorship-resistant settlement network is not like anything we've ever seen before. It is, indeed, the goal many people are working towards.
That system will allow people to buy their coffee with electronic cash, but Bitcoin will never carry every coffee purchase on-chain. Those who make the Visa-analogy either don’t understand how Visa works, or don’t understand how Bitcoin works. And let’s not kid ourselves: Users really don't care how their transactions are cleared.
Rising fees might hurt Bitcoin startups as well.
Indeed, much of the block size argument is coming from outside of what I consider Bitcoin. Organizations that operate centralized services, like web-wallets and APIs. The more successful they are, the less decentralized Bitcoin becomes.
What people don't seem to realize is that you can't make money on Bitcoin in the way they are used to making money. A large part of the Bitcoin industry is fumbling around, burning off capital on stupid stuff. It's a common pattern in a new industry, I think. It's an interesting problem, profiting from a system that defies centralization and intermediaries, and that requires free software. ... But Bitcoin doesn’t exist to be a profit vehicle for startups.
So how do you suggest Bitcoin move forward?
Fundamentally, the objective is human liberty. The perpetual ubiquity of decentralized money is necessary in advancing this goal. Individual users must validate their own money for Bitcoin to survive.
But this magnificent opportunity is falling away because it's easier to use centralized services. It's my desire to see developers contributing to the strength of Bitcoin, not inadvertently contributing to its demise. Libbitcoin is our contribution to helping them succeed.