Price of forgery (PoF) may be viewed as a way to quality control human verification (HV) methods. Upala protocol allows bots to sell (”liquidate” or “explode” in Upala terms) their IDs for a specific amount money. Depending on the amount bot farmers are either incentivized to forge a HV method or not. The amount which is just below their incentive is considered the Price of Forgery for the particular human verification method. See this video to learn how price of forgery works. And check out this article - Measuring human uniqueness score in dollars on Ethresearch.
PoF could be measured in multiple ways. Below is the methodology that is optimised for cost-efficiency (there’s cost vs time polarity).
Score - the amount of money that we offer to a user that passed a HV method.
PoF - the score value which we consider the current Price of Forgery for the HV method. The thing which we are measuring. Unknown at the beginning. And should be remeasured periodically.
Bid - the score value being tested
The measurement goes in auction steps. The bid is set to some low value and is raised slowly over time. As soon as the number of bot liquidations exceeds a predefined threshold, the corresponding bid is considered the PoF. The bid is then reset to a much lower value and the gradual increase is started again. If threshold is hit again that bid defines new (lower) PoF. The bids are always below PoF.
Bid duration. A period of time during which a bid is being tested (let’s use one day as an example).
Starting bid. The score we start with. It makes sense to keep it low.
Bid Step. A number of percents that the bid goes up if the previous bid didn’t attract enough bots. The lower this value is the more accurate PoF we can get, and the more time it will take.
Liquidations threshold (or just threshold). Every period will have some liquidations going on (people got hacked, liquidating out of curiosity or by mistake - not real bots). We define the threshold of such liquidations as a number of bots which is “enough” to be considered a bot army. Or probably a better way would be to set it in dollars.
Step down. A number of percents that the bid goes down after the threshold was hit.
Pool size. The amount of money that is exposed to bots. Defines how many bots can be liquidated simultaneously (n = Pool_size / bid ).
You can experiment with different parameters in this Price of Forgery campaign estimation doc.