FactomProject / factomd

Factom Daemon
https://www.factomprotocol.org/
Other
201 stars 92 forks source link

Convert Replay Filter to view the past via blocks #1110

Open PaulSnow opened 3 years ago

PaulSnow commented 3 years ago

Factom uses a replay filter to invalidate messages that are "too old" or "too new".

"too old" is defined as more than one hour prior to the current directory block timestamp. "too new" is defined as more than one hour in the future as defined by the directory block timestamp.

In the case of "too old", transactions are discarded. In the case of "too new", they are held until they are no longer "too new".

Instead, we would propose that "too old" is older than the sixth block's timestamp. This means if the network stretches minutes, or stalls, transactions submitted in that time can still be processed.

If the number of transactions is too great, some will be dropped as they time out before being processed. This doesn't appear to present a significant problem for the protocol at this time.