<oembed><type>rich</type><version>1.0</version><author_name>npub1fyh6gqhg8zgyhhywkty047s64z2a7fjr307enrr3kqwtnk64plmsup2mv9</author_name><author_url>https://nostr.ae/npub1fyh6gqhg8zgyhhywkty047s64z2a7fjr307enrr3kqwtnk64plmsup2mv9</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2018-12-20&#xA;📝 Original message:&gt; On 20 Dec 2018, at 6:09 AM, Christian Decker &lt;decker.christian at gmail.com&gt; wrote:&#xA;&gt; &#xA;&gt; Ruben Somsen via bitcoin-dev &lt;bitcoin-dev at lists.linuxfoundation.org &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&gt;&#xA;&gt; writes:&#xA;&gt; &#xA;&gt;&gt; Hi Johnson,&#xA;&gt;&gt; &#xA;&gt;&gt; The design considerations here seem similar to the ML discussion of&#xA;&gt;&gt; whether Graftroot should be optional [1].&#xA;&gt;&gt; &#xA;&gt;&gt;&gt; While this seems fully compatible with eltoo, is there any other proposals require NOINPUT, and is adversely affected by either way of tagging?&#xA;&gt;&gt; &#xA;&gt;&gt; As far as I can tell it should be compatible with Statechains [2],&#xA;&gt;&gt; since it pretty much mirrors Eltoo in setup.&#xA;&gt;&gt; &#xA;&gt;&gt; My understanding is somewhat lacking, so perhaps I am missing the&#xA;&gt;&gt; mark, but it is not completely clear to me how this affects&#xA;&gt;&gt; fungibility if taproot gets added and the setup and trigger tx for&#xA;&gt;&gt; Eltoo get combined into a single transaction. Would the NOINPUT&#xA;&gt;&gt; spending condition be hidden inside the taproot commitment?&#xA;&gt; &#xA;&gt; I&#39;m not aware of a way to combine the setup and trigger transaction. The&#xA;&gt; trigger transaction was introduced in order to delay the start of the&#xA;&gt; timeouts until a later time, to avoid having an absolute lifetime limit&#xA;&gt; and having really huge timeout. If we were to combine the trigger&#xA;&gt; transaction with the setup transaction (which is broadcast during&#xA;&gt; channel creation), all of those timeouts would start counting down&#xA;&gt; immediately, and we could just skip the trigger transaction&#xA;&gt; altogether. It&#39;d be more interesting to combine update and trigger&#xA;&gt; transactions in a sort of cut-through combination, but that doesn&#39;t seem&#xA;&gt; possible outside of Mimblewimble.&#xA;&gt; &#xA;&gt; Cheers,&#xA;&gt; Christian&#xA;&#xA;&#xA;Correct me if I’m wrong.&#xA;&#xA;For the sake of simplicity, in the following I assume BIP118, 143, and 141-P2WSH are used (i.e. no taproot). Also, I skipped all the possible optimisations.&#xA;&#xA;1. A and B are going to setup a channel.&#xA;&#xA;2. They create one setup tx, with a setup output of the following script: &lt;s&gt; CLTV DROP 2 Au Bu 2 CHECKMULTISIG. Do not sign&#xA;&#xA;3. They create the update tx 0, spending the setup output with NOINPUT and locktime = s+1, to the update-0 output with the script:&#xA;IF 2 As0 Bs0 2 CHECKMULTISIG ELSE &lt;s+1&gt; CLTV DROP 2 Au Bu 2 CHECKMULTISIG ENDIF&#xA;&#xA;4. They create the settlement tx 0, spending the update-0 output with As0 and Bs0 using BIP68 relative-locktime, with 2 settlement outputs&#xA;&#xA;5. They sign the setup tx and let it confirm&#xA;&#xA;6. To update, they create the update tx 1, spending the setup output with NOINPUT and locktime = s+2, to the update-1 output with the script:&#xA;IF 2 As1 Bs1 2 CHECKMULTISIG ELSE &lt;s+2&gt; CLTV DROP 2 Au Bu 2 CHECKMULTISIG ENDIF&#xA;and create the settlement tx 1, spending the update-1 output with As1 and Bs1 using relative-locktime, with 2 settlement outputs&#xA;&#xA;7. To close the channel, broadcast update tx 1. Wait for several confirmations. And broadcast settlement-tx-1&#xA;&#xA;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20181220/4c9d8779/attachment-0001.html&gt;</html></oembed>