37 comments

[ 5.2 ms ] story [ 81.2 ms ] thread
The title, though reflective of the article, is misleading. It should be "Some speculation about what might happen in the unlikely event that many Kenyans started using Bitcoin".
It's also speculation which doesn't exactly fill me with confidence the author knows what he's talking about: the unsupported suggestion that Bitcoin will stop people asking for bribes is frankly laughable and then he suggests the "relative consistency" of Bitcoin could be a welcome change above a chart which appears to show that over the last year the Kenyan shilling has fallen in value less than BTC fell in the last week (I'm comparing 7 day MtGox USD exchange rates with a presumably YoY Kenyan inflation rate of <5%)

I really wish Western speculators whose position in BTC vastly exceeds their financial knowledge wouldn't shill their position by recommending people in developing countries risk their money

Theoretically, one can see all the transactions of Kenya right?
Indeed, Bitcoin offers just pseudo-anonymity. However, if you are very disciplined, you can severely limit or even totally remove the possibility of someone linking you to your Bitcoins. No one even needs to know a transaction happened in Kenya.
>However, if you are very disciplined, you can severely limit or even totally remove the possibility of someone linking you to your Bitcoins.

I'm curious how you might do this? Basically you must be able to hide the fact that you own an address, correct? Does that mean using different addresses for handling transactions while updating the block chain from different IPs (in different physical locations, just so your phone or simple general geographic pattern doesn't reveal you)? Is there something I might be missing?

You are correct. Additionally, you could split large transactions into multiple destination addresses or obfuscate them with intermediary addresses. It takes longer to verify transactions, but it's harder to tie addresses to a single entity (you).

Another problem you hint at is broadcasting a transaction from certain IPs. A common heuristic is to record the IP of the first node to report a transaction as the node that made the transaction. You would have to modify your client so that is not the case, or use some sort of VPN to connect to the network.

I've also thought you could use private keys much like cash. That would be completely anonymous.

The payee would just check the balance of the associated public key before the transaction and immediately transfer the balance after the transaction.

IMO the best and only way to do this is to focus on the entry and exit of funds from the bitcoin cloud. As soon as one address can be tied to you, all your other accounts can be tied to you, no matter how many games you play with multiple addresses and shuffling coins around.

If you want to know how to achieve this, look to modern money laundering practices.

Perhaps the word I should have used is "private key" rather than "address". There's no reason I couldn't have a dozen private keys and wallets that I use in different locations for different reasons. As long as that private key can't be tied to me personally (i.e. by protecting my identity during transactions, transacting in varying locations from varying IPs, etc.) it should be anonymous.

That would make the protocol useless for day to day transactions like buying groceries, but at least as anonymous as cash for more sensitive transactions.

But see, the private key has to be funded! Unless people start exchanging private keys instead of bitcoins, and never transfer money in and out of the wallet, there will still be a trail.

Exchanging private keys is fraught with peril- the originator doesn't lose knowledge of what the key was when they give it to you. The only way to make it work safely is to immediately transfer funds out of the key you just received (to ensure the originator doesn't pull the funds before you can use them), and then we are back to having a trail. As far as someone following that trail is concerned, it is just an extra "hop"- the money still flowed from IllegalVendorA to <unknown> to You.

You can certainly try to obfuscate things, but the point is all the data is there and always will be, and even if it seems like a human wouldn't be able to figure it out, computers are very good at working through graphs!

So, again, theoretically: if one were to infiltrate Kenya, capture commercial wallets, link their prices with objects, one can create a network of consumers and a decent amount of data from the transactions. Introducing Kenya, or any developing country, to Bitcoin can be used as a way to gather insight on markets- perfect for knowing what products to advertise- with this I came to the conclusion that distributed-public-pseudoanonymity allows anyone to monitor markets in real time when you know commercial wallets and their menu / items that they're selling. Is this legal?
Can anyone explain how Bitcoin "removes vulnerability to human corruption"? Is it because you can see all transactions in the blockchain? Because I fail to see how does that prevent corruption.
As long as a human controls access to something, that something will be vulnerable to corruption.

Bitcoin removes the vulnerability if it takes the corruptible human out of the process.

Yea ok but it doesn't do that. That is my point. So what do you mean?
Humans (banks, PayPal, other third parties) are not required to verify transactions. It means you and only you have access to your bitcoins, and you don't need a trusted third party in order to use your money. You don't need a trusted third party to create bitcoins, either (like when governments print fiat currency).
Accountability is sometimes enough to cause otherwise indecent acts to never occur.
Corrupt politicians might inflate the currency and buy votes with newly printed money. Bitcoin prevents that.
Don't know why this was voted down: it is indeed a corruption mode Bitcoin can actually prevent, because the money supply growth is declared (way) ahead of time and immune to alterations except by getting the entire network to change the protocol. (Though this doesn't stop technocrat commentators from casually suggesting you could "fix" the supposed deflationary problem by just "tweaking" the growth rate ...)

Now, some people will say that money velocity fluctuates freely so this doesn't do anything about price uncertainty, but that's a rather high bar to meet in the first place.

