How can Bitcoin serve 7bn people?

Visa transfers 2,000 transactions per second, whereas Bitcoin transfers 7 transactions per second. If bitcoin wants to establish itself as a currency that can be used daily by 7bn people worldwide it needs to scale up. What can to be done for Bitcoin to scale up its transaction processing volume?

  1. Do nothing. Since the popularity of Bitcoin is growing, the demand for transactions is growing. Since there is more demand than capacity, and the miners are processing first the transactions which offer a higher transaction fee, the cost of sending money with Bitcoin is going up. Currently an average bitcoin processing fee is 101,700 Satoshis, which is worth 2.5 USD. This means that paying for a cup of coffee with Bitcoin would cost another cup of coffee in payment fees. This also means that the backlog of unprocessed transactions is growing. At the time of writing this there are 507 unconfirmed transactions. At a rate of 7 transactions per second, if no more transactions are received, it will take 2.20 hours to confirm the backlog. Imagine having to wait 2.20 hours for your coffee payment to go through.. doing nothing does not seem like a viable option.
  2. Increase the block size. By design, Bitcoin generates one block every 10 minutes. This block can fit in as many transactions as possible as long as it’s size is below 1MB. One simple solution would be to increase this 1MB limit to 20MB for example. This would fit many more transactions per block, and the speed at which transactions are processed would increase. Bitcoin Improvement Proposal BIP100 describes this. The problem with this increase is that larger blocks would make full nodes more expensive to operate, which would decrease decentralisation as some nodes would no longer be able to bear the cost. A hard fork would be needed, risking splitting bitcoin in two cryptocurrencies, and all of this would not give a final solution, as the block size would need to increase periodically to support all the world’s future transactions. Off-chain transactions would be the only long-term solution.
  3. Use each block more efficiently. In December 2015, at the Hong Kong Bitcoin Scaling event, Pieter Wuille introduced the idea of Segregated Witness, a modification to bitcoin which would reduce the amount of information needed for each block. This freed-up space could be used to introduce more transactions per block. The advantage of this approach is that it can be done with a soft fork minimising the risk of splitting bitcoin into two cryptocurrencies.
  4. Minimise the number of on-chain transactions. Joseph Poon & Thaddeus Dryja wrote in January 2016 the Lightning network whitepaper. This would enable minimising the number of transactions that need to go into the blockchain by adding a layer on top which would create one to one payment channels. These payment channels which would be fully collateralised IOUs between counterparties would form a network with which a payment could be routed. This is similar to the concept that Ripple is using, which in turn is similar to the concept of correspondent banking.

A heated debate has split the Bitcoin community for the last year. Developers, miners, markets and users could not agree on how to solve the problem, as every option had risks.

At the Consensus 2017 Conference an agreement seems to have been found. The option agreed is to implement Segwit with a 2MB block. Although even after this middle ground has been found, heated debate goes on.

 

Hopefully the bitcoin community will be able to find a way to find consensus, not only in the blockchain, but also in the way to evolve in order to meet the challenges that will be found.

bitcoindebate

Advertisements

What is a Hard Fork? Ethereum vs Ethereum Classic

On 30th April 2016, a group of developers, mostly coming from slock.it, created the first Distributed Autonomous Organisation on the Ethereum network. They called it “The DAO”.

Through an Initial Coin Offering (ICO), people could buy their DAO token. In 28 days, The DAO raised over 11 million Ether (ETH) which at the time was equivalent to $150m, making this the biggest crowdfunding in history. An ICO is a controversial way to raise money since it is unregulated and it gives buyers no ownership like equity shares would. Ownership of these DAO tokens would grant voting rights to decide what project to allocate the DAO’s capital to.

On 14th June, an attacker managed to take advantage of a bug in the way The DAO was coded and took 3.6m Ether into a child DAO, which had the same rules as the parent DAO, not allowing the attacker to retrieve the money during the first 28 days. The Ethereum foundation had 28 days to defuse this bomb. This created a big controversy in the cryptocurrencies world:

  1. The attacker argued that that money was rightfully his, since he had taken advantage of a “feature” of The DAO which allowed his action. In the smart contracts world code is law as the smart contract can be understood as a contract written in programming language.
  2. Part of the Ethereum community was in favour of letting the hacker take the money. They argued that things that happen on the blockchain should be immutable. And that modifying/censoring/corrupting the past would be a slippery slope which would open a door to do it again in the future for other reasons.
  3. The other Part of the community was against letting the hacker take the money. Their arguments were that the community could have the last word in these cases.

