Can money exist without a banking system? “Sure,” say the bitcoin enthusiasts. But can we have the same kind of money that we’re used to – euros, dollars, yenis? The invention of smart contracts makes it a practical opportunity.
We are half-way through building a proof of concept for a tech savvy country to run a bankless monetary system in parallel with the traditional one. A few friends put together the infrastructure using Estonian ID system over a weekend, we’re now planning for a second iteration and you’re welcome to join if you believe you can help.
Commercial banks are good for keeping track of who has how much money, moving money from one person to another safely with accuracy and storing sufficient level of collateral, usually some reserves at a central bank and future loan repayments. Smart contracts have given rise to the concept of a decentralised autonomous organisation (DAO), where the rules of interaction between members cannot be changed after they have been encoded into a contract on blockchain. There are no system administrators, committees or board members, who could change the rules afterwards.
Euro 2.0 is a contract on an Ethereum blockchain, which keeps record of who has how much money and sets the rules about how money can move. It defines the control that the government and law enforcement have over the monetary system.
First weekend proved it
A group of 12 friends took a rainy weekend in July to play through what this contract and public infrastructure would need to look like. As engineers go, we don’t trust if something is possible until we’ve built it and seen it work with our own eyes. None of us had ever implemented anything on blockchain before, let alone smart contracts and this made the whole thing yet more exciting.
Where did we get to? We have a working “monetary system” contract encoded onto the blockchain – see github readme for details. We built an autonomous KYC agent for the Estonian ID scheme. If you have a mobiil-ID, you can get this agent to whitelist your Ethereum account. You can now hold and send crypto-Euro to anyone else on the blockchain. These transactions happen completely autonomously, without requiring a bank nor a tech company and at this point not even government institutions.
We also know that these payments clear in about 50 sec and cost ca €0.01 worth of processing power to make and record for eternity. Just proving to ourselves that the technology works is perfectly geekily rewarding, however we all know that what we proved would only be useful when it ends up in the github repos of engineers, who would eventually bring the new money into our phones, cars and fridges.
Second weekend gets practical
In order to bring the snazzy tech to life, we should put a payment API and a reference implementation of a human-usable wallet app around the Ethereum core. We ran out of time with this – the API barely works and the mobile app can make payments if you put your mind to it, but it is a long way from human-usable.
We’re getting together again for the weekend October 1st-2nd to finish what we started. You’ll find it fun if your definition of fun is:
- working on a restful API wrapper around the Ethereum contract
- designing the key & accounts management, linking with the Estonian ID tokens
- figuring out a BIP-32 equivalent on Ethereum
One of the confirmed guests will be Thomas Bertani, who has been working on a “be your own bank” project with Oraclize where the core premise is getting Estonian ID cards to work as physical keys to ethereum accouts.