<oembed><type>rich</type><version>1.0</version><title>Conner Fromknecht [ARCHIVE] wrote</title><author_name>Conner Fromknecht [ARCHIVE] (npub1za…uua2a)</author_name><author_url>https://yabu.me/npub1za0a9afyj7um5feva0d5xmhfsah3zxm252hna2duq0numa952frqvuua2a</author_url><provider_name>njump</provider_name><provider_url>https://yabu.me</provider_url><html>📅 Original date posted:2019-12-03&#xA;📝 Original message:&#xA;Good evening,&#xA;&#xA;&gt; I didn&#39;t think this was the design.  The update transaction can spend any&#xA;prior, with a fixed script, due to NOINPUT.&#xA;&#xA;&gt;From my reading of the final construction, each update transaction has a&#xA;unique script to bind settlement transactions to exactly one update.&#xA;&#xA;&gt; My understanding is that this is not logically possible?&#xA;The update transaction has no fixed txid until it commits to a particular&#xA;output-to-be-spent, which is either the funding/kickoff txout, or a&#xA;lower-`nLockTime` update transaction output.&#xA;&gt; Thus a settlement transaction *must* use `NOINPUT` as well, as it has no&#xA;txid it can spend, if it is constrained to spend a particular update&#xA;transaction.&#xA;&#xA;This is also my understanding. Any presigned descendants of a NOINPUT txn&#xA;must also use NOINPUT as well. This chain must continue until a signer is&#xA;online to bind a txn to a confirmed input. The unique settlement keys thus&#xA;prevent rebinding of settlement txns since NOINPUT with a shared script&#xA;would be too liberal.&#xA;&#xA;Cheers,&#xA;Conner&#xA;&#xA;On Mon, Dec 2, 2019 at 18:55 ZmnSCPxj &lt;ZmnSCPxj at protonmail.com&gt; wrote:&#xA;&#xA;&gt; Good morning Rusty,&#xA;&gt;&#xA;&gt; &gt; &gt; Hi all,&#xA;&gt; &gt; &gt; I recently revisited the eltoo paper and noticed some things related&#xA;&gt; &gt; &gt; watchtowers that might affect channel construction.&#xA;&gt; &gt; &gt; Due to NOINPUT, any update transaction can spend from any other, so&#xA;&gt; &gt; &gt; in theory the tower only needs the most recent update txn to resolve&#xA;&gt; &gt; &gt; any dispute.&#xA;&gt; &gt; &gt; In order to spend, however, the tower must also produce a witness&#xA;&gt; &gt; &gt; script which when hashed matches the witness program of the input. To&#xA;&gt; &gt; &gt; ensure settlement txns can only spend from exactly one update txn,&#xA;&gt; &gt; &gt; each update txn uses unique keys for the settlement clause, meaning&#xA;&gt; &gt; &gt; that each state has a unique witness program.&#xA;&gt; &gt;&#xA;&gt; &gt; I didn&#39;t think this was the design. The update transaction can spend&#xA;&gt; &gt; any prior, with a fixed script, due to NOINPUT.&#xA;&gt; &gt;&#xA;&gt; &gt; The settlement transaction does not use NOINPUT, and thus can only&#xA;&gt; &gt; spend the matching update.&#xA;&gt;&#xA;&gt; My understanding is that this is not logically possible?&#xA;&gt; The update transaction has no fixed txid until it commits to a particular&#xA;&gt; output-to-be-spent, which is either the funding/kickoff txout, or a&#xA;&gt; lower-`nLockTime` update transaction output.&#xA;&gt; Thus a settlement transaction *must* use `NOINPUT` as well, as it has no&#xA;&gt; txid it can spend, if it is constrained to spend a particular update&#xA;&gt; transaction.&#xA;&gt;&#xA;&gt; Unless I misunderstand how update transactions work, or what settlement&#xA;&gt; transactions are.&#xA;&gt;&#xA;&gt; Regards,&#xA;&gt; ZmnSCPxj&#xA;&gt;&#xA;-- &#xA;—Sent from my Spaceship&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/lightning-dev/attachments/20191202/00acdf73/attachment-0001.html&gt;</html></oembed>