Category Archives: Bitcoin

A Flash of Insights on Lightning Network

I invented the Lightning Network.

Well, not really. But to the best of my knowledge, I was the first person to write a post describing something similar to how LN is conceived today.

I’m not saying this to take credit for its advent – it’s not like I really did anything. Others have invented the concept of micropayment channels on which my suggestion relied, and I only threw out some rough ideas; I didn’t present a full-fledged design, let alone wrote any code.

I’m saying this to emphasize the point that for some of us, that has always been the vision. One of the first burning questions I had when I was first introduced to Bitcoin was how the whole thing was supposed to scale. Concepts I’ve learned of since then – like SPV and pruning – helped, but I wasn’t completely satisfied. Ever since I heard about channels and thought about how they could be used in a network, that would become one of the first things I would reference whenever discussions of scalability came up.

The ability to use an on-chain transaction to anchor a channel, so that real bitcoins can be sent over it without having to bother the entire network or wait for confirmations for every payment – in such a way that the channel can always be closed unilaterally to recover the funds as normal bitcoins sitting in an address you control – is an idea so powerful that I can’t imagine how can anyone resist falling in love with it.

But the reason I am so excited about the development of LN is not that the vision I had is finally being brought to life.

Continue reading

Lunch is being served

I was at a conference yesterday. Estimates say that 1000 people attended. At 15:00 people have left the lecture halls and swarmed the lunch hall.

The rate at which food can be dispensed is finite, so people had to wait a long time in line to reach the coveted buffet. Those who decided to wait half an hour before going to eat (and struggle to find something to do in that time, seeing as everyone is eating), could get to the food without effort – but may have missed an opportunity to enjoy the entire variety the meal started with.

Likewise, when everyone is off the clock at the same time and drive home, they encounter traffic – but those who wait until 3 AM to hit the road, has the whole road to himself. This is the way of many aspects of life – if you try to do something at the same time many others are, you will run into overload.

Bitcoin is the conference, and lunch is being served. We are amidst a wave of interest in Bitcoin and its kin. This is not the first wave of its kind, but it is the biggest so far in absolute terms. Anyone who tries to go into the field at the same time as everyone else, sees that every system collapses under the load.

It begins with the Bitcoin network itself, where demand for transactions exceeds the available block space, and transaction fees go up.

Exchange services get hundreds of requests daily, and sometimes there are delays or missed messages.

Among the hosted wallets, those that are considered more reliable (such as Coinbase) are overloaded and struggle to handle support requests.

Other hosted wallets, which to begin with had been a scam, have decided that now is the time to pack their bags and vanish.

Public forums are overloaded, every thread is buried under many others within an hour, and there are more newbies asking questions than veterans who can answer them.

Physical community hubs are overloaded, and people who bother to arrive in person and consult, have to wait in line until an ambassador is free to assist them.

I, personally, am also overloaded with both messages and strategic activity, and one comes at the expense of the other.

When someone encounters a problem, it is hard to tell if she had unfortunately stumbled upon a scam, or whether it is a legitimate service that is experiencing load, or there is overload in the Bitcoin network, or that herself she erred in handling the wallet. And when she comes to ask and consult, she has trouble receiving answers.

Some people have lost money due to this whole mess.

Sad and doesn’t further a solution, but that is the situation today. For those who cannot accept that, I truly recommend to pass for the time being on buying Bitcoin (or Ether or ICO tokens or anything else). He can wait until the dust settles and things clear up, and one of two will happen – either the wave of interest will fade, and we go back to earlier demand levels which the systems can handle; or demand continues to grow, and over times the systems will upgrade to handle it – Segwit will be enabled, exchangers will hire more staff, and the community will muster more knowledgeable people who can support the newcomer.

If someone thinks that if he does not but bitcoins this very moment, he will miss the opportunity to get rich… Well, I can’t really tell him not to buy, and I do of course in favor of bitcoins being distributed among as many people as possible, and not concentrated in the hands of a few veterans. But he should know what he is going into, and not complain about anyone else but himself.

If you can’t take the heat, stay out of the kitchen.

And God said, “Let there be a split!” and there was a split.

A year ago, I’ve written How I learned to stop worrying and love the fork, espousing my view that a split of Bitcoin into two networks is possible, and might even be good under the right circumstances and with proper preparations.

Half a year ago, I’ve followed up with I disapprove of Bitcoin splitting, but I’ll defend to the death its right to do it, which elaborated a bit and aimed to refute some misinformation.

I’ve been meaning to write another followup to address some questions that have been raised…

And then Ethereum Classic happened.

Continue reading

I disapprove of Bitcoin splitting, but I’ll defend to the death its right to do it

In a slideshow published by Brian Armstrong, CEO of Coinbase, he promotes the view that Bitcoin is currently undergoing a winner-takes-all elections, and that variety in Bitcoin protocols is akin to variety in web browsers.

I find this incorrect, misleading and destructive.

Unlike physical currencies, governed by the laws of nature, and centralized currencies, governed by the whims of their issuers, it’s not at all obvious what ultimately governs a decentralized digital currency such as Bitcoin. There’s the protocol and the code, of course, but those are mutable and thus adhere to a higher authority.

Continue reading

How I learned to stop worrying and love the fork

It’s hot in Israel in August, but not nearly as hot as the global debate surrounding the release of Bitcoin-XT and the contentious hard fork that would ensue if enough people adopt it. It seems that both proponents and opponents of Bitcoin-XT dread the possibility of the network splitting in two, and focus on making sure everyone switches to their side to prevent this from happening. Contrary to this post’s title, I don’t actually like the prospect of a fork; but I do claim that having two networks coexist side-by-side is a real possibility, that it is not the end of the world, and that we should spend more energy on preparing for this contingency.

