Author: Gavin Andresen 2015-11-05 09:23:44
Published on: 2015-11-05T09:23:44+00:00
The author discusses the problem of measuring CPU and bandwidth costs for validating a block. They suggest using "percentage of maximum validation ability for some reference hardware running with a network connection capable of some reference bandwidth" as the common unit of measurement. UTXO growth is harder to measure as it can be negative or positive, so a reasonable growth rate should be chosen. The actual UTXO growth is expressed as a percentage of the maximum allowed, and combined with the CPU and bandwidth percentages to determine if the block is valid.The author also considers whether miners or wallets need to solve a bin-packing problem to determine which transactions to put into their blocks or what fees to attach. They suggest using fee-per-validation-cost instead of fee-per-kilobyte, but note that transactions that create more UTXOs than they spend might end up being costly. The author proposes breaking the cost into three (UTXO growth, CPU, and bandwidth) and letting miners set reasonable transaction selection policies that keep each of the three under whatever caps are imposed on each.
Updated on: 2023-06-11T00:51:54.778359+00:00