On 17th June Vitalik Buterin proposed a soft fork update in the Ethereum code, which would block the child DAO from allowing funds withdrawal. This would buy more time to decide what to do without the money disappearing. However, hours before its planned release, the developers detected that this would open the possibility for a denial-of-service attack. The update could not be released. The hard fork was the only way left. This hard fork would transfer all balance of the DAO to a new smart contract which would only allow the legitimate owners to withdraw. In order to decide whether to implement this hard fork or not, an online referendum was held where each Ether held gave right to one vote. The outcome of this referendum was in favour of the hard fork by 89% so the hard fork was implemented and a trigger was set in pace for it to activate when reaching block 1920000.

On 20th July, block 1920000 was reached in the Ethereum blockchain. The DAO Hack was reversed. However not all miners agreed to this and kept the previous version running, creating a new cryptocurrency called “Ethereum Classic” (ETC). Both blockchains are identical up to this block, on one, the DAO Hacker was unable to claim his prize, on the other he kept it. At the time  I had 200 ETH in my Kraken account, the day after I had 200 ETH and 200 ETC, their valuation in Euros was wildly different as the Market gave higher value to ETH than ETC.

A hard fork is a change in the blockchain protocol which is not backwards compatible. If all users agree to follow, then there is no issue, but  if some decide to stay and not accept the change, a new blockchain is created which will run in parallel and compete in the blockchain space against the original.

Ethereumclassic

 

Homo Cyborg will substitute Homo Sapiens

In the 2012 summer Olympics, Oscar Pistorious, who had lost both his legs when he was 11 months old, competed both in the Paralympic games and in the Olympic games. He was able to run at an Olympic level thanks to his artificial limbs. He didn’t win, but he still runs faster than 99% of humans despite missing both legs.

Adrianne Haslet-Davis, a ballroom dancer, lost a leg In the 2013 Boston Marathon Bombing. Thanks to Hugh Herr and MIT’s Centre for extreme bionics, she can dance again.

 

Hearing aids are common as a prosthetic to help people hear, these could be enhanced to allow people to focus hearing on a distant conversation, connect them to the internet or to an alexa style AI,  or be a phone, effectively giving a holder of this prosthetic an advantage over the rest of humans.

Artificial knees or hips are common prosthetics which enhance non life-threatening issues. MIT, and Elon Musk’s Neuralink , are independently investigating how to enhance these artificial limbs to connect them to the nervous system, connecting the brain directly with machine interfaces. If this happens, this interface could become faster than our normal reflexes, potentially allowing an enhanced human to dodge a bullet.

 

Anthony Atala has been able to print a kidney, George Church, from Harvard Medical School is using human genome to create any organ. Sergio Canavero is scheduled to transplant a human head by end of 2017. Dmitry Itskov has set out to copy the human brain to a computer within the next 30 years.

 

If humanity becomes able to transfer a head to another body, then it would be reasonable to assume it could be transferred to another input/output mechanism. If memory and consciousness can be copied, then the body could be swapped for a robot which could live for long periods of time, work on our behalf, clone itself, or travel the galaxy to terraform distant planets.

 

These enhanced prosthetics, once they become a reality, would grant normal humans with extraordinary abilities: eyes which could zoom in, record, see holographic projections of internet data. Exoskeletons which would allow to lift heavy weights, run or jump faster. Brains directly connected to the internet, stronger bones and muscles, perfect hair…

There will come a time where being a Homo Sapiens will be a handicap. Get ready for Homo Cyborg.

 

homocyborg

 

Are we in base reality?

Every year, late July, I meet with my geek friends at euskal.org, a computer enthusiasts party where we share our love for computers, undersleep and follow a strict diet of pizza and energy drinks.

Last year I was able to play with an HTC Vive Virtual Reality headset, and I’ve been wanting to get one ever since. The VR experience was amazingly immersive.

I played “starwars, trials on Tatoonie” and by putting my headset on I was no longer in Spain, I was in the desert of Tatoonie, I could look around me and see everything as I would expect to see in normal reality. By putting the headphones on, the immersion was complete. Not only could I see things, but I also could hear R2D2 and Han Solo speaking to me, the Millennium Falcon engines roar and the hum of my lightsaber.

Elon Musk thinks there is a “one in Billions” chance our reality is not a simulation. At the rate of advance of technology, simulations and videogames are becoming every time more realistic, from pong being two lines and a dot 40 years ago to the photorealistic games we have today.  We are clearly in a trajectory to build games that are indistinguishable from reality. Maybe it could take us 10.000 years to get there, but on a cosmic timescale this is not much time. If we accept we will at some point be able to create a simulated reality, with individuals existing within its confines, then, since mathematics will be the same, at some point the inhabitants of this sub-reality will themselves be able to create a sub-sub-reality, and so on indefinitely. Once you accept this argument has no flaw, the next logical question is: are we in a simulation? are we in base reality?

