Bancor is a fractional reserve protocol — 2

Image for post
Image for post
For my American audience, you are looking at a 10 pound note

I love looking at money, especially when it has features leftover from a bygone era. The concept of “I promise to pay the bearer” suggests that a banknote is full reserve backed by gold. Well maybe if you time travel back to 1930 it might be exchangeable for gold coins, although I wonder what a 10 pound sovereign really looked like. Keep this this idea about currency in mind because it will come in handy for later. Using the Bancor protocol we can print money that is essentially a promise to pay out “on demand” another type of money.

You may be thinking that Bancor is primarily good for providing liquidity to community currencies. It doesn’t just provide liquidity it also allows anyone to audit an insurance policy and measure it’s solvency. As mentioned in my previous post the solvency of an insurance policy is always relative because a policy pool is never full reserve.

The goal of these posts is to prove beyond a doubt that the Bancor protocol can provide anyone with a way to model and predict an insurance policy’s future ability to pay claims. To this end we need to see:

  1. How claims can be tokenized i.e. how we can create currencies which represent outstanding promises to pay claims.
  2. How tokenized claims relative to existing reserves provide us with a measure of a policy’s solvency.
  3. How variables within the Bancor Formula for price discovery constrain a policy’s model of risk to be measured in terms of solvency relative outstanding future claims.
  4. How these constraints make an insurers model of risk transparent and their promises more explicit.
  5. How the protocol can reward insurers who behave honestly and punish insurers who engage in dishonest behavior.
  6. How all of the above limits the degree to which policyholders can be impacted by fraud and abuse.

Insurance is a fractional reserve system

In my last blog post I tried to outline how insurance by its very nature is a fractional reserve system. As a reminder, reserves are money in the policy pool. The fractional part is the difference between the actual reserves available to pay insurance claims and the maximum potential value of all claims that could theoretically be generated by all policyholders.

Given the above construction insurance by its very nature always has a greater value in the denominator. To have the correct value of reserves on hand insurance companies employ actuaries. Actuaries are able to use data to determine what percentage of policies will likely open up claims within a certain period of time.

So long as this ratio is greater than 1 then an insurance policy remains solvent. But we still can’t be 100% certain a policy is solvent. Rather, we can be fairly certain that if the models we create are accurate then the policy is solvent. If we get a 100-year hail event and this was not predicted by our model then there are going to be some issues.

However, no one who obtains a policy has any clue how much solvency a policy has. Insurance is a black box and we just assume that an insurance company will pay our claim because the agent that signed us up was so nice to us. Or maybe we think that since we live in a fair and just society an insurance company has to pay our claim because “law”.

Insurance built on blockchain technology should not be a black box. It’s solvency should be transparent and instantly auditable. Anyone should be able to know how much reserves a policy has and how many claims are outstanding. Anyone should be able to create their own models and make their own predictions as to how solvent a policy is. But to do this you need Bancor or a protocol like it.

How to integrate Bancor’s formula into insurance

This is Bancor’s formula:

And below is the formula I suggested in my previous blog post that can be used for understanding how solvent an insurance policy might be:

And this is a hybrid formula in a full reserve system that uses Bancor

We see that in the hybrid formula the Bancor part determines the exchange rate between a reserve currency and another type of local currency called CA. CA is short for claim award. This local currency represents a promise to pay outstanding claims. By tokenizing claim awards we can relate promises to pay a claim to the ability to pay a claim. In a perfect world every promise to pay a claim is backed up with a credible intent to pay a claim.

In this first example since our weight is equal to 100% the Bancor protocol is not determining an exchange rate between currencies as it would normally do. This simplified example will make it easier to understand how the basics work before moving onto advanced concepts.

Later we can change the weight setting to incorporate an exchange rate. That rate reflects an insurers model of risk. More specifically it makes explicit what the insurer thinks the likelihood is of a claim being opened within a specified period of time.

Once we incorporate the concept of weight we can use Bancor to create a special new type of escrow called a fractional reserve escrow. This type of escrow can guarantee the right to withdraw funds but cannot guarantee the exchange rate between tokens and reserve currency when the BXCs weight is less than 100%. If you want this explained without the use of formulas this blog post is helpful. This allows the exchange rate to gradually decay over time as solvency decreases. This gradual decay is a positive attribute as traditional escrows can become suddenly insolvent if claims exceed reserves. Bancor fractional reserve escrows have gradual reductions in solvency but never become completely insolvent. Let’s first define our basic terminology before we dig further into how the integration works.

