From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Sat, 31 Oct 2026 16:19:31 -0700 Received: from mail-oa1-f63.google.com ([209.85.160.63]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1xNIME-0002Dg-Dz for bitcoindev@gnusha.org; Sat, 31 Oct 2026 16:19:31 -0700 Received: by mail-oa1-f63.google.com with SMTP id 586e51a60fabf-49e379ab077sf1916708fac.3 for ; Sat, 31 Oct 2026 16:19:30 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1793488764; cv=pass; d=google.com; s=arc-20260327; b=K2UZ/Dd+0uDv4RTSJvUSngoRcrJLbUY5VlKkKg7G9ZOyH+oCXMNayF9yVRlJNMDRFz xHNQ5vK8pq94l4nf3ldxZhnVkT+GC1QVoF2bMr+oyjC+h96oRGbfkhp5lXNyVSRheUF+ d29Frf3p0mgcSswqxlkxx6N3CJGs2RY36t6Ox8IW25sXv6Pnw07uil0oswp2OYkQr5HT yjcLLAWoPahuAZO8/JTCBEuhQbAdlwFuL+/hG/1wnbI3Ab6UyTjSkJ25BO5BC/1x2dPn 1V/YHff9bEplaEKdVAq+vbAt4X70IV5ofj7Hnc48ENKAv6xZggvUVWBqbVV/HhkjGFbF 7zwQ== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:sender:dkim-signature :dkim-signature; bh=OZoqDS4YOB1x5Fhehh/dpTsFF/ojKraLfc0IH34wedU=; fh=a4870BF/r9TKm5K0fZsck447NorLYY9QEmCv6ckuLLw=; b=SggnrtLtXUSVJIbvXQAUKSbL88+jIMcYPoL1oq7xD85/aX4TGz40fTLYsJRngMZawj SQS10slBlevY7iRJAtCgJBvzKxyXfX2Ky2HpXyGMResqpwTUA6k8xSw7rXwuUqfEYX33 T78WTQPVC9Tt7rvInxq1F4F7ZW7KgL6v0Qibe5qwu4qwQ3Q9CFt1r3SF1M1JXwe7Tt4T kzewOoFutpxIoZ3PWOiR2GmbEEH9chcYuxqdlEfHHfLh3YDMr+Vq80GQnLy8khannNEt G2S5qBTCySR8hkM8GWaEsWVubBRr7d09BtKHXgrwLjYXIL/DhLzIppwmvn65hTI47tDa Ej/g==; darn=gnusha.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20260707 header.b=C8TU34Gr; arc=pass (i=1); spf=pass (google.com: domain of aaron.recompile@gmail.com designates 2a00:1450:4864:33::9 as permitted sender) smtp.mailfrom=aaron.recompile@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20260707; t=1793488764; x=1794093564; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:content-type:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:sender:from:to:cc:subject:date :message-id:reply-to:content-type; bh=OZoqDS4YOB1x5Fhehh/dpTsFF/ojKraLfc0IH34wedU=; b=Dmqy1sVmUWXi3V8xL9NI10A/zQ63CnGkfhVTz+suBy+r53PKtprJhBaAiId87n0DvL A0zZRrQjcBs7RJYHCmaW1SxYvgrzIGDxlw5MCf7z5EOsoa9M93v5DEh9GAUuLDQGOPmx CcCWxU+HiPNN1W7U77xUdrHH9GCB0e+6Fjkppb5D8JOE385Ko1TXYYaYNeVQR+X6Wym/ ziL/k2VLvcyfrkfpACaV9aFZQBw5hMHlimh8Xu9lPxqNN4gQUQH73cPbry7GxUMtCiF9 LIzGMeNKycuoB0y+NvMpJBhS1iISwuPv/Y5Hw5+K1Bb3zwj0z5bg9qmi0gQHN4Q6z/XX GBoA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20260707; t=1793488764; x=1794093564; darn=gnusha.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:content-type:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to:content-type; bh=OZoqDS4YOB1x5Fhehh/dpTsFF/ojKraLfc0IH34wedU=; b=V/h02n1xNLTC+vd0x6zNxWaZ/cXTVbbfvRVuB66w3Fl83UybeKJz3KixcM4BXw/rce eGsYiXL6WC64kpirClZwt1tZAlSesZKZ9JNtEVPIsM5OiyvpnUfw38ZOeS0oXC+49Djz PwrazLbnBScH5w2//ZqiKrDd7Ay6BoqnscMBaOZeczwqO1MU3Cm5MWWiIQlFeur1kMf1 W+Klb2V6K3lJwWOGf6YOHyrToyC3egt9tkpQpsl4gdx1lPF3sjpq2CkoBN+6oYbC+8qe g7xhtDyjeXL6jdwPylSHtRPRVwuuIAFcX1YJpcoFtvANS7nIYPgDfiT4VX1jzr5fo9dj 16MQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793488764; x=1794093564; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:content-type:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-beenthere :x-gm-message-state:sender:from:to:cc:subject:date:message-id :reply-to:content-type; bh=OZoqDS4YOB1x5Fhehh/dpTsFF/ojKraLfc0IH34wedU=; b=oJ6RttStGG7VGzE8lyQa+89CKibxupIuPSx3gFbfreQen2d8+D68Cvh/0mi1w+qt4q afNnjmcMVfBpcfEe4SgZ14b9KZAhDoCQq5g+nLIr8+0gLYZcA8A0ct+yveEsHHQSqzW/ xuh9aBOK5vBK0DSqvqstbYywBlOXMWNnpe4XH216ZBtIm0MkSQud5ntIiOyAfEZkdDfz h/syX2OqV0xDYmGpdl+OzkeK3Anrq0ktGDsVlPXNZ8AG+9N89ohjyM2MqDBcunwm3pW4 DmafQ19BNwT3sPDwO+LPJ+jboO8SaXss5wWyPR3JvREsrhgCSp010D7P5I0AH1BUGxIb lxgA== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=3; AKwUvBw+ap36GzB5KwTC5PbwfbK/987atuphaAXMJDk+VUKNWFzqfFPlU0a3jamGrmKaDyzkk6BE2tsrCGlm@gnusha.org X-Gm-Message-State: AFq9FYLzWWOjfzr0Rem2djoTf2Ug/5zDR/KLtxFTk6H0SFbK8mROgsk3 ZUJJtXU3S1F4USXVwdrF7u/WpZtAVje9MX94TlmqqAC8QLKXxaDJZ8Bb X-Received: by 2002:a05:6871:408a:b0:49e:5d89:be91 with SMTP id 586e51a60fabf-4a9077bcac8mr3777949fac.55.1793488763967; Sat, 31 Oct 2026 16:19:23 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com; h="ATskLde8geynY38kGMcff6m29LGddROtM1gckmb4gK2ry+1Vmg==" Received: by 2002:a05:6870:728a:20b0:454:e0fd:42f0 with SMTP id 586e51a60fabf-4a904196b7cls91017fac.2.-pod-prod-01-us; Sat, 31 Oct 2026 16:19:16 -0700 (PDT) X-Forwarded-Encrypted: i=3; AKwUvBwN6jMW4jDKsYZpbJmWjCzOTaLDnCw5F2BhlXNmebmlgmccLRw2jSnJImAeP27+irXhRboHXL241pJl@googlegroups.com X-Received: by 2002:a05:6808:5395:b0:4b2:5529:ed3c with SMTP id 5614622812f47-5640d973566mr4574840b6e.7.1793488756683; Sat, 31 Oct 2026 16:19:16 -0700 (PDT) Received: by 2002:a05:600c:434b:b0:4a0:24a5:2f2c with SMTP id 5b1f17b1804b1-4abfe6a4ec2ms5e9; Sat, 31 Oct 2026 16:07:52 -0700 (PDT) X-Forwarded-Encrypted: i=3; AKwUvBzWpnyoUkloG4JmoSKZ7ZbpGo6bwUvtHhn8dDgrcl2hADFT2VCNxOYrnve5hAVxR44HsHSERF9RLeJ6@googlegroups.com X-Received: by 2002:a05:600c:8581:b0:4af:29b9:32d0 with SMTP id 5b1f17b1804b1-4af29b933ddmr37961405e9.32.1793488070738; Sat, 31 Oct 2026 16:07:50 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793488070; cv=pass; d=google.com; s=arc-20260327; b=UufZtcz2LuObxxbCeBVTVrKx+45KOka9pAwzSyXvyxbt9zUji+/ggaZrTKp40gVODJ Qa5nFrDg/6CNBtblbi2unqQSAeBzr/gIoPma7Zki1FF55mjPcqyB4AxqSsjJeC6IUauw vyFxwbrzS58Qm9EIoMVbeWUICgswe4CCx9YuvmVGkBV9FoF5LCtrjwItiGgMo9v5mbSy djVzHFlYvP9TjaU0Z98BVuEcELz0MvxK9JJyi3CjU8CBhjKkhtW275K5hvLMtuYVN+tR Lg/jMYh4bm1aWje98n/NEXF80OQ5JGvDEdl7E1IHw9ucTKpOvGr4P8aO4lAnaysrjkSe tqFA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=6SYOCuvufr4YemztvVkyjSkRstYbcCG37VhnNC5+gb0=; fh=P9EsbYUQweA6kRZaHL195UBGzlX0Bt0Vcp8hodWGd5c=; b=T408O/bJtLIBWiVjZBDt0plU3A0piVdiemPmT8oEmjH04DqkqWiZUsyzk/+1MUKTf6 vVRGoOdmNKoMjDo0YiKM5LhZ/zAzy3Vqa86l3KM1NyOFeCmh9iNUAGkj2nfEPVzJVIuk rLWXOObBhD9Xpj3ojeHPit3W48WkXd6ngrXruua0ZIxMiwaAac3IXrENm6w5zMaNjlPF I7eXzojAKpk9C9TSI6HjCbtZi9l97R28SHacLLsa9gtwQRTM5fNAAclct4ny3nEUS8aM 4+f7HqSl4YFZeJchZL6IQ5/lDed7upJKhSwQOvy3sAWimtX5CbmCKpc4BTYM4Ms9RlWG qMnA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20260707 header.b=C8TU34Gr; arc=pass (i=1); spf=pass (google.com: domain of aaron.recompile@gmail.com designates 2a00:1450:4864:33::9 as permitted sender) smtp.mailfrom=aaron.recompile@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com Received: from mail-ed2-x09.google.com (mail-ed2-x09.google.com. [2a00:1450:4864:33::9]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-4aa7c506f96si1277255e9.0.2026.10.31.16.07.50 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 31 Oct 2026 16:07:50 -0700 (PDT) Received-SPF: pass (google.com: domain of aaron.recompile@gmail.com designates 2a00:1450:4864:33::9 as permitted sender) client-ip=2a00:1450:4864:33::9; Received: by mail-ed2-x09.google.com with SMTP id 4fb4d7f45d1cf-6b3f77ab6dfso590002a12.1 for ; Sat, 31 Oct 2026 16:07:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793488070; cv=none; d=google.com; s=arc-20260327; b=aEAY29gCGwYcq+Tgjl0tFwpJmLqBuOHh6zqfx6VZL3beV8CoUS09THBlZLHZxQGTBa VBUD11U8XQmUwmmPdCcO/pDNDAwDJKrvKluREej6UftImWUJAAqS613wzzyrtcXNVQdT Pb3GwMpiHjObG7ErjHiwlmB0HR1QFdaR1Eeefjpnga5oh8EcfRI7U2wCd334SjCNmGUi y8rwfk4DJjJNF3c4fec5QJF2jfmn8mHZBM5JQDKHnyVGgezOFkChPLO979irJnwcx0b3 7L3wBpxcOa24T81ARVGNnUzrrf3HYxZZ5SKwIwLFPced2DSX4x/o9N9r2WwwIChlR6nU P3sA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=6SYOCuvufr4YemztvVkyjSkRstYbcCG37VhnNC5+gb0=; fh=P9EsbYUQweA6kRZaHL195UBGzlX0Bt0Vcp8hodWGd5c=; b=QQQYx+QJfVyF6L79ew/QAK4BV1NhtYsNvgonAUUle3lzc/BsA97VIMiaOm86eRAasc JNTIhgATOWKXmuUu0i4/Z3zhESXit6FSC6MJHr31w1nF0TEKxhHN7V4jl/MCfoygE7aY 0Mk0wEw1Na701MVdl+bescUT4ck/ECyPuIEwoLmSe8oOm4i8lzPIGV/IP61w2/l7Bq9U zrWOuSjx9XPqeLdYNJO2eSgVNkbnK3X9JGdm6DiedI7ZhJ57FvyV7TZt26gRnJ1FHqOI ZjRiFsFilu12x/3zutBKtDsJd4JPz1vC6JYYMMtVpmnvvmryoefdIPhJ9ku5foIXMzul 1dLw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Forwarded-Encrypted: i=1; AKwUvBwZwjRmbQRAvUa2yTOlw/JSEnJqzqd5tyqDh2F2ont5ZGS+TRbOu+3crwhMLPAPnMIAjG8eTDaUFsN8@googlegroups.com X-Gm-Gg: AYBFou0HTjs+PV0popi6vLqWVkfg+AKK5GnnAU/WhVEByQVDF6yOw0chnC40SJZvsJJ jMlEqKH0iL5CSgFUNBsl0h785rMLRCnjsdi9+vKc57lOydmZh7squJFtiNcrcvDNx353xiVzdL0 6Cbi3ZpmED0PUqxwN8XZjnod32O7GcfjD6ljO7UPNjuTWaydC2cm89nqGnVQRSA54TBCeZiVT45 YqYT5dpOL6Iobn9Mp7ahLD7zX9ZIin5iiU0s4ic+7/svDLzMO4Pxi0RnWFyFfqpW+PHnnTIxZgP Hb6nunWtkwopLINnChi+Ui5vB+0aFkiBdBxdfXP9TyXN5z1shu9nSiOuiVu2zYEdyiIPPn/oB2i YywoPGtGwftljKEiWJnZXedDMCKsJJYHGA1TBQ5J9F9YcWsJecrcd+XnLNcbYWz7te1MpD2IXHr xZnqd5elbservHgf3QU36eo0Ywa3xfRLyyEFEvwd7hKsTV8U/1ZWxw265HWlhOUAnJfT8cvoXOj 467/kIdiPs= X-Received: by 2002:a05:6402:1a23:b0:6ac:9a44:d404 with SMTP id 4fb4d7f45d1cf-6b4d32890a2mr2912354a12.0.1793488069907; Sat, 31 Oct 2026 16:07:49 -0700 (PDT) MIME-Version: 1.0 References: <494c0600-2daa-4500-8e49-bf36efbf2625n@googlegroups.com> In-Reply-To: From: "aaron.recompile" Date: Sat, 31 Oct 2026 16:07:37 -0700 X-Gm-Features: AclHuK9CEmeBe7RW-5D18E0Cguisdh9x8BeDsJjg5yzd-sTtCdY0tLxJ0EHqrus Message-ID: Subject: Re: [bitcoindev] Re: Subject: Eltoo / LN-Symmetry on Inquisition Signet: BIP 118 + 3-Round State Chain (APO+CTV) To: Sergio Demian Lerner Cc: Greg Sanders , Bitcoin Development Mailing List Content-Type: multipart/alternative; boundary="00000000000050da97065f2afbc3" X-Original-Sender: aaron.recompile@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20260707 header.b=C8TU34Gr; arc=pass (i=1); spf=pass (google.com: domain of aaron.recompile@gmail.com designates 2a00:1450:4864:33::9 as permitted sender) smtp.mailfrom=aaron.recompile@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com Precedence: list Mailing-list: list bitcoindev@googlegroups.com; contact bitcoindev+owners@googlegroups.com List-ID: X-Google-Group-Id: 786775582512 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Score: -0.5 (/) --00000000000050da97065f2afbc3 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi list, In April, Greg mentioned he had vibed a CSFS+TH+IK variant that couldn't be tested on signet until OP_TEMPLATEHASH was active, and that anyone was welcome to adapt it. Inquisition 29.4 turned it on, so I took the scripts from his eltoo draft and ran them in the same Alice/Bob/Carol channel as my APO+CTV and CSFS+CTV ladder runs above. I published an old state, replaced it with an update signed before any state existed, and settled. Write-up with the transactions and a comparison of all three versions: https://delvingbitcoin.org/t/eltoo-state-chain-on-signet-third-time-templat= ehash-csfs-internalkey/3012 Building it also answered the three questions I asked Greg earlier in this thread: 1. What TH adds over CTV + CSFS: it gives the hash back on the stack, so CSFS can sign it directly. With CTV I had to carry a second copy of the hash in the witness. 2. What IK is for: mostly bytes. It replaces a 32-byte key push, so the update script is 10 bytes. 3. Can CSFS alone bind state: no. CSFS never sees the transaction, so something like TH has to hand it the hash. Thanks to Greg for the draft, it made this easy to follow. Aaron On Mon, Apr 27, 2026 at 10:59=E2=80=AFAM aaron.recompile wrote: > Following up on the APO+CTV state chain above =E2=80=94 I also ran a > CSFS+CTV ladder variant on Inquisition signet, achieving the same > Eltoo property (3 rounds of state updates, only the latest can > settle) with two transactions instead of six. No APO, no CAT =E2=80=94 > just already-activated CTV and CSFS. > > The compression comes from Jeremy Rubin's CSFS rekey ladder > construction (https://rubin.io/bitcoin/2024/12/02/csfs-ctv-rekey-symmetry > /), > which makes each state hop a CSFS rekey =E2=80=94 a signature > delegation, not a transaction =E2=80=94 collapsing the whole chain into > one settlement witness. I made some engineering refinements to streamline > the implementation. > > Confirmed Inquisition signet TxIDs, full construction, threat > analysis, and witness layout: > > https://delvingbitcoin.org/t/eltoo-state-chain-on-signet-again-three-roun= ds-two-transactions-csfs-ctv-with-rekey-and-ladder-no-cat/2430 > > Source code: > https://github.com/aaron-recompile/btcaaron/tree/main/examples/eltoo > > Aaron > > > On Tue, Apr 14, 2026 at 12:02=E2=80=AFPM Sergio Demian Lerner < > sergio.d.lerner@gmail.com> wrote: > >> If you want to do have similar functionality to Eltoo without soft-forks= , >> you can use OTC-PCs: >> >> OTS-PC: OTS-based Payment Channels for the Lightning Network >> https://arxiv.org/abs/2511.04021 >> >> regards, Sergio >> >> >> On Tue, Apr 14, 2026 at 12:54=E2=80=AFPM Greg Sanders >> wrote: >> >>> In case anyone is interested, a few months ago I resurrected my old >>> ln-symmetry branch of CLN with various improvements and examples, thank= s to >>> LLM doing the heavy lifting for revival. >>> >>> https://delvingbitcoin.org/t/ln-symmetry-project-recap/359/17 >>> >>> Aside from APO implementation, I also vibed a CSFS+TH+IK variant, thoug= h >>> it cannot be tested on signet directly until OP_TEMPLATEHASH is activat= ed. >>> It's a drop-in replacement for CTV, if anyone cares to adapt it. >>> >>> Greg >>> >>> On Tuesday, April 14, 2026 at 5:18:24=E2=80=AFAM UTC-4 aaron.recompile = wrote: >>> >>>> Hi List, >>>> >>>> I ran a three-round Eltoo-style state chain on Bitcoin Inquisition 29.= 2 >>>> signet using APO (BIP 118) for state updates and CTV for settlement. >>>> Six transactions, all confirmed on-chain. >>>> >>>> An independent Python implementation of the BIP 118 sighash (Msg118 / >>>> Ext118) was cross-validated against Inquisition's C++ consensus engine= . >>>> If the Python digest disagrees with Core's, the transaction is >>>> rejected. >>>> It wasn't. >>>> >>>> Construction >>>> ------------ >>>> Each state UTXO is a three-leaf Taproot tree: >>>> >>>> leaf 1 -- ctv_uhpo: OP_CHECKTEMPLATEVERIFY >>>> leaf 2 -- apo_update: <0x01||xonly> OP_CHECKSIG (BIP 118) >>>> leaf 3 -- csv_escape: OP_CHECKSEQUENCEVERIFY OP_DROP >>>> OP_CHECKSIG >>>> >>>> CTV locks each state's payout distribution >>>> as a template hash. APO rebinding advances state. When an APO update >>>> spends state vN, vN's CTV leaf >>>> loses its only viable input and can never settle. Only the latest stat= e >>>> can produce a valid settlement. This is the Eltoo invariant, executed >>>> end-to-end with current tooling. >>>> >>>> Confirmed txids (Inquisition signet) >>>> ------------------------------------- >>>> Fund =E2=86=92 State v1: >>>> 386dbb6aa23fcc35a69d34e3c0f760b185482467abc936196d3def19d54a9c41 >>>> APO update v1 =E2=86=92 v2: >>>> 096e31ccbd8f5460b2730ec4f757ee1b01acf9dde3e3b8cb55fbb534fe195601 >>>> APO update v2 =E2=86=92 v3: >>>> 091309b73e299436ff12fceda7e54e28c6f1817fdf3405bca3343ad15198d7f6 >>>> CTV settlement: >>>> 13957f49d01aa21ed2aa28df7aa78f357d51a2a2fbfb434af05fdc75ad0ff9b7 >>>> >>>> Rebind A (signed): >>>> 03c0577c1d47da32804d098187644d0eee18b448aded2f427cd02193c070f3a4 >>>> Rebind B (witness copied): >>>> 46091190c74d8fd4b39be67a2e945a19b021850e7f8d9e378f5eb11722ae1a43 >>>> >>>> Rebind A and B share an identical witness stack =E2=80=94 same 65-byte >>>> signature >>>> (sighash flag 0x41), same leaf script, same control block =E2=80=94 sp= ending >>>> two >>>> different UTXOs without re-signing. Outputs remain committed: changing >>>> the output address in Rebind B causes script verification failure. >>>> The last two transactions are a standalone rebinding demonstration, >>>> not part of the state chain above. >>>> >>>> Links >>>> ------ >>>> BIP 118 signing primitive and rebinding proof (Delving Bitcoin): >>>> >>>> https://delvingbitcoin.org/t/bip-118-signing-from-scratch-on-chain-reb= inding-proof/2411 >>>> >>>> Eltoo state chain construction (Delving Bitcoin): >>>> >>>> https://delvingbitcoin.org/t/eltoo-state-chain-on-signet-three-rounds-= six-transactions-apo-ctv/2413 >>>> >>>> Source code (btcaaron, examples/braidpool/): >>>> https://github.com/aaron-recompile/btcaaron >>>> >>>> Happy to discuss the construction or the CTV+CSFS gap. >>>> >>>> Aaron Zhang >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Bitcoin Development Mailing List" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to bitcoindev+unsubscribe@googlegroups.com. >>> To view this discussion visit >>> https://groups.google.com/d/msgid/bitcoindev/494c0600-2daa-4500-8e49-bf= 36efbf2625n%40googlegroups.com >>> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Group= s >> "Bitcoin Development Mailing List" group. >> To unsubscribe from this group and stop receiving emails from it, send a= n >> email to bitcoindev+unsubscribe@googlegroups.com. >> To view this discussion visit >> https://groups.google.com/d/msgid/bitcoindev/CAKzdR-ok1jwtXOYaAPBw1fhpav= L%3DP%2B2jsT%2BVcKc9OwW6bhpRFw%40mail.gmail.com >> >> . >> > --=20 You received this message because you are subscribed to the Google Groups "= Bitcoin Development Mailing List" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/= CAEmKuUHpybu_RZt-S4A09ev2T%3D%3Di%2BHLgSqf%3DnVf9wX%3D8JLZMZg%40mail.gmail.= com. --00000000000050da97065f2afbc3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi list,

In April, Greg mentioned = he had vibed a CSFS+TH+IK variant that couldn't be tested on signet unt= il OP_TEMPLATEHASH was active, and that anyone was welcome to adapt it. Inq= uisition 29.4 turned it on, so I took the scripts from his eltoo draft and = ran them in the same Alice/Bob/Carol channel as my APO+CTV and CSFS+CTV lad= der runs above. I published an old state, replaced it with an update signed= before any state existed, and settled.

Write-up with the transactio= ns and a comparison of all three versions:
https://delvingbitcoin.org/t/eltoo-state-chain-on-signet-third-t= ime-templatehash-csfs-internalkey/3012

Building it also answered= the three questions I asked Greg earlier in this thread:

1. What TH= adds over CTV + CSFS: it gives the hash back on the stack, so CSFS can sig= n it directly. With CTV I had to carry a second copy of the hash in the wit= ness.
2. What IK is for: mostly bytes. It replaces a 32-byte key push, s= o the update script is 10 bytes.
3. Can CSFS alone bind state: no. CSFS = never sees the transaction, so something like TH has to hand it the hash.
Thanks to Greg for the draft, it made this easy to follow.

Aar= on


On Mon, Apr 27, 2026 at 10:59=E2=80=AFAM aa= ron.recompile <aaron.recomp= ile@gmail.com> wrote:
Following up on the APO+CTV state chain above= =E2=80=94 I also ran a
CSFS+CTV ladder variant on Inquisition signet, a= chieving the same
Eltoo property (3 rounds of state updates, only the la= test can
settle) with two transactions instead of six. No APO, no CAT = =E2=80=94
just already-activated CTV and CSFS.

The compression co= mes from Jeremy Rubin's CSFS rekey ladder
construction (https://rubin.io/bitcoin/2024/12/02/csfs-ctv-rekey-symmetry/),
w= hich makes each state hop a CSFS rekey =E2=80=94 a signature
delegation,= not a transaction =E2=80=94 collapsing the whole chain into
one settlem= ent witness. I made some engineering refinements to streamline the implemen= tation.

Confirmed Inquisition signet TxIDs, full construction, threa= t
analysis, and witness layout:
https://delvingbitcoi= n.org/t/eltoo-state-chain-on-signet-again-three-rounds-two-transactions-csf= s-ctv-with-rekey-and-ladder-no-cat/2430

Source code:
https://github.com/aaron-recompile/btcaaron/tree/main/exam= ples/eltoo

Aaron


On Tue, Apr 14, 2026 at 12:02=E2=80=AFPM Ser= gio Demian Lerner <sergio.d.lerner@gmail.com> wrote:
If you want to do hav= e similar functionality to Eltoo without soft-forks, you can use OTC-PCs:= =C2=A0

OTS-PC: OTS-based Payment Channels for the Lightning Net= work

On Tue, Apr 14, 2026 at 12:54=E2=80=AFPM Greg= Sanders <gsan= ders87@gmail.com> wrote:
In case anyone is interested, a few months ago I resurrecte= d my old ln-symmetry branch of CLN with various improvements and examples, = thanks to LLM doing the heavy lifting for revival.




Hi List,

I ran a three-round Eltoo-style state chain on Bitcoin Inquisition 29.2
signet using APO (BIP 118) for state updates and CTV for settlement.
Six transactions, all confirmed on-chain.

An independent Python implementation of the BIP 118 sighash (Msg118 /
Ext118) was cross-validated against Inquisition's C++ consensus eng= ine.
If the Python digest disagrees with Core's, the transaction is reje= cted.
It wasn't.

Construction
------------
Each state UTXO is a three-leaf Taproot tree:

leaf 1 -- ctv_uhpo: <template_hash> OP_CHECKTEMPLATEVERIFY
leaf 2 -- apo_update: <0x01||xonly> OP_CHECKSIG (BIP 118)
leaf 3 -- csv_escape: <sequence> OP_CHECKSEQUENCEVERIFY OP_DROP
<pubkey> OP_CHECKSIG

CTV locks each state's payout distribution
as a template hash. APO rebinding advances state. When an APO update
spends state vN, vN's CTV leaf
loses its only viable input and can never settle. Only the latest state
can produce a valid settlement. This is the Eltoo invariant, executed
end-to-end with current tooling.

Confirmed txids (Inquisition signet)
-------------------------------------
Fund =E2=86=92 State v1:
386dbb6aa23fcc35a69d34e3c0f760b185482467abc936196d3def19d54a9c41
APO update v1 =E2=86=92 v2:
096e31ccbd8f5460b2730ec4f757ee1b01acf9dde3e3b8cb55fbb534fe195601
APO update v2 =E2=86=92 v3:
091309b73e299436ff12fceda7e54e28c6f1817fdf3405bca3343ad15198d7f6
CTV settlement: 13957f49d01aa21ed2aa28df7aa78f357d51a2a2fbfb434af05fdc7= 5ad0ff9b7

Rebind A (signed):
03c0577c1d47da32804d098187644d0eee18b448aded2f427cd02193c070f3a4
Rebind B (witness copied):
46091190c74d8fd4b39be67a2e945a19b021850e7f8d9e378f5eb11722ae1a43

Rebind A and B share an identical witness stack =E2=80=94 same 65-byte = signature
(sighash flag 0x41), same leaf script, same control block =E2=80=94 spe= nding two
different UTXOs without re-signing. Outputs remain committed: changing
the output address in Rebind B causes script verification failure.
The last two transactions are a standalone rebinding demonstration,
not part of the state chain above.

Links
------
BIP 118 signing primitive and rebinding proof (Delving Bitcoin):
https://del= vingbitcoin.org/t/bip-118-signing-from-scratch-on-chain-rebinding-proof/241= 1

Eltoo state chain construction (Delving Bitcoin):
https://delvingbitcoin.org/t/eltoo-state-chain-on-signet-three-rounds-six-= transactions-apo-ctv/2413

Source code (btcaaron, examples/braidpool/):
https://github.com/aaron-recompile/btcaaron

Happy to discuss the construction or the CTV+CSFS gap.

Aaron Zhang

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.googl= e.com/d/msgid/bitcoindev/494c0600-2daa-4500-8e49-bf36efbf2625n%40googlegrou= ps.com.

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit ht= tps://groups.google.com/d/msgid/bitcoindev/CAKzdR-ok1jwtXOYaAPBw1fhpavL%3DP= %2B2jsT%2BVcKc9OwW6bhpRFw%40mail.gmail.com.

--
You received this message because you are subscribed to the Google Groups &= quot;Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an e= mail to bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.googl= e.com/d/msgid/bitcoindev/CAEmKuUHpybu_RZt-S4A09ev2T%3D%3Di%2BHLgSqf%3DnVf9w= X%3D8JLZMZg%40mail.gmail.com.
--00000000000050da97065f2afbc3--