Blockchains are public data structures that store permanently a chain of transactions.
One important condition to ensure that the information is stored permanently is that there are mechanisms that avoid “rewriting” the past and this is the key characteristic of a blockchain: its immutability and the impossibility to rewrite the past.
But immutability, is as well the main reason that make blockchains stillunusable for banking transactions. In day to day banking activity it is typical to “rewrite” the past by delaying the confirmation of transactions. For example, when an stock trade is executed it remains “unconfirmed” until the clearing house verifies that the broker has delivered the shares against the payment that was kept in a escrow account. A stock trade may take days or even weeks to be confirmed and this is the inefficiency paid to ensure the trade is done safely. If the payment is not completed, the payment is reversed and nothing else happens (well , there are lots of stupid practical implications of this such as a person who works in the backoffice of the bank having to manually reconcile business reports and management info until late hours at night. I have seen this too many times)
But back to our point, inefficiency in the stock market settlement layer is not the main reason for delays in banking transactions. One even more important reason is law enforcement of certain controls that is delegated to banks by public regulators. Banks are agents of the governments that grant them licenses to conduct such complex and dangerous activities, and they give those licenses against a duty of complying with the surveillance obligations that they can’t do by themselves (and, please believe me, this is very much needed). Lets look at it in more detail.
A typical bank transfer (a payment) in a major currency, takes from 1 to 3 days to confirm, this is even between banks that have a direct relationship with each other ( they keep accounts with a record of debits and credits with each other). The reason why this takes so long is compliance rules enforcement: Delays in bank transfers give banks a chance to reject a payment that does not fulfill the conditions set by compliance rules. This is very important as it enables either of the parties to reverse or “extourne” the payments which may have been identified as fraud or non compliant with regulations. These days banks have systems that automatically inspect those “incoming” transactions and flag the ones that are suspect to violate the law set by regulators. Those are then manually double checked by a person in the back-office or from the compliance department, who then decides if it can be accepted or if it has to be rejected. If the later occurs then a person to person contact between the back offices or both banks occurs so that the funds are not debited/credited their client accounts. It is important that banks are given the time to ensure that those operations can be blocked as this is a key enabler in the fight against financial crime, yes ! , but lets not be naive, systems are systems and they often fail and only humans can have a call to resolve those failures.
If we would not have the chance to amend/correct transactions that are not “compliant” , this is , if we we would have automatic confirmation of transactions in real time, we would open the door for criminals to spend the illegal funds immediately, making them “irrecoverable” . And , if you are with me you agree, nobody wants that. So we are stuck with the banking inefficiency… well at least we were until we discovered the “Blockchain”
To explain how this would work we need to consider a couple of simplifications in our world. I know those simplifications will overly reduce the complexity of the scenario to a point that becomes utopia, but well, it was as well an utopia to think that all horses would be gasoline powered one day.
Lets see what those simplifications are and we will later set conditions that would enable waiving most of those constrains. Additionally, and in order to make this a little bit more interesting we will assume the blockchain we will ask banks to use is the Bitcoin blockchain. This will at least add a pinch of realism to our scene.
These are the constrains of this ideal imaginary world:
1. Banks hold accounts with all banks, this means each bank has accounts with 5000 other institutions ( 25 banking institutions by country * 200 countries in the world is a very generous estimate)
2. There is a single world currency and a single financial crime regulation, hence a banking licence in a country allows to operate with the same name in any other country. This means if I do something bad somewhere, then my regulator will raise the red flag at home.
3. Regulators take the Blockchain as the single version of the truth to resolve disputes between parties
4. There is no payment consolidation, multi-party payments or escrow accounts owned by several banks (this is probably already a very safe realistic assumption these days anyway)
5. All payments between banks need to be signed by both parties, the one that pays and the one that receives the payment.
Let’s call this currency used in this blockchain “Imagine-coin” , a coin which was described very well by John Lennon in“Imagine” back in the early 70’s (by that time the basis that supports the blockchain were still absolute utopia). Imagine-coin has a 3 letter currency code XIC , which is not used yet as per http://www.xe.com/iso4217.php (please feel free to register it now, but look at the copyright notice below first)
Lets imagine as well that 5000 banks keep open payment channels with each other where they temporarily store transactions until they decide to settle them on the blockchain. They can use for this their own nostro accounts, a shared database or even a peer to peer solution as the lightning network. That does not really matter, as the purpose is to record a temporary set of debits and credits between those banks.
Banks decide to settle the net balance on the payment channel based on open settlement limits. This is initiated by either of the parties requesting to clear the open balance using a multi-signature bitcoin transaction where both parties have to sign it to release the funds (this is part of the Bitcoin protocol since 2011 or so ? … well , since long time and it is awesome)
How realistic would be such an amazing world where anyone would have real time access to the financial situation of every bank in the world? the regulator’s dream and the end of the FMI, at last !!
Well, we have typically one big problem: capacity. Is it a real problem?
Blockchain scale problem
It is often stated that the bitcoin blockchain cannot become the blockchain on which all international settlements are made. But this does not hold. In fact the problem of scale quickly becomes manageable by using payment channels and direct one to one settlements as described above. Some numbers.
The bitcoin blockchain can store up to 10 transactions per second (https://en.bitcoin.it/wiki/Maximum_transaction_rate) . This is in the case of one to one single signature transaction. Multisignature transactions should require additional bytes to store the other party signature. Lets assume this halves the transaction rate to 5 transactions per second.
Still, 5 transactions a second means 432.000 transactions a day. Assuming each of those 5000 banking institutions have in a given day activity with any other bank in the world over and above theor settlement limits this would mean we would need to settle every day 25.000.000 transactions, bad news. Well not so bad, this assumption very far from being realistic. In fact in the current banking world banks hardly use more than couple of dozens of relationships with other banks, one per currency they use (and believe me, very few use more than hald a dozen daily). So in fact it is very realistic to assume that we need maximum of 24 relationships by bank which means 24 * 5000 banks = 120.000 combinations of parties that will settle on the blockchain.
The Bitcoin blockchain will then be able to cover all daily settlements and still remain well below its capacity ( at the time of this writing Bitcoin processes around 170.000 transactions daily and it is expected to process up to double that amount, this is more than 300.000 once latest protocol improvements are used by all participants)
The problem of crowding out?
Using the Bitcoin blockchain as described above would leave more of half of the capacity free for other uses. It is still a big proportion of the total bandwidth but it would have very negative effects on the trasaction fees: banks would be ready to pay higher fees to ensure their transactions are confirmed as soon as possible. In fact one could imagine banks would seek to clear their opening balances as often as possible to eliminate the smallest chance of settlement risk, which would potentially keep out of the chain any other transaction not happening between banks. I do not think this is a problem. You can use Bitcoin with lightning network at virtually no cost and you can always use other blockchains for peer to peer direct payments.
Banking system could be so simple that it is almost mind-blowing to think what banks would become once we implement Imagine coin. We would have to question again if we need more than one bank per currency/country.
Legions of backoffice people, auditors and accountants would lose their work, as they would not be needed anymore to resolve disputes, reply to regulator requests for information or solve reconciliation issues between their systems.
Regulators would have a shared single version of the truth of the functioning of the financial systems they strive to control.
And all this can be done right now. With atechnology that we have today which is not owned by anyone but it is public, robust and non subject to manipulation or censorship.