Impossibility of DeFi Risk-Free Rates

  1. Defining a DeFi risk-free rate
  2. Summarizing some key computer science results
  3. Proving DeFi risk-free rates are impossible
  4. Covering some basic implications

DeFi Risk-Free

First, let’s be clear we are limiting the scope of this discussion to trustless environments: tokens on decentralized permissionless blockchains, handed out via some randomized process. The precise details of that process do not really matter. As we discuss in the paper, randomness and decentralization are the essential features.

Theory Setup

As we are talking about properties of smart contracts we need a bit of computer science theory. Most smart contract languages are what is known as Turing Complete. That’s a fancy way of saying they are normal, full-power, programming languages.

The Proof

Now consider any piece of smart contract code. Let’s write a very simple function:

function ModifyContract(code, address)
for all lines where code can terminate do
InsertCodeBefore("b = CurrentBalance(address)")
InsertCodeBefore("TransferFrom(address, b+1, x)")
end for
return code
function SolveHalting(code)
newcode = ModifyContract(code, x)
return RiskFreeVerifier(newcode)

Fees

But fees limit the runtime! Sure. Except that when you hit the gas limit and fail a) no loan occurs and b) you still pay the gas fees. A contract that might spend all your money proving it won’t lose it in a different way…that’s not risk-free. And any scheme where you collude with the validator to avoid leaking gas on failures — that’s either trusted (i.e. you control all the validators) or still risky (i.e you don’t).

Non-Turing Complete Languages

Now we could try to do this with a non-Turing-Complete language. Three issues pop up. First, it’s harder to construct such a language then you think. Second, having a construct which is limited still runs into Rice’s theorem. And third, it’s not clear what useful services can be built as the world generally runs on Turing-Complete languages.

Money Printing

Can we fix this with some sort of money-printing contract? Short answer: no. Let’s say we have a function that prints tokens. That function is either open to all or restricted somehow.

DeFi Is Incomplete

The tokens discussed here do not have risk-free rates. A more precise technical version of that statement is made in the paper . This means, in a formal sense, the market is incomplete. Further, even if you are trading trusted tokens which do not themselves have this property, you are probably paying fees in a native token which does. All activity on decentralized permissionless blockchains where fees are paid in native tokens touches this problem.

Conclusion

Lastly, this is not directed at any particular token or protocol. What math does not permit will not be done. The goal of this, and other related research, is to move the state of the art forward by laying down clear boundaries. Finance, and science in general, deals with this all the time going back to the days of alchemy.

--

--

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