Legend for understanding the formulas

BXC = Bancor eXchange Contract. The reserves and tokens sitting in the yellow box in the examples.
CA-currency = Claim award currency. This is our community currency that represents a tokenized obligation to pay a claim when they are given to policyholders. The BXC exchanges our claim award currency for reserve currency effectively paying a claim.
Reserves = These tokens must be either ETH or BNT.
CA-out = Claim award tokens outside of the BXC. These tokens are paid out to policyholders whose claims are approved. These tokens represent a promise to pay a claim in reserve currency.
CA-in = Claim award tokens inside of the BXC. These tokens keep an accounting of the ability to access a reserve currency. In the case of insurance it represents the ability to pay out a claim in reserve currency.
CP = Claim payment in ETH or BNT. Once a claim payment is made the associated CA-token is destroyed and the obligation is considered settled.

In a full reserve system since there is a 1:1:1 ratio between Reserves : CA-in : CA-out there is an expectation that 1 CA always equals 1 (ETH/BNT).

In the above simplified example we have a clear delineation between honesty and dishonesty. If CA-out > CA-in then not all claims will be fully paid. This is always going to be true even when we add the concept of weight back into the formula. If CA-out is ever greater than CA-in then fraud is being committed. This simplified example doesn’t take into consideration the matter of time, the incremental payment of claims or the incremental addition of premiums over time. But knowledge of values in the above formula does provide you with a current snapshot of the policy’s solvency. In the world of traditional insurance policies it is not a trivial task to determine if an insurance policy is solvent. The task of determining solvency requires an army of accountants and auditors and it may only be performed once per year.

Since blockchain technology provides policyholders complete transparency, determining a policy’s solvency is reduced to a simple accounting task. We can do the calculation ourselves. It is trivial to track how many tokens (representing outstanding claims) are inside or outside a contract. Everyone can see how much reserves are available in the BXC to pay outstanding claims. Therefore everyone should be able to know the solvency of a policy on the blockchain. Allowing policyholders to calculate the solvency of their policy whenever they wanted would be a remarkable accomplishment. This level of transparency would place tremendous accountability on an insurer to be honest.

Applying the formulas to a fractional reserve model

Now that we understand the basics, let’s add the concept of weight back into our formula to see how this impacts our model.

By adding back the concept of weight which is not 100% we have a fractional reserve system. It is difficult to visualize how weight affects the conversion of claim award currency (CA) to reserve currency (ETH). I created a spreadsheet which visualizes how different weights affect the payment of claims. Different weights produce systems with different levels of solvency. This blog post illustrates what a weight of 10% looks like. Once we understand the concept of weight within the BXC we can choose the weight that is right for our policyholders.

As more claim awards (CA-currency) are sent to the BXC and converted to payments (ETH/BNT) the exchange rate between CA-currency and reserves in the BXC will change. If we want to maintain a 1:1 ratio between a CA-currency and a reserve currency we need to follow two rules:

If the rate at which claims are settled every day is equal to or less than the rate at which premiums are injected every day then the 1:1 exchange rate will be maintained. This doesn’t require policyholders to make daily micro-payments of premiums but just that an insurer holds premiums outside of the BXC initially after payment and only adds them into the BXC incrementally. As a side note if our reserve currency is either ETH or BNT then policyholders will still be exposed to currency volatility risk but that is another issue.

Given the above two rules it is unlikely that a policy could become insolvent overnight. The transparency of a BXC escrow holding insurance funds allows policies to be auditable. The rules which govern a BXC escrow allows policies to be fair. Both are needed to provide policyholders enough information and sufficient time to perform actions which will reduce the potential for financial loss.

If a system is gradually becoming insolvent policyholders can switch providers to avoid a lapse in coverage. If the policyholders are members of a mutual insurance fund perhaps in the event of a sudden loss they could coordinate to solve the problem. For example, cannabis farmers affected by California wildfires in 2017 could use crowdfunding to presell cannabis goods. Funds raised in this way could inject reserves back into the system to restore solvency.

The rules which maintain a 1:1 exchange ratio are rules which enforce fair treatment of claims. Fairness means that all claims which are opened at the same time receive equal treatment as described in my first blog post. Incremental payments of claims out of the BXC and premiums into the BXC are not only necessary to maintain fairness but to provide predictability.

The next blog post will provide some context for how the concept of “weight” works in the Bancor formula.

Written by

Incentives architect for TandaPay

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store