cothority
cothority copied to clipboard
Minimise the possibility of transaction loss
In cases when a leader restarts or a follower restarts or fails to send the pending transactions to the leader, some transactions might be lost as @jeffallen pointed out in https://github.com/dedis/cothority/pull/1329#discussion_r200075174
We should make an effort to minimise transaction loss.
Possible reposnes:
- don't do anything: clients should not trust the conode they give their tx to, should keep track if the tx never arrives in the blockchain and resend.
- followers store pending txs to stable store asap, and monitor if a tx has arrived in the blockchain. (no protocol change).
This probably is not needed, but keeping to not lose it: What if a v3.1.x conode asks a v3.0.x conode for "CollectTx2", which is a protocol a v3.0.x conode does not know? Because if that's handled right, then we can take this on later, if our solution needs a new protocol.
Decision: we will not do this for v3.
Before working on this, we need a clear design, which addresses the question "why do this at all? why not require clients to do this?"