Live Fine-Tuning of Crypto-Economic Parameters Using a Smart Contract.

Can it be done while the network is in motion?

Dave Costenaro
Coinmonks
Published in
7 min readFeb 21, 2023

--

Image Generated on Dall-E

Crypto-economics are a powerful tool for global coordination. You can set incentives and penalties that automatically elicit the behaviors that a community desires. But what are the right magnitudes for those incentives and penalties? There are a lot of design and modeling techniques to decide this but… Wouldn’t it be nice to run a parameter sweep live on the protocol to find out for sure?

This concept applies to any blockchain actor (miner, validator, notary, etc), but let’s take an example of Filecoin Miners, a.k.a. Storage Providers, that earn block rewards by securing a sector of hard drive storage on the Filecoin blockchain. If they have faults, downtime, and otherwise fail to secure their sector with the right proofs, that sector is ultimately terminated and they have to pay a penalty. The penalty is slashed from the collateral deposit that they’ve staked earlier as a prerequisite to joining the network and receiving block rewards.

What should be the magnitude of this termination penalty? The only data point we have is what has been in the protocol since inception: an amount equal to 90 days of that sector’s block rewards. (See illustrative figure below)

Wouldn’t it be nice if we could see what the shape of the curve looks like around that point? If observed behavior followed the green line in the figure below, we might determine that we could reduce the termination fee to be less costly — in this example from 90 to 45 days of block rewards — while keeping essentially the same deterrent effect on the population of 2X% termination rate.

Hypothetical termination rate in response to more observations of Termination Fee

However, what if the curve looked more like the purple curve in the example below? Here, there is perhaps a new optimum where the network could charge a slightly higher fee of 110 or 120 days of block rewards, and thereby cut the number of terminations in half to 1X%.

Hypothetical termination rate in response to more observations of Termination Fee — part 2

The Idea

The holy grail of economic research — in terms of validity, causality, etc — is a natural experiment. Live and in the wild of what’s happening on the protocol with real human decision-makers. Getting live data in multiple parameter configurations enables a more efficient optimization of the solution space.

Large multi-actor systems like Filecoin have very complex cryptoeconomics with lots of parameters. Could you enhance your coverage and understanding of the solution space by trading off and shifting parameters in a net neutral way, using sets of additional penalties and payments orchestrated by a smart contract?

How might this be done?

Filecoin storage providers might opt into a program or experiment like this by depositing some FIL into the smart contract as “Participation Collateral.” They would be making a deposit saying: not only do I have this Filecoin sector with its collateral, but I want to participate in this market research experiment with a small, additional amount of collateral.

Some subset of SPs would likely participate because the experiment would offer and promote a net reward. This is similar to how market research is always done — maybe it’s a Starbuck’s gift card, or a raffle to win an iPad — but some incentive is offered. The SPs would want to get any special rates or promotions, so would agree to participate in a modified set of incentives and penalties where the accounting and settlement is all kept on layer 2 in a smart contract.

To be clear, the statistical expected ROI and value to SPs would on average be higher by participating in the experiment vs not participating in the experiment.

What this means is the research organization conducting the experiment would need to subsidize the smart contract by depositing that net reward amount into the contract beforehand. And participants would be limited to the first k signups until the expected extra reward budget is reached.

An Illustrative Experimental Design

Participating Storage Providers would then be randomly assigned to one of a number of packages that shift the crypto-economic parameters around in order to provide more coverage of the parameter solution space. So let’s walk through an example depicted in the figure below:

Illustrative Experimental Design for Live Crypto-Economic Fine-Tuning. Red font indicates variation from Control Group.

Four of the main crypto-economic parameters that constrain every Filecoin sector are Initial Collateral, Block Rewards, Termination Fee, and Fault Fee. Just for illustrative purposes, let’s assume that the initial collateral deposit for a given sector in the “control group” is 100 units (or 100 FIL, 100 dollars — whatever units work best for you). Next, the total amount of block rewards earned by this sector is 200. So you deposit 100 collateral, get that 100 back at the end of a faultless sector, and earn 200 units of block rewards along the way.

But if you fail to keep your sector online for too long, it reaches terminated status and 50 units are removed/slashed/burned from your collateral deposit. If you have a fault that results in only a short period of downtime, your collateral gets slashed by 10 units for each such fault. (Again, these are all just illustrative values)

Now, if you are participating in this Crypto-Economic Fine-Tuning (CEFT) experiment, you enroll in the corresponding smart contract by depositing some incremental Participation Collateral (PC) into it — let’s call it 20 units. At the end of the experiment, you would get the PC back in the same way that you get your initial collateral pledge for a regular Filecoin sector.

And lastly, you’d also get a new deal-sweetener: the Participation Reward, worth 20 units in this example.

All of the parameters in each column of the table would result in some average expected ROI, call it X. The goal of the experimental design is then to adjust the parameters of interest in diverse, realistic ranges such that the average expected ROI is the same for all columns.

Why Spend Incentive Money on a Control Group?

Having a control group is important for validity because the experiment is by definition self-selecting for a certain sub-group of storage providers who would opt into such a program. In order to compare treatment A and treatment B against the baseline of no treatment, you really need a control group of storage providers who have opted into this experiment and are monitored within the same cohort. You’re not necessarily going to have a valid comparison against any given storage provider that did not opt into this experiment. This is classic RCT (randomized control trial) design, the gold standard of socio-scientific inquiry.

Variations in the Treatment Groups

Table items in red font are what we’re modifying relative to the control group. In treatment group A, there is no participation reward. Rather, that value has been transferred to constitute an increase in the initial collateral and the block rewards. This group would provide insight into how sensitive or elastic changes in initial collateral and block rewards are with respect to each other.

In treatment group B, the changes in red font occur in the termination fee and fault fee. So we’ve increased the termination fee to deter that behavior more, but have decreased the fault fee, all such that the expected ROI for the package is X again.

These are just two examples. In a full-fledged experimental design, one could envision numerous columns or treatment groups with adjustments like this.

Analysis

Once the experimental design is complete and new sectors are enrolled, the smart contract then monitors the blockchain for the relevant activities in order to levy any relevant payouts or penalties for each group / package that are incremental to what is already happening by default on the core protocol.

It’s as if the network is experiencing the crypto-economic parameters that are in the experimental design.

Once the sectors have run their course, and performance data has been collected on termination rate, sector renewal rate, fault rate, etc — then statistical analysis, curve-fitting regression, and the like can be conducted to suss out the effects of the changes in the parameters as input variables.

Now with elasticity data and sensitivity curves in hand, the experiment designers can make evidence-backed proposals to more permanently optimize elements of the core protocol.

***

The idea was born out of discussions about the Filecoin core protocol between CryptoEconLab and BlockScience in Dec 2022.

See a video explanation of this material here: https://www.youtube.com/watch?v=BW7xyzFe6uQ

New to trading? Try crypto trading bots or copy trading on best crypto exchanges

Join Coinmonks Telegram Channel and Youtube Channel get daily Crypto News

Also, Read

--

--

Dave Costenaro
Coinmonks

Data scientist, engineer, consultant, and perpetually curious guy trying to make sense of the world and build good things.