The Philippines is a nation of 100 million people scattered across 7,000 islands. The population uses mostly cash, with just 5% using credit/debit cards. 85% of the population are unbanked. The 2 main Telcos provide the majority of e-wallet services (Globe with G-Cash and Smart with Paymaya. There are other fintech products coming onto the market, but there are underlying problems in getting the majority of the population to use digital cash. Most of the fintech companies and banks do not offer APIs that allow integration from external apps and websites, so the result is a disparate array of services where money is siloed.
Bring on the Blockchain
Many people are familiar with the idea of Bitcoin - a digital currency that is anonymous; where value can be transferred within seconds using alphanumerical addresses that users own to receive and pay others; and with no centralized control. The use of cryptocurrency such as Bitcoin has issues where central banks are concerned, and the extreme volatility means it is very difficult to use it as a currency. But the underlying technology - the Blockchain - is sound, and very secure. Using a permissioned version of the Blockchain that runs Bitcoin means that a token asset representing a Fiat currency can be created and issued with a balance that has an equivalent amount to match it that sits with a financial institution. Addresses can be issued to users and merchants that have been KYC (Know your Customer) verified and the transactions can be tracked to mitigate money laundering, terrorist financing etc. Ideally, it should be the Central Bank that issues and manages the central database of users matched with addresses, but a regulated entity could also do this.
How it works in practice
A merchant is given one or more addresses and publishes it on their website or app. Customer uses a digital wallet to transfer from his account to that address, with optional reference data like an invoice number. The Merchant monitors for incoming amounts using a webhook to watching for incoming transactions. That’s it. No logins needed, no major API integration other than a simple webhook. Optionally, the merchant can run their own node of the blockchain, create their own addresses, permission them and use wallet-notify to detect incoming deposits.
Is there a need for banks anymore?
Since merchants can now create their own nodes, manage their own balances, and transfer with no transaction fees to other merchants, where is the need for a bank to store money, at least for domestic usage? The more companies that use the blockchain for checking accounts,, the less need to use a bank to store your money, except for interest earning accounts.
Connecting the dots
Back to the issue of different fintech companies, each with their own wallets and accounts etc. How do you transfer money between them all? As a customer you want to have your money wherever the services are to spend them on, and to this end companies should make it easy to allow the money to move in and out. A blockchain allows for this real time settlement between entities. Each e-wallet provider (or even a bank), runs its own database of users, transactions and balances. They can each have a blockchain node that stores their own private keys and public addresses. Each customer can be issued their own address. If regulated to do KYC verification and manage user wallets, the e-wallet provider can also permission each address to receive and send as well.
When a user on one platform wants to send money to a merchant or another wallet provider, all they have to do is enter the address to send to. The wallet software will deduct their centralized user balance, and send from its chain balance to the address being sent to. At the other end, it is received instantly and can be credited to a user with that address. No APIs needed.
At any point in time, the tokens can be exchanged for cash with regulated entities, as, by law, there has to be cash to cover the tokens issued on the blockchain.
What about private key loss?
On the blockchain one private key / public address pair is generated. Funds are sent to the public adress, but without the private key one cannot spend any funds sent to that address. If that private key is lost or stolen then essentially you do not have control of your funds anymore.
With a permissioned blockchain, the addresses can be registered to a user or company, so a central authority knows the path of fund transfers. There is no point in stealing and moving money, because those transfers can be tracked. Addresses can be frozen instantly a problem arises, either by a blockchain admin, or by the user themselves. After checking, a new address can be created, permissioned and funds sent to it. The old address is then permanently retired, never to be used again.
Building on the Blockchain
Any apps can now be built on top of the rails provided by the Blockchain. KCY Verification is handled by core entities. This enables new business models to be built, and existing companies to integrate payments without much effort and without transaction fees.
All that has been described is available right now from Tagcash, which runs a blockchain based digital wallet and services platform.
Tagcash uses open source software Multichain, blockchain software forked from Bitcoin core in 2015. Tagcash is a both a partner and developer of Multichain.
The online wallet can be used at tagcash.com, and merchants can connect to the chain and run their own wallets (install multichain.com on a machine, and connect to a node via terminal (eg:
multichaind email@example.com:3000 &), then enter the address given in response in the tagcash wallet blockchain connect page.