eltoo towers and implications for settlement key derivation



Summary:

In a discussion about eltoo paper and watchtowers, Rusty commented that due to NOINPUT, any update transaction can spend from any other, so the tower only needs the most recent update txn to resolve any dispute. However, in order to spend, the tower must also produce a witness script which when hashed matches the witness program of the input. To ensure settlement txns can only spend from exactly one update txn, each update txn uses unique keys for the settlement clause, meaning that each state has a unique witness program. ZmnSCPxj chimed in to say that according to his understanding, this is not logically possible because the update transaction has no fixed txid until it commits to a particular output-to-be-spent, which is either the funding/kickoff txout, or a lower-`nLockTime` update transaction output. Thus, a settlement transaction must use `NOINPUT` as well, as it has no txid it can spend, if it is constrained to spend a particular update transaction. Any presigned descendants of a NOINPUT txn must also use NOINPUT as well. This chain must continue until a signer is online to bind a txn to a confirmed input. The unique settlement keys prevent rebinding of settlement txns since NOINPUT with a shared script would be too liberal.


Updated on: 2023-06-02T21:54:00.997232+00:00