factomd icon indicating copy to clipboard operation
factomd copied to clipboard

Modify Factoid transaction validation to require the minimum fee over the last hour

Open PaulSnow opened this issue 4 years ago • 1 comments

Factoid transactions can be timestamped as much as an hour ahead or hour behind the time of the current block. Because transaction fees are calculated using the FCT to EC conversion rate, updating the conversion rate can make pending transactions invalid.

Not updating the FCT to EC conversion rate makes conversions to ECs inaccurate.

Since future transactions will stay in holding until they can validate, FCT transactions only have to validate against the past hour.

We have talked about using ECs for transaction fees in Factom, and we could enable that. The main benefit is that the factoid transaction fees are constant in terms of ECs, and computing the difference of the source and destination FCT amounts to pay the fees has always been awkward.

PaulSnow avatar Mar 25 '20 21:03 PaulSnow

First of all, I'd like to say that adding the ability to pay for Transactions with EC would be a great addition, as long as it's optional.

As for using the min fee over the last hour for transactions, I'd say that it's a good change with no significant downsides and fixes some edge cases.

As far as I can tell, transactions are only held if they don't have enough balance to cover the transaction yet, otherwise they're always processed right now. Transactions dated in the future (<60m) are not delayed until that timestamp. This would affect transactions waiting for balance, or transactions that are not sent immediately after creation for whatever reason. Both of these probably don't happen very often.

WhoSoup avatar Mar 30 '20 15:03 WhoSoup