seredat / karbowanec

Karbo (Karbovanets) - Digital Exchange Medium - cryptocurrency made in Ukraine, CryptoNote protocol implementation.
https://karbo.io/
Other
104 stars 66 forks source link

Fixed fee #152

Closed aivve closed 3 years ago

aivve commented 3 years ago

The "Dynamic difficulty driven transaction minimal fee regulation" implementation doesn't really work and because in the foreseeable future such adaptive fee seems not necessary as it is very unlikely that minimum transaction fee value in $ will skyrocket along with the coin's price, it is proposed to ditch it altogether and replace with a constant. This will speed up a bit the synchronization and simplify the code. After the hardfork it is possible to remove some related code to make it more clean and simple, replacing functions with few constants. Functions to get the fee from the node left intact to enable its changing via height-based hardforks.

Now dynamic difficulty based fee uses an all-time avg. difficulty as a reference difficulty, whereas it should've used some preselected difficulty at the point of time when the coin had the desired price to calculate the corresponding fee.

This all-time average difficulty is not from the initial equation F = S * A / D as is in the whitepaper, where, F​ — minimum transaction fee in native currency, KRB; S​ — starting fee in fiat equivalent, USD; A​ — Average difficulty constant, corresponding to the chosen level of fiat price; D​ — Current difficulty. Moreover, it is now fucked up by ASICs.

We can not guesstimate this Average difficulty constant for the future hardfork, so this entire idea doesn't really work and should be ditched and replaced with a static fee.

aivve commented 3 years ago

Why all-time average difficulty was used as a reference at all?