A hypervisor is a piece of software that sits between the hardware and the operating system of a computer, providing it a simulated hardware. The operating system does not know it is running within the confines of a virtual machine.

In 2006, Joanna Rutkowska presented at the Black Hat Briefings an attack named “blue pill rootkit” against the Windows Vista kernel protection mechanism. This attack moved Windows to a virtual machine, so the operating system seemed to run normally, but in reality the machine was owned by the hacker, who could run other software on the hardware outside of the virtual machine.

Rutkowska also developed “red pill”, which would allow an operating system to know whether it was running within the confines of a simulation or on real hardware.

If one of the simulated realities was able to detect whether or not it was living within a simulation, similar to “red pill”, it could communicate with the outer environment, even hack into it running arbitrary code. God could be hacked.

redpill

Surviving Artificial Intelligence

“The ever accelerating progress of technology … gives the appearance of approaching some essential singularity in the history of the race beyond which human affairs, as we know them, could not continue.” – John Von Neumann

 

In 1997, Deep Blue beat Garry Kasparov at chess by calculating using brute force the possible next moves and choosing the best one. No human will ever be able to beat A.I. at chess.

In March 2016, Google’s AlphaGo software beat Lee Sedol at Go, using a new method called “deep learning”.  This new technique enabled a computer to learn on its own, playing against itself to improve its game.

One of the few games humans are still undefeated by machines at is crosswords, because machines still find it difficult to infer that a three letter whiskered animal that hunts mice and loves milk is a cat. However even here AI promises to beat us in the near future. Currently Google Translate’s AI is capable, after being taught to translate from English to Japanese, and from English to Korean, to translate directly from Japanese to Korean, without using English. This means the AI has created its own language!

Moore’s Law observes that computing capacity doubles every year. Seeing where we are today and projecting this accelerating rate of advance into the future, it is probable that at some point we will be able to create an AI which is as smart as a squirrel. Some time after that as smart as a chimpanzee. At some point AI will reach human intelligence, but there is no constraint stopping it there. Once AI is capable of enhancing itself past the level of human intelligence, very fast we humans will be closer to the intelligence of a squirrel than to the AI.

The implications of this computer superintelligence are equally fascinating and concerning:

  1. How can we ensure this AI has human values? In order to fulfil any task the AI may set out to solve, human interests may be in the way. When asked about the implications of Artificial Intelligence, Stephen Hawking said: “You’re probably not an evil ant-hater who steps on ants out of malice, but if you’re in charge of a hydroelectric green energy project and there’s an anthill in the region to be flooded, too bad for the ants. Let’s not place humanity in the position of those ants”.
  2. If AI is capable of running the world, performing every single job. What will humans do? How will income generation and inequality look like in a world with no jobs? Bill Gates proposes that companies which use robots pay taxes for them. Elon Musk points towards a basic income which governments would have to pay citizens .
  3. If this AI goes astray, can we turn it off? Probably we will have become so dependant on it that turning it off would not be simple. Where is today the off switch to the internet?
  4. How will humans interact with this AI? Will a human marry an AI? Will we have AI CEOs or presidents? Will this AI colonize and terraform other planets for us?

 

The same way the atom has always been there waiting for humans to discover it, it’s more a matter of when than a matter of whether humankind will be faced with this problem. If we get this right and we manage to survive it, future generations will probably look back and agree this was the single most important thing humans have achieved.

aistartrek

Ethereum, the planetary computer

In the Blockchain world, currently there are thousands of players, each competing to reap the success that Bitcoin has achieved.

Among these players, my favourite by far is Ethereum.

 

Ethereum uses the Blockchain as an infrastructure on top of which it creates smart contracts: Software programs which run on a computer which can’t be turned off, which can’t be censored, which can’t be interfered with, and which can’t be tampered with. This planetary computer enables anyone to write programs which will be able to send or receive money in the form of the Ethereum cryptocurrency.

Historically, applications are centralised, each application can only run on one computer. If this computer becomes compromised or turned off by an attacker, many users and other programs are affected. Ethereum, similar to Bitcoin, uses miners and has a cryptocurrency. What ethereum does differently is that the miners, the nodes in the peer-to-peer network not only build blocks listing transactions, can also run programs received and modify the state of the Ethereum computer.

