There are several good arguments in this thread for burning XCP as gas.
If we go down this route, I would think we would adopt the same gas fees schedule as what ethereum uses: http://ether.fund/tool/gas-fees – this is how much specific EVM instructions consume, in gas
The other factor is the gas price, which is how much each unit of gas costs in XCP. here is ethereum’s: http://ether.fund/tool/gas-price
So it seems the main question is how gas price is determined: statically or dynamically, and if dynamically, what is the approach used?
With Ethereum, the gas price costs are effectively dynamic, as they are set by individual miners, as the minimum price they would include contracts in a block for. See https://www.reddit.com/r/ethereum/comments/494sug/high_gas_price_is_killing_ethereum_projects/d0q0p28
As our model is not the same as ethereum’s because with CP we don’t have miners, and CP nodes effectively have no individual level of choice on whether they perform a contract execution or not – if the contract execution request passes some deterministic, network-wide criteria, then all network nodes must perform the execution in order to maintain ledger consensus.
Given that, there are some options for a dynamic minimum gasprice model:
- Have it set by POS vote, or dev vote
- Have it set by the protocol on a specific time interval, based on certain parameters…options include: amount of XCP currently in existance, amount of EVM computation over last X period of time, block height, XCP market price as published from an oracle or from the DEX (both methods have issues), and so on
- Have it hardcoded, and set via an (forced) update of the software
- (One could say having it set by consensus of node operators, but that wouldn’t work due to the possibility of sybil attacks and the current absence of a P2P link between CP nodes)
- (Also, any model that takes into account XCP price in my opinion is fragile (especially so if coming from an oracle), and easily manipulated (especially so if coming from the Dex)
The optimal gas price must be high enough to function as an effective spam deterrent, preventing potential DOS vectors (i.e. spamming contract executions), and must be low enough to not prohibit the use of smart contracts functionality. It must also be cognizant of the total # of outstanding XCP and take that into account, especially as the supply is progressively burnt up. Being “cheaper than Ethereum” for execution cost may have some value here, as well…
In determining the viability of burning XCP for gas, I’d like to get opinions on how gasprice can best be determined from folks… ideas?