Add finality deadline to transaction identifier
Open, To DoPublic


Contrary to what I previously thought, instances can send relay requests for a suitable-looking transaction as soon as they get a satisfactorily informative hint; they don't need to wait until they receive a partial agreement. Early sending of relay requests, and thus, potentially, early receipt of latency reports, could mean that partial agreements can be extended much more quickly, as soon as they're received.

However, as things currently stand, they'd need to guess at the expiry time to put in the relay request. This could be extended later, if necessary, but this could lead to unnecessary traffic passing around complete agreements for transactions that turned out to have undesirably late reversal deadlines, and therefore weren't participated in by most instances.

If the transaction identifier included a finality deadline — an upper bound on reversal deadlines — then instances could decide as soon as they receive a hint whether they're willing to participate in a transaction with a reversal deadline as late as that. The expiry time could possibly even be removed from the relay request, using the finality deadline for that purpose instead.