KIP-63 Parameter Updates due to High Gas

Motivation

We currently have an urgent situation due to high gas prices. Gas is high enough to make the cost of voting higher than the reward for being coherent.

I ran through William calculator here.

Notably, I changed the “number of gas” parameters below, which might make the situation slightly better.

  • vote gas is actually 162k (from 140k)
  • appeal gas is actually 177k (from 158k) (appeal cost reference was taken from PoH)

I ran this calculation with the following gas assumptions (low 80, medium 150, high 250):

gaspricelow=0.000000080 #lowest realistic price of gas in ETH per gas
gaspricehigh=0.000000150 #max price of gas at which still worth juror effort to participate 
gaspricemax=0.000000250 #price of gas beyond which voting costs more than juror fees

If any mistake was made, please correct me. I intend to request for this to be put to vote as soon as possible. Proof of Humanity parameters were pasted from the calculator output, but William suggested they need extra work to be calculated, so they could be patched before this is put to a vote.

Implementation

I propose to update the parameters in the following courts:

General Court

Proposed juror fee : 0.041 ETH
Proposed minstake : 3000.0 PNK

Blockchain

Proposed juror fee : 0.041 ETH
Proposed minstake : 7600.0 PNK

Non-Technical

Blockchain->Non-Technical

Proposed juror fee : 0.041 ETH
Proposed minstake : 12000.0 PNK

Token Listing

Blockchain->Non-Technical->Token Listing

Proposed juror fee : 0.12 ETH
Proposed minstake : 44000.0 PNK

Technical

Blockchain->Technical

Proposed juror fee : 0.12 ETH
Proposed minstake : 49000.0 PNK

English Language

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK

Onboarding

Proposed juror fee : 0.026 ETH
Proposed minstake : 3000.0 PNK
Proposed alpha : 1

Curation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

Curation (Medium)

Curation->Curation (Medium)

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK

Spanish-English Translation

English Language->Spanish-English Translation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

French-English Translation

English Language->French-English Translation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

Portuguese-English Translation

English Language->Portugese-English Translation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

German-English Translation

English Language->German-English Translation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

Russian-English Translation

English Language->Russian-English Translation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

Korean-English Translation

English Language->Korean-English Translation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

Japanese-English Translation

English Language->Japanese-English Translation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

Turkish-English Translation

English Language->Turkish-English Translation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

Chinese-English Translation

English Language->Chinese-English Translation

Proposed juror fee : 0.041 ETH
Proposed minstake : 16000.0 PNK
Proposed alpha : 0.5

Corte General en Español

Proposed juror fee : 0.041 ETH
Proposed minstake : 7800.0 PNK

Humanity

Proposed juror fee : 0.041 ETH
Proposed minstake : 6000.0 PNK

Those values look mostly good to me.

That is a good catch on the vote gas. Note that how much gas is required to vote depends slightly on whether a juror is the first juror to vote on a case, the last juror, or somewhere in the middle.

For example, these should be the three vote transactions in the first round of case 1226:
https://etherscan.io/tx/0xb3b0de6f8a55ae07c6c135ed8688a0894b2e515d1248732a479397aa39170d1c
https://etherscan.io/tx/0xdc944a9ae8ebc7065ae00d7909d4a763528d42d52fcceaa41c5f2b059f6ddc18
https://etherscan.io/tx/0xfdbe8860aab8bbf48159bb16c35c602cba14f02ce0db571d0d3a5c68cf8600e1
I think when setting that value in the calculator in the past, I may have taken the average. Of course, currently, in the Humanity court most votes are in the one juror round so the juror is both first and last, so we should at least adjust the gas to vote to reflect that for that court.

The only places where my calculations really differ are for the Technical and Humanity courts. (I think you may have used an old version of this file that has older estimates for the effort required and the rates of coherency in these courts. I can’t currently open the link you shared so I can’t check. The effort estimate in the Technical court for example was revised downward somewhat to 80 EUR per task based on feedback on more recent tasks.)

For Technical, I get:

Technical

Blockchain->Technical

Proposed juror fee : 0.08 ETH
Proposed minstake : 29000.0 PNK

For Humanity, we have to deviate from the calculator if we don’t want extremely high deposits due to the high rates of “Reject” being the winning option in that court (see the discussion in KIP-59 Humanity Court Parameter Updates (January 2023) for more information on this point). Specifically, we need parameters so that the strategy of always voting to Reject only has an acceptably low return instead of a negative return as the calculator attempts to achieve. I propose:

Humanity

Proposed juror fee : 0.041 ETH
Proposed minstake : 20000.0 PNK

So with that, the voteStake would be 10000 PNK. The fee to voteStake ratio is somewhat higher than in KIP-59, but as one has to pay the gas regardless of whether you are coherent or not you can’t necessarily directly compare the risk-return profile of this proposal to KIP-59 at the time. The return of always voting to Reject here would actually be negative if you assume the attacker also has to pay the 150 high gas. If you assume she manages to pay the low gas of 80 gwei, (the calculator assumes that attackers in general manage to only pay this level of gas) then the strategy of always voting Reject has a small positive return on the scale of that of the parameters from KIP-59 with the gas prices at the time.

More generally my only comment is that these gas estimates seem fairly conservative, even by the standards of the high gas we are currently experiencing. By setting them this high, the arbitration costs in most courts (all of the courts that wind up having a fee of .041 ETH) are being determined by the constraint that the juror reward covers the cost to vote at the max gas estimate of 250 gwei. That, of course, correspondingly drives up deposits, etc on the various arbitrable applications. On the other hand, most of the lower value applications are already having their cases considered by Gnosis Chain courts. PoH is still using the mainnet court pending the launch of its v2.

Note, as jurors don’t need to worry about being frontrun, they can set a particularly low gas price and hope that the transaction gets in at some point over the several day voting periods at a point when gas is particularly cheap. On course, gas prices could get even worse; so maybe the estimates should be this conservative.

The gas prices seem to have cooled down a bit, but are still higher than what the existing parameters were calibrated for. With gas estimates of low, high, and extreme of 40, 80, and 160 gwei respectively I get the following parameters. So maybe we can consider these as an alternative, though it depends on if people think gas prices will spike back up again, which is something that is hard to model.

Note that with these estimates the Humanity court parameters actually wouldn’t change much - it is just that the various constraints the calculator uses to lower bound the juror fees now give the same thing. (Namely the fees that the calculator sets to at least cover the cost of gas in extreme gas environments has increased to more or less match the fees that were being chosen to appropriately incentivize jurors’ effort in normal to high gas environments.)

General Court

Proposed juror fee : 0.026 ETH
Proposed minstake : 2600.0 PNK

Blockchain

Proposed juror fee : 0.026 ETH
Proposed minstake : 5700.0 PNK

Non-Technical

Blockchain->Non-Technical

Proposed juror fee : 0.026 ETH
Proposed minstake : 9200.0 PNK

Technical

Blockchain->Technical

Proposed juror fee : 0.068 ETH
Proposed minstake : 24000.0 PNK

Onboarding

Proposed juror fee : 0.014 ETH
Proposed minstake : 2600.0 PNK
Proposed alpha : 1

Corte General en Español

Proposed juror fee : 0.026 ETH
Proposed minstake : 4900.0 PNK

Humanity

Proposed juror fee : 0.026 ETH
Proposed minstake : 16000.0 PNK