This is a thought experiment aiming to draft an economy model for a blockchain service for businesses.
- Businesses do not want to deal with cryptocurrency. They want to get an invoice and pay in fiat.
- Indian businesses cannot have cryptocurrency operations. There are several other jurisdictions with similar rules.
- Businesses want to deploy their applications on a public blockchain.
- EOSIO software is probably most suitable for this.
- Block producers and infrastructure providers need to stay in profit.
Let’s say a few block producers decide to start such a blockchain. It can be 3-5 legal entities. Important is that they are working in legal space. The system token cannot be a cryptocurrency, so it’s not bearing any material value, not tradeable, and is only used for resource allocation. There’s obviously no voting, because it’s the service sold by BP. The block producers are bound by a multiparty legal agreement.
The block producers mint an internal token that is only used for cross-charging between them. It is not tradeable and not usable outside of the block producers.
A customer that wants to buy a service will pay to one of BP. A copy of invoice and a receipt can be hashed and put on chain securely. The block producers maintain a smart contract table with mutual debts in fiat currency, so the BP that receives the invoice will register its debt toward other BP, so that the incoming payment is split equally.
The customer buys two kinds of resources: RAM for their accounts, and CPU allowance for a period of time, say a month or a quarter. Out goal is to have the customer pay regularly for the service. RAM is a one-time purchase, because there’s no easy way in EOSIO to confiscate RAM from an account that doesn’t pay. But CPU allowance is flexible: in standard system contract it is regulated by delegatebw/undelegatebw actions, but this can be changed according to the design needs. So, the system can, with help of oracles, adjust the CPU bandwidth daily according to the remaining balance. If the customer stops paying, the account does not get any CPU allowance on the next day, and the account is unable to transact. The billing procedure can be automated in a smart contract, and an external process needs only to trigger the execution once a day.
Once in every billing period, the block produces align their mutual debts with fiat invoices, and reflect that in the smart contract.
As the fiat payments and balances are stored on the blockchain, the customer can verify that the BP that got the money has registered appropriate amount as debt toward others.
As all relationships between parties are occurring in legal space and supported by legal contracts, dispute resolution is done in a standard way in civil court.
As a result, we get a coinless blockchain service: neither the customers, nor BP have to deal with cryptocurrency, and BP pay is solely dependent on customer invoices. Block producers are also deciding collectively on budget policy and infrastructure services, such as public API, history service, block explorers, etc.
Although this construct is not fully decentralized, there is still a measure of decentralization: all important decisions have to be made collectively, and the blockchain provides convenient means of running any kind of governance.
An EOSIO blockchain requires that 2/3+1 producer nodes are online and operational. It is desirable to have at least 9 nodes, so that the system is tolerant to an outage of two nodes. If there’s too few block producer companies, they will have to run multiple producer instances each.
Comments are welcome in telegram or twitter: “cc32d9”.