Against Economic Abstraction

Firstly, let me apologize to everyone who is waiting for Chapter 5 of the history of Casper for producing this first. This turns out to be quite urgent because Greg Meredith is currently considering committing to economic abstraction in RChain. Chapter 5 is coming, I wasn’t able to produce it yet because I was travelling and then came down with a small cold. I’m almost feeling well enough to write it :)

What is “economic abstraction”?

I am going to cover the case against economic abstraction for:

  • security deposits (and other tokens that are “stakes” in PoS protocols)
  • transaction fees
  • incentives provided through token issuance

Against economic abstraction of security deposits

For clients of the consensus

To calculate economic security in the context of abstraction of security deposits (or staked coins), clients must at least be aware of the effective exchange rate between the different bonded/staked coins. This means that the clients must correctly answer these questions, for each coin:

  • Which exchanges/brokers have significant volume?
  • What is the market depth at these exchanges/brokers?

I will call this process price discovery (though this isn’t usually how the term is generally used, in economics literature). If these coins do not trade against the same assets, then the clients must also know about the exchanges/brokers and corresponding market depths for the “intermediate” assets required to trade between them. Due to economic abstraction of security deposits, clients must engage in extra-protocol price discovery every time they interact with the protocol to safely make an economic security calculation. No matter what their choice of base unit of account.

Moreover, the attack surface on the safety calculation is higher due to this economic abstraction because economic security calculations are sensitive to the market depths available from any exchange/broker that trades any of the bonded/staked tokens. Finally, this reduces the security of the safety calculation (and therefore of the protocol) because it is easier (or not harder, strictly speaking) to push down the price of any 1 of N of the tokens, than to push down the price of any given fixed token (which could have been the one native token, without economic abstraction).

For clients wanting to place a deposit

Note that the case against economic abstraction for security deposits is better in the context of a mandatory minimum bond size policy, since the protocol itself will need to do price discovery to compare the relative prices of tokens to determine minimum bond sizes in each token in a fair manner.

Against economic abstraction of transaction fees

For validators wanting to accept transactions

For clients wanting to make transactions

Note that the case against economic abstraction for transaction fees gets better in the context of a mandatory fee policy, since then the protocol itself will need to do price discovery to compare the relative prices of tokens in order to set the required fee for each token in a fair manner.

Against economic abstraction of token issuance

Insofar as clients must reason about economic security as a function of issuance, they must (at least) do extra-protocol price discovery in order to understand the price of the protocol’s issuance. This complicates client calculations of economic security.

Important notes

The attack surface on all of the calculations described above include attacks on the order books of any exchange/broker with non-negligible volume.

Price discovery is extra-protocol reasoning, and in practice (at least in the short term) will involve queries to the Poloniex API. This changes the nature of the trust model of the safe authentication of the economic security of the blockchain protocol.

Conclusion

By increasing the attack surface and changing the trust model of economic security calculations, it reduces security for everyone.

IMHO, economic abstraction is an exceptionally bad idea.

--

--

Absurdist, troll.

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