That claim is complete bunk. Does't seem like the op has much experience living in Africa. Frankly, he sounds like one of those highly paid world bank 'arm chair' consultants. They see mPesa working then scratch their heads and wonder: now how can I make it fit my beautiful economic theory? :) By the way for more articles of this kind check out: http://AfriTech.com
The OP has made some huge assumptions here but MPESA, even with all its social and economic benefits, only got to where it is today because of Vodafone's deep pockets.Don't really see a similar Bitcoin champion emerging in these parts.
I'd say MPESA met a great need, and maintained it's lead ahead of competitors because of network externalities. Speaking from first-hand experience.
why switch from mpesa which works well and has dominance? Better article maybe "why mpesa will soon dominate payments in western countries".
It seems like Kenya has very little to lose in adopting Bitcoin. I welcome adding new users, even if they just act to stabilize the currency against speculators.
I, too, would love to see wider adoption. However, Bitcoin's value is still extremely volatile. A person could convert their life's savings to Bitcoin and see its value halved overnight... As the article mentioned, the Kenyan shilling has gone through some bad inflation cycles but nothing close to Bitcoin's volatility. Why do you think they have very little to lose? Seems quite risky to me.
When Bitcoin becomes more stable it will be used on every corner on earth. Right now its too risky, unless you can immediately sell/cash the coins you take on too much risk. You could sell products online in Kenya 24hrs for a set price and find out when you wake up bitcoin plunged and you lost money to the point of giving away your products. So long as there is only 1 major exchange we are at the whims of speculators and bots.
Isn't bitcoin too slow to be used for many transactions?

Right now, you can walk into a convenience store, buy a pack of gum, pay with your credit card, and the transaction clears within ten seconds or so.

From what I understand, a bitcoin transaction isn't set in stone (that is, the money could be double-spent) until it's placed in a block that someone mines - and to prevent problems with people mining the same block twice, multiple blocks. Since one block is mined every ten minutes, we're talking significant time to process a transaction.

There are ways around this - but IIRC they involve an intermediary that both sides trust. That intermediary is unlikely to work for free, so it looks like there would still be a problem.

It's possible that I'm misunderstanding something, or that someone has come up with a clever solution to this problem since I last checked - in which case, I'd like to know what the answer is.

Can always make another digital currency backed by bitcoin for these type of quick payments. No reasons Mpesa cant be backed by bitcoin instead of kenyan shillings
It is theoretically possible to double-spend a bitcoin transaction in the first 20 minutes after you spend it.

However, the cost of doing so (in processing power) is high enough that it's not worth doing for small amounts. So long as amounts over $100 wait for confirmation you should be fine.

I don't understand where the cost comes from. Can't you double-spend at will until one of your transactions makes it into the blockchain? Until that point, as far as the Bitcoin network is concerned, you haven't actually spent any money. So it seems like you'd have ten minutes or so of double-spending ability, totally free, and only have to start using processing power if you want to extend beyond that ten-minute period (by forking a blockchain that excludes the transaction you intend to double-spend).

My understanding of Bitcoin implementations is pretty vague, though, so I'd welcome correction if this isn't actually how it works.

Nope, you're right - you need a single confirmation before it would cost to double-spend. I was misremembering.
There are issues to be aware of, but for small amounts it's perfectly reasonable to acknowledge a transaction without confirmations (this is known as a "zero-confirmation" transaction).

For example, our service[1] clears transactions in seconds.

[1]: https://yumcoin.com

I think this may be a case of comparing apples to oranges. You're holding each method to different standards. Let's apply the same standards to each protocol:

The credit card transaction can't be double spent after 180 days (or however long the chargeback period lasts).

Bitcoin can't be double spent after your transaction is seen by the majority of mining nodes (ca. 10 seconds). Then, after a few blocks are mined (~30minutes) bitcoin offers unparalleled security.

TL;DR: When comparing credit card transactions' vs bitcoin transactions' hardness, use similar metrics for confirmation.

While correct, it doesn't really address the issue: Bitcoin isn't useful for such scenarios.

Chargebacks are not quite the same. There's an investigation and so on. I can't repeatedly take my credit card out, buy $2000 cameras, and claim I didn't. Bitcoin doesn't have that safety measure.

Bitcoin nodes will reject transactions that conflict with ones they have already seen. Once the transaction is broadcasted, the only way to replace it would be to mine the next block and include it yourself.

The only other feasible way to double spend a merchant would be to scour the topology and find a client that has low latency to the merchant you are trying to defraud, but much higher latency to any significant hashing power. Unless they have their node configured to accept incoming connections, which is not recommended for merchant nodes, the attack is very difficult to pull off and requires a significant element of luck to work.

There are also companies like BitPay that will absorb the risk of a double spend in addition to handling your payment logistics, for a fee less than the typical credit card fee.

With credit cards, the transaction may be nearly instant, but there can also be chargebacks days after the fact. In the scenarios where instant transaction verification and/or chargebacks is in demand, companies can provide these financial services based on Bitcoin just like credit cards are based on USD or other centralized currencies.