This is an automated archive made by the Lemmit Bot.
The original was posted on /r/monero by /u/Creative-Leading7167 on 2025-02-19 19:45:13+00:00.
I’ve been thinking about Monero’s L2 (not yet created).
Transaction chaining allows signing a transaction spending another transaction, before the spent transaction is published and mined on-chain. This enables certain layer-two designs for Monero (such as some payment channel protocols).
And I’m a wee bit confused how this works.
It sounds like it’s saying “I’m signing this transaction (tx A) to let you receive money on this other transaction (tx B) that hasn’t happened yet, so you can kinda pretend like it’s happened now and give me the goods”. But how is this secure? What if I just never sign transaction B so the rest of the chain fails?
But I also got thinking, why do we need FCMP++ anyway? I think I can design an L2 without transaction chaining at all (nor do I see how transaction chaining solves anything).
Suppose I make a wallet with a 2 of 2 key with you. Then I sign a transaction to you from that wallet, with my key signed. Then whenever you want you sign with your key and publish it to the blockchain. Or you don’t. You wait until I buy something else from you, and I sign another transaction with an updated amount. You can never pull more money out of the channel by sequentially publishing outputs because once one is processed that input is spent and can’t be part of another transaction. Nor can I try to spend from this shared wallet to someone else, because you have the other key.
So Why do we need transaction chaining anyway?