Ethereum allows anyone to:

  1. Send or receive payments in their ETH cryptocurrency. Currently 1 ETH is worth 68.75 EUR
  2. Easily create their own cryptocurrency (I created Jamoncoin last July. Currently 1 JMC is worth 0 EUR )
  3. Create a distributed autonomous organisation (DAO). A DAO can store cryptocurrency and permit transfers in and out of the DAO through a voting governance.
  4. Use the public Ethereum blockchain, or easily install a private blockchain. (JPMorgan and Santander have left R3 and joined the “Enterprise Ethereum”)
  5. Build any distributed application you may dream of, here are 5 examples of cool things happening with Ethereum:
    1. Slock.it allows a physical lock to be unlocked via payment to a smart contract.
    2. The United Nations have launched a test to distribute aid in Jordan
    3. Augur or gnosis allow crowdsourcing prediction markets
    4. Arcade city: Uber meets Tinder to revolutionise ride sharing
    5. DGX allows you to own gold without the hassle of having to store it

Ethereum is open source, so if you have an idle weekend ahead of you, visit their webpage, and start learning Solidity, the Ethereum programming language 🙂

ethereum

Five ideas to understand bitcoin

Today at lunch I had an interesting conversation with my father-in-law who was curious about Bitcoin. Lately I’ve received curious questions about this from peers, friends and family, so I think it could be a good idea to put my thoughts in writing. If you would like to get a more detailed view, I recommend visiting bitcoin.com or reading “Mastering Bitcoin” by Andreas M. Antonopoulos.

Bitcoin is an algorithm described in 2008 in still anonymous Satoshi Nakamoto’s whitepaper “Bitcoin: A Peer-to-Peer Electronic Cash System”. This algorithm is developed and maintained by the open source community and run by the miners, who get bitcoin as compensation mining bitcoin blocks.

Who creates these bitcoins? can’t this bitcoin creating entity create more and more?

This is a great question, to understand it, first you need to understand five ideas:

  1. What is a hash?

A hash is a function that for an input of any size returns an output of fixed size (256 bits) with 3 very interesting characteristics: 1) this function is calculated very fast 2) a minuscule change in the input (a comma in the bible) produces a radically different output, so there is no danger in mistaking one hash for another. 3) the probability of having two different inputs that produce the same output is similar to finding an atom in the observable universe.

  1. What is a blockchain?

A block is a data structure which holds information of the last transactions that have happened. Within this data structure, one field holds the hash of the previous block. This hash links each block to the previous one forming a linked list, or chain.

If a malicious user wants to modify a transaction which happened in the past, let’s say 30 blocks ago, to record that he received 100 instead of 1, he would need to modify the 30th block on which his transaction happened, calculate the new hash of the modified 30th block, modify the link field of the 29th block with the modified hash of the 30th block, calculate a new hash for the modified 29th block and modify the link field of the 28th block to add this new hash, and so on until the most recent block.

  1. How are bitcoins generated?

A miner can be any normal person running the bitcoin software in their computer. In the bitcoin network, there are thousands of transactions happening every second, these transactions are communicated to all the miners who compete to be the one to calculate the next block the first. A new block is created by the fastest miner every 10 minutes. In order to be the fastest, the miner has to solve a simple problem which can only be solved by trial and error: create the new block with the pending transactions, fill the salt field with a value of your choosing, so that the first 10 characters of this block’s hash are 0. The algorithm self-regulates the difficulty (number of characters which must be 0) so that a new block is calculated every 10 minutes.

The miner which produces the block the first is allowed to add to the block an additional transaction giving him 5 bitcoins. This answers the original question, “who creates these bitcoins?” the miners. “can’t this bitcoin creating entity create more and more?” No, only the miners can create more by competing for the next block and obtaining the reward.

  1. How can I get bitcoins?

You can either obtain bitcoin from someone who you know has them, in exchange for goods or services, or you can go to a market such as poloniex.com or kraken.com, create an account, transfer some EUR to your account from your bank and send an order in the market to buy bitcoin. Cryptocurrency market orders function the same way as you may be use to buying and selling securities at your bank’s online webpage.

  1. How can I use bitcoins?

Once you have bitcoin, you can store them at your market’s account or you can transfer them to your bitcoin wallet (a software which you install on your computer), you can send bitcoin to any other bitcoin wallet anywhere in the world.

Bitcoin allows cross border, immediate payment without needing to rely in any intermediary institution such as a bank, or an online payment company (paypal).

If you are interested in digging deeper into bitcoin, I recommend you watch this video by Andreas M. Antonopoulos.

aantonop