Guan’s blog


On finality of payments

25 Mar 2015

(This is cross posted from Ello.)

Izabella Kaminska writes about what she describes as Bitcoin’s lien problem. The “problem” is that although Bitcoin transactions are final and irreversible within the context of the Bitcoin payment system, a court (or a thug) might force you to pay back the Bitcoin you have received. And what’s worse, if the Bitcoin were illegitimately transferred in the first place, an owner down the chain after multiple transfers—who was not complicit in the original disputed transaction—might be forced to hand it over too.

As I’ve said in the past, Bitcoin is not great, but USD is terrible. In the United States, wire transfers with Fedwire are final and irreversible. If you make a payment to someone and believe you are entitled to get your money back, you will have to sue them (or threaten to beat them up). Appealing to your bank or the Federal Reserve will not help.

A lot of payment systems around the world work like this. Cash transactions are irreversible. Payments in the Danish domestic payment system I described in my 2014 post are irreversible. The British Faster Payments Service also has final and irreversible payments.

Most American systems do not work like this. If you charge something to your credit card, you can dispute the transaction and often get an immediate refund. The dispute will be resolved within the payment system, according to opaque standards, without much collection of evidence or a neutral arbiter.

The recipient will get a chargeback and be forced to return the money, so it’s not like an insurance policy. If you have a job and receive your wages through direct deposit, that deposit can be reversed for 60 days after the deposit is made. Already paid your bills with that money? Too bad.

What about PayPal? Venmo? Square Cash? Debit cards? Facebook Messenger payments? All reversible for a terrifying period of time.

There are some benefits to resolving disputes within the payments system. A lot of payments in the US are “debit pull”: the merchant “pulls” the money out of your credit card, your utility company pulls it out of your bank account with ACH. You didn’t explicitly authorize each of these transactions, so there could easily be mistakes. Being able to easily reverse credit card transactions also makes people more comfortable using these cards, whose security is otherwise not that great.

However, I believe the option of final and irreversible payments is an important feature of a modern payment system. If you receive your pay in your bank account, you should be able to count on that money being there. If you received the wrong amount, maybe you should be made to pay it back (possibly in installments if you spent the money by honest mistake), and there is always the option of resorting to the courts, but your money should not just suddenly disappear without notice. If you sold your car to someone you met on Craigslist, and he or she paid you using the payments system, you should also count on that money being available—let them sue you if you sold a lemon.

What’s the point of easy Bitcoin?

12 Mar 2015

(This is cross posted from Ello.)

It’s easy to see the appeal of Bitcoin to drug dealers and nerds like me. I can buy some Bitcoin, or mine it myself, and use it to make instant (well, 10-minute) payments without using the antiquated US dollar payment infrastructure.

Most consumers, however, don’t want to hold Bitcoin, because they might lose all their hard earned savings, and merchants don’t want to bother with that either. That’s why there is a slew of startups that make the Bitcoin payment process much easier. When I buy things from Adafruit, Bitcoin payments are processed by BitPay, who takes care of instantly converting my Bitcoin to US dollars. BitPay will then automatically transfer the converted dollar amount to the merchant using ACH or other national payment systems.

What if, like most consumers, I don’t own any Bitcoin and don’t want to be exposed to the risks of holding any? A company like Coinbase lets me instantly buy Bitcoin and send it to BitPay to pay for an online purchase. How do I pay for that? Coinbase prefers to withdraw the US dollar amount from my bank account using ACH.

Startups like BitPay and Coinbase have made it reasonably convenient for me to pay a merchant using Bitcoin, but it already looks like there are a few redundant steps here. If I pay using ACH, and Adafruit is paid using ACH, why can’t there just be a single ACH transaction? That way we could save half of the ACH fees (on one of the two ACH transactions) as well as the Bitcoin transaction fee.

So what’s the point of using Bitcoin here? Why not just use ACH payments? BitPay and Coinbase both comply with all the relevant laws and are registered with the regulators, so there’s not even any regulatory arbitrage to be had. In some ways, the easier you make Bitcoin as a payment system for regular folks, the less you actually need Bitcoin as part of that system.

Bitcoin has also been touted as revolutionizing small cross-border payments, such as remittances. But to make it easy to use, remittance solutions for Bitcoin have to interface with a “normal” payment system, whether it is dispensing cash at a retail store or domestic payment systems like ACH or the European SEPA. Companies like TransferWise and XE Trade have already disrupted the market for international payments the old-fashioned way, by maintaining bank accounts in each country and making domestic payments in and out of those.

