It is broken in Ethereum. In Ethereum, since consistency is enforced by transaction nonce rather than UTXOs, there is no way for a "watcher" to keep the payer honest by rebroadcasting a previously signed transaction output. Indeed, in Ethereum you can "cancel" a transaction in the mempool by signing a blank transaction with a higher fee and same nonce, which is by design.