Continue reading

What is real? And what is virtual?

The word “virtual” has several meanings. But the most obvious meaning people think of is “not real”. The uninformed often call Bitcoin a “virtual currency”, and contrast it with “real currency” such as the US dollar.

This is of course nonsensical. You could make stronger arguments for Bitcoin being real than for the US dollar. This is why Bitcoin should be more correctly referred to as a “digital currency”, emphasizing the fact that its existence consists in bits of digital information; or as a “cryptographic currency”, emphasizing that its operation is based on cryptography.

Similarly, the defining feature of the US dollar and its kin is that their issuing and usage is mandated by governments (regardless of whether an external body such as the Federal Reserve is charged with doing the actual issuing), and thus should be referred to as “government currency”. Alternatively, the terms “traditional currency” and “legacy currency” are slightly broader and emphasize that this is the kind of currency we have used so far. The term “fiat currency” is sometimes used to mean government currency, but personally I am not fond of that, as the literal meaning of the term is too broad.

A deeper understanding of the phrase “virtual currency” can be achieved only by contrasting it with something which is truly a virtual currency, such as World of Warcraft Gold. In the WoW game, virtual warriors are paying virtual gold to buy virtual swords with which to slay virtual dragons (or something like that. I’ve never actually played WoW).

None of this is real. Dragons of the kind featured in WoW have never existed in our physical universe. The WoW Gold does not correspond to any actual Au atoms. These are things that exist only in the virtual, simulated world.

The virtual dragons are encoded as bits, manifested as electrical and magnetic signals on computing devices somewhere. The bits are very real – they are configurations of actual electrons in our universe. But they are bits, not dragons.

Within the virtual world, the WoW gold is the ubiquitous currency used by the population, it is actual metal the people go out and mine, and it is not controlled by anyone. As such, the WoW gold is a virtual, physical, decentralized currency.

But just as the virtual dragons double as real bits, the WoW gold doubles as a real, digital, centralized currency.

The owners of this currency are the real players with user accounts that possess WoW Gold. And it has real value – real people offer real money (such as USD) to get WoW Gold, because they prefer to spend their real time playing WoW and slaying virtual dragons than farming virtual gold. And there are real sweatshops in China where real people work in real terrible conditions to play the game, earn WoW Gold, and sell it to aforementioned real players.

Of course, as a real digital currency, WoW Gold is centralized and is thus barely usable. It is completely controlled by Blizzard, hence is inefficient, and tricky to use because, AFAIK, its exchange for things of real value is an EULA violation. So WoW Gold is a bad real currency, whose saving grace is the extra semantics placed on it by the controlling company – which is entitlement to in-game virtual currency.

Since WoW Gold and its kin double as both digital currency and virtual currency, it is easy to see why people would get confused. But the contrast with Bitcoin becomes clear: It is digital, but it is not virtual. There is no virtual world in which Bitcoin is the currency. Rather, it is a currency used in our real world to pay for real products and services. It is digital and still fledgling, to be sure – but unlike WoW Gold, which is centralized and thus a bad currency, Bitcoin is decentralized and has all it takes to become a ubiquitous currency.

When in doubt, we should remember – that which vanishes is virtual, that which remains is real.

Multi-PPS: Dissolving mining pool centralization

The Bitcoinsphere is abuzz with news of the GHash.io mining pool exceeding 50% of the Bitcoin network hashrate, which is of course in contrast with Bitcoin’s decentralized vision.

While it is indeed worrisome, I personally believe it is not something to panic about, as the underlying causes are solvable and we should not see such a phenomenon recur going forward.

The current centralization is the result of two distinct causes. One is the concentration of mining within a few large mining farms, often controlled by those who manufacture mining ASIC chips. These either take the mining risk themselves or forward it by offering mining contracts to the public. This is made possible by the economies of scale in building machines and operating them that large entities enjoy. This is indeed a problem, however, I believe this will be alleviated somewhat as SHA-256 computation becomes more of a commodity, as I claimed in ASIC will not Centralize Bitcoin Mining.

The second cause is that even individual miners who operate their own machine independently, use these machines in conjunction with large mining pools. The reason is, that with all classical mining pool reward methods, the larger a pool is, the better performance it can offer its miners in terms of the tradeoff between variance, fees and maturity time. A large pool will be more lucrative and hence attract more miners and become even larger, with the ultimate limit being consolidation within one pool.

Fortunately, I believe the latter cause is easily solvable. All it takes is using a reward framework that does not lead to “the rich get richer” effect. P2pool is often cited as a possible such framework, but while it has its merits, I do not believe it has what it takes to offer a sustainable solution, mostly due to the difficulty of small miners to use it.

Starting with p2pool as a basis, thinking what can be done with it and following it to its logical conclusion, I arrived at Multi-PPS, which I wrote about a year ago. Its basic premise is that miners should mine in multiple pools simultaneously, in proportion to each pool’s strength. Using this framework has two important features:

  1. The miner enjoys performance that is equivalent to that of a pool with a combined size of all pools he uses together.
  2. The stable equilibrium is not consolidation in one pool, but rather, maintaining a distribution between many pools according to the merits of each.

Of course, implementing this is nontrivial, and there are some technical performance issues to consider; however, the numbers do look promising, and the effort in implementing it is small relative to the potential gain. More details are available in the linked post.

Because this is such a hotly debated topic now and this proposed solution receives too little attention for my taste, I have decided to choose it as the topic for my technical talk in the upcoming Inside Bitcoin Tel Aviv Conference at the end of July.