The main advantage I can think of, for this type of consumer, is that Bitcoin can decentralize the centralized component of the payment flow. This allows each consumer and each merchant to use different providers at the endpoint. If I pay with a credit card, the endpoint providers are my card issuer and the bank that provides the merchant account. There is a lot of competition in the market for card issuance and merchant accounts, but a centralized network connects all the card issuers and merchant accounts. (Indeed, operating such a network is very profitable.) I don’t have to use Coinbase, or any particular card issuer in the case of debit and credit cards: I can use some other company. And I can still make easy payments to Adafruit.

For domestic payments, we can cut out Visa or MasterCard as a middleman, but we cannot cut out ACH. At each end, we could, however, replace ACH with something else.

For international payments, TransferWise is easy and cheap enough. But what if I want to make a payment to a country that TransferWise doesn’t support? I can use a provider in my country to convert dollars to Bitcoin, and the recipient can use a provider in a different country to convert Bitcoin to local currency that is transferred to his or her bank account. I think this is a minor improvement: if we both live in countries supported by either TransferWise or XE Trade, it would be easier and faster to just use a single provider for the whole transaction.

The real problem with sticky navigation, illustrated

10 Feb 2015

There are many reasons to hate sticky nav bars, explained by Felix. They are annoying. They take up valuable screen space on mobile devices. They are often pointless, for example the Slate mobile one that only shows you the title of the article. I wrote a Safari extension that kills them on a view sites.

Felix mentions the real reason sticky nav is super evil: it hides content.

I often read articles by using the spacebar or page-down button to scroll. Almost all browsers implement this function, and it simply scrolls down a page. But because sticky nav is layered on top of content, instead of being separate from the page like frames used to be, it hides whatever is under it. That is not a problem when you scroll in tiny increments. It is a problem when you want to scroll a page at a time, which is much faster.

Here’s an example from, a site that recently relaunched and has sticky nav. I’m innocently consuming some content:


That last line ends with “they always”. Now I hit the spacebar:


Does that say “They came home the way they always of-date one”? Should I submit this to Language Log?

No, it turns out that a line is being hidden under the sticky nav. Here is the missing text:


Kill sticky nav!

Is the US government funded?

19 Nov 2014


The US government is funded through December 11, 2015.

H. R. 719/Public Law 114–53

Please donate

Scotland will not be an independent country

19 Sep 2014

The final result is in: with 55.3% of Scots voting no, Scotland will not be an independent country. As someone who supported independence, I am of course sad. Scotland will be worse off politically and worse off economically.

At this point, it is hard to judge whether the result will be interpreted as a mandate for the status quo, or whether Scottish voters relied on the promises made by the major UK parties or the more extensive promises of a written constitution made by Gordon Brown, who has been given an adjournment debate in the House of Commons on October 16. David Cameron has already promised that nothing will happen before the next UK general election in May 2015.

Even before the final result had been declared, we started to see expectations of more devolution scaled back, as we did before polls opened. My own prediction is that a few years from now, Scotland will still be left with fewer political powers than Nova Scotia and fewer fiscal powers than, say, the Danish municipality of Læsø, population 1,808. There will be no written constitution that protects the existence of the Scottish parliament.

But let’s say something like devomax or home rule and a written constitution is actually delivered. The Scottish government would be responsible for most domestic policy and would raise the revenue for that with its own taxes, which could be different from English taxes (though absurdly, Labour appears to want to allow Scotland to have higher, but not lower, tax rates. EU membership means that there are some limits to how fiscally independent Scotland can be; for example there can only be a single VAT rate for all of the UK.) The relationship would be something like Austria–Hungary from 1867 to 1914, which had joint ministers for foreign affairs, defense and defense-related aspects of finance, but nothing else.

This degree of fiscal independence means that Scotland would still have to be economically sustainable on its own. If Scottish taxes pay for Scottish public spending, England would not want to cover Scottish deficits or help Scotland in the event of an economic crisis, which is the kind of risk sharing that pro-union activists see as one of the main economic arguments for rejecting independence. (The author of that piece was against independence, by the way.)

What happens when the oil runs out? That’s something that Scotland will still have to figure out within the UK. And there would be no flexibility on currency arrangements, while even an independent Scotland in a currency union could have eventually abandoned sterling. There’s a reason that David Cameron called increased powers inconsistent with staying in the union in 2012. If the UK political elite keeps its promises, they could create a much larger economic mess than independence would ever have been.

No to independence combined with more devolution means that the West Lothian question may have to be addressed. A separate English parliament could work, but David Cameron seems to want separate votes by English MPs for England-only legislation. This could happen with an English grand committee. It would still be the same UK parliament, so UK governments would need to form majorities in it. After a close election, we could see a UK government that cannot pass legislation for England, or that can pass English laws but not UK-wide ones.

What’s next? The general election for the Scottish parliament is in May 2016. The white paper on devolution is expected in November with draft legislation in January. And I predict another referendum in 2032.