From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Fri, 22 May 2026 19:43:20 -0700 Received: from mail-oa1-f58.google.com ([209.85.160.58]) by mail.fairlystable.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1wQcKd-0001cy-Sy for bitcoindev@gnusha.org; Fri, 22 May 2026 19:43:20 -0700 Received: by mail-oa1-f58.google.com with SMTP id 586e51a60fabf-43a55fd90fasf8803648fac.1 for ; Fri, 22 May 2026 19:43:19 -0700 (PDT) ARC-Seal: i=3; a=rsa-sha256; t=1779504193; cv=pass; d=google.com; s=arc-20240605; b=M2mQCsdbYJN8RTwH2aP3zY34BMHJ9cyv6Kq5qtGEfciv4LAHu0hyzC3u2ecuJjUQ3K EJv+0Rx1Du4S3jk9pPpLzqL/r7zGIoxPhJ/U7w/fFSEryVofpgsgoJQNFoo5wqzXbkBi QsIdz4y5lUqGvM5aNXVzQnjgvBLEXQfKAD9Fj0NrnuYPqx6w2Hmfcy/LU3W4PcqHh1xR i2Q8up/29fJpdqXll7AzkKwQLQHYL/xKM39wW65rDw5+11hW59/yd00gJlr0F4XUrDFS dAQmkILhGUOJzyFkJ9p2T6U2TgEk9fytu7Lgh+K0hLPkcsoJX2fCSdbCKn+sBjjtVEOM S80w== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; 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=SqnG4C29m9Ncbfvvdwc/2xnLJR/EzyIoyvMfsTuX2w0=; fh=ML/1MEpynD40bL6bzK3dsRusHnEFHiv8U4fZNystCn8=; b=e8lpgmUAH23RVX8p3ji3EjVQHRKCX3dor37eOI7YefVuv2lxezCVfoPiHmoBsHbTvd LrBHu32wd82RlgBtieeGXWS46sHX5yKVOVzBhjMF1pNGATgVg3guUZXYMMmiayhPz0DY /sfFWMlIZB+e2cVKHEfI3Fb7nChnkCIRLqWKvcw/+EXhGcNmzwHBOhj0CxCJ53CDj+R7 pFWFWJm25hzyG4jGiHvK/8xGKWN7UX8Ys4gBFBRCA+aYr3sbvfwu1DK9zBIdA+p2SoSH 8opWstgj9oFR6/JQlgRjh+YKnysBE1seAWiYUVisGLh7aeJ6x4m+ZkJ+5FDq74aSX5zA +KRg==; darn=gnusha.org ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20251104 header.b=IQsQVKoz; arc=pass (i=1); spf=pass (google.com: domain of laolu32@gmail.com designates 2607:f8b0:4864:20::b12f as permitted sender) smtp.mailfrom=laolu32@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=20251104; t=1779504193; x=1780108993; 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:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:sender:from:to:cc:subject:date:message-id :reply-to; bh=SqnG4C29m9Ncbfvvdwc/2xnLJR/EzyIoyvMfsTuX2w0=; b=NuOXDQBjnyVMmn50fYw3Rw4/Pf3U7Z/SVSdgyxJhTcLPcvf5A5QrqVEazdT9TC6r2p +6pnEqB0QdRjCSvpPhzq1gdbwzFPPVYqWBBqAgUn8Ma6ewHGzoBCxciCp/f/rkc7pwnS CpC5WkUdWUiHWpwsUqnfj+QvqQtgDVksb+3t1E/mbPoxK2pQ0cguU+6SkwZy/rp4eN7b w1Pwf5TPl82b1IRtBiNozGVzofOf/jgUanGBtl86M6yxlnH87VfVOs/Pce0m5oz89DGh DDpA/JRAfxw/QFJzBgOElti3FoZGvwtYKVf0NqXJdkYS/Ti2FeIV2AdGyCByZo0r19ay CWiA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779504193; x=1780108993; 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:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to; bh=SqnG4C29m9Ncbfvvdwc/2xnLJR/EzyIoyvMfsTuX2w0=; b=mcqcbsNU9KgmFZ1B5dNll9zkiwYtX61xlwkIprcdjeFnClMiC1E3EbyMMs8MUIGEhq szVadliS+GxqU0AfoKHSEF/p5RAWzJdVIaTwSwLpIZPfoTlr5C0stZDMTZ96trZEP/tp IQ33LcBYVPMa5g8htqzhtLi5YnAaWMp2v4nwRKdGXkHLfAnqbisJoMt9ZVv8NOPmGUhi rqyFVzQXQ0OBQTUuVSr6S/y07AfDrR2L7TiOUzV6tDVhf6yDQWKXZkqiC+Mxi78S8k/s g3P0pPPLwQ8kfstuWaPwwzdDVRxSKKX0G7cnkGbZrQHPbJc9CDNcYWWmhSXuqoH2Lyhd IS7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779504193; x=1780108993; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender: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; bh=SqnG4C29m9Ncbfvvdwc/2xnLJR/EzyIoyvMfsTuX2w0=; b=fyHXuQIFDSreHvQ4rkkF5RBRj6kh+hggI5NDa6ZjLDRcIMjtEZDndkJNp13V7wvEXY vAt1KuxcpfoVoz2Ep6u55NJVvNc04oSFqjkHRbC35ezv2K0HbGAZjtpnhr9MaHObPt3N Zje3MvD2tjB6uNUq3tYsq0cWNIilkQbDCQJdyqu0itRRDWiFBayFfe0yP1ceVj+0gGUz cy29DPeJXSatpqskuYo+KC8rWzOXt5vx69DANqeTwU6IpsWQf0otga7HxU0fmDtWd1Xx +TvcEJmB1kGtn5J+QrJq75jAV2uCmtBownH8fUW+TNBxL3dh3/6nLKYBUKwUSFWXtcim /2cg== Sender: bitcoindev@googlegroups.com X-Forwarded-Encrypted: i=3; AFNElJ9e24Xx+Wa6KkCBOua064ExeR5bOX0bXegU/0Qqcu8fvhygfoqpaLjumHEcvlmiuh975pIJyiPksL8T@gnusha.org X-Gm-Message-State: AOJu0YzVNhSxo1G4TYz3qgGhftWD/9Z9wZ84KwSnHXNUlDXQL7ZF2hHu XZOsFfYEdpD808hgwmPmj72QV8j0a2LANmXzVZznmx/4Rv9LgZ+F9WBq X-Received: by 2002:a05:6871:4715:b0:43a:677d:241d with SMTP id 586e51a60fabf-43b5aebe347mr3887827fac.31.1779504193324; Fri, 22 May 2026 19:43:13 -0700 (PDT) X-BeenThere: bitcoindev@googlegroups.com; h="AUV6zMMbvL3tFlkgMVaqOegjmNs2gYPcwqTO0QiYj7xzAxZjNw==" Received: by 2002:a05:6871:4144:b0:41c:583a:b50 with SMTP id 586e51a60fabf-43a01ebd797ls7320129fac.1.-pod-prod-04-us; Fri, 22 May 2026 19:43:08 -0700 (PDT) X-Received: by 2002:a05:6808:13c9:b0:482:c2f2:7bde with SMTP id 5614622812f47-48549d906demr3906996b6e.4.1779504188084; Fri, 22 May 2026 19:43:08 -0700 (PDT) Received: by 2002:a05:620a:148b:b0:8d6:1bc4:a7bc with SMTP id af79cd13be357-914b52c9eb0ms85a; Fri, 22 May 2026 19:39:24 -0700 (PDT) X-Received: by 2002:a05:622a:134f:b0:50f:ad91:8912 with SMTP id d75a77b69052e-516d445981cmr91456171cf.13.1779503964225; Fri, 22 May 2026 19:39:24 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1779503964; cv=pass; d=google.com; s=arc-20240605; b=cPCBZe7N/MkUSmV/UQPlj80+ecLPILqaYkVjF3ylxh16nenMkXzWrO2Q2PsomyKbgB Sn2jehusZ07DfuhqhfEMz7NP+Xl1tlLyyU3BjQ2TZ6iPFEkzjHo6UmhD9R+UgkebVxcI YX7hYfaGq5Furk/bLUwfYb6/3+BrTdcF2Jg3ilcFNrzhmNnQBAHMl8eiX2UBOFsrZeLX pabVLKO/lkxUgO0p3JnETAWQ5p2oWcpSXptrDRLehM7d7WNaQ4Cyv9vp5AwXafVjwkBa bRIc+fQqpsE6xXnJGtsUw8N6HHF1xdE7uTuzgS+ec6AkUgTPEqF030Jkq3PzBV2aMsuL c92A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=jyqH8in5Eb7Ou7Z4vgTj8mHS/Lmzz+sGJBSWQbf/3Q4=; fh=+Duu3Cp77aXfHDD1ma61XeBuViahPkcQ600hmLognUE=; b=AhKJ07zuXQPSYZ1VLdTCHtXUOR0Sdq3Ca58KSzH/4AshsnrGu6VOzZSL3vq7qana0S CtA3uxQp1yEE8imGoBFaxGcmPkn3GYn3zBj31nsLtcwT97HWkvHoGQ2yn5/tNfoN+qg5 9sMvy0tP5vnrRaIi9H+B4G51/UUnQXcClTebcddOn1wg+pkRzB7uS/b01z8pUX3LWSce iG2DJ3HF3zB7v8zyfFg/IVjEVUXxX3de1jszO5FR73u1wdnH/ieNIHPVxpk+CaeDVbIL IxPFOFHBtTe8F2wPrpUOaR/hKW3F2NtpHLRVnxFkhFUpDExoTH5F0Y4v162Oqr/naYoO N+zQ==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20251104 header.b=IQsQVKoz; arc=pass (i=1); spf=pass (google.com: domain of laolu32@gmail.com designates 2607:f8b0:4864:20::b12f as permitted sender) smtp.mailfrom=laolu32@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com; dara=pass header.i=@googlegroups.com Received: from mail-yx1-xb12f.google.com (mail-yx1-xb12f.google.com. [2607:f8b0:4864:20::b12f]) by gmr-mx.google.com with ESMTPS id d75a77b69052e-516d8966bbdsi959801cf.0.2026.05.22.19.39.24 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 22 May 2026 19:39:24 -0700 (PDT) Received-SPF: pass (google.com: domain of laolu32@gmail.com designates 2607:f8b0:4864:20::b12f as permitted sender) client-ip=2607:f8b0:4864:20::b12f; Received: by mail-yx1-xb12f.google.com with SMTP id 956f58d0204a3-6587cee8b57so9066384d50.2 for ; Fri, 22 May 2026 19:39:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779503964; cv=none; d=google.com; s=arc-20240605; b=HcutmEQ9covwcZ1RyU4Wkvfp5yWQ7E9kqARcIWYTQU4e7SEVsJf2y5rq3nxqBQMm0c pM+jYtAa85v8154yFO+yM3L7cHjOKmTIzYO3iL7cCsZ8cvtoPNgcWKfZ4nm0C4MRScnh LAZB/tKUr4n0TqY4Pr8NrO9Mdrg492UudRH4jqDQbPMzi/JwlIu+iDAKWonpPWouqdw7 lnOx3d09nErb47cLGWIMWwjURBzBS+2VcIczHpL/O2oNEaESE91xNTZbrGG6GVocXEK1 dhuhwevtK6iulIMlZ0G9tJUDe2IJ2YqNnMeAQqRQNW4GHlcOl/NNk3vxr5KuqHtXYMk5 Hf4Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=jyqH8in5Eb7Ou7Z4vgTj8mHS/Lmzz+sGJBSWQbf/3Q4=; fh=+Duu3Cp77aXfHDD1ma61XeBuViahPkcQ600hmLognUE=; b=Eie2l4lU96WJwEGrH2tGaXjDHJaIVRsnQPXsU2BO3eBlKPVFzqxkn4c2TKpzUic/Xh 7TmyF7eG0JfHBAfK5JpItK/7bcLO77p/oXqv3rCGMAa3db5bc03wbfLx9s0SVZo6N39V yj2yerah2Hvr7k4lB0rUKAX9nDzptdabGMuXearP/R4Uchqty8I3eOd5Mt4HDquXM9YR p1uP2shJpcOnOPA94HrBE2qbQbd0ESCPbte0plVbv5hGOGhVNZwNn8/fcrpg1dveSey6 RB/KSasOMkMZXdp4sDWHXoC5iUayozIbYtNe8E7UzF/rkodFTNpyYNQ8W52hNmGbhQl+ 2ESQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; arc=none X-Gm-Gg: Acq92OF0uU+YXBXyhgUHDXzjg/IdoHFKO+8oJL0Wy30tTy1bx6oY7+p/G8Ui2swTJGE Hr7T1sM9DoXOZM/T1ktPwwXQBbErllPLuU87gpAsaOWnbzXamXrpia+Pim/H6J6VTminAVDEH64 GbEzdMaXKSaDKjBJyV57vSUs7Czv1z0805sV4RE+12pbkTpXoU6oUeKLuISZPaYh0P33SQza8oJ ZTuutJe+hPXj8f8Z6EZ/3eoqyj3ziIAoSilewb9ChYMHTDKoCkmYOLJU0W5pVq8swR3/ND9LYJW qIKx172+dNP3fEi+681PcqFBfsJpQiW8Cu9wJ3Cc X-Received: by 2002:a05:690e:82:b0:64c:9f31:e33 with SMTP id 956f58d0204a3-65ec9a1abacmr4688072d50.65.1779503963653; Fri, 22 May 2026 19:39:23 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Olaoluwa Osuntokun Date: Fri, 22 May 2026 19:39:12 -0700 X-Gm-Features: AVHnY4JfIP-uPcmJGCvG2b76aK29lqX6D0wtgDq6vcrE9uJYvZcb8ces4vQFbdc Message-ID: Subject: Re: [bitcoindev] Knowledge Gathering: SPV Proof Applications In the Wild and Proposed To: jeremy Cc: Bitcoin Development Mailing List Content-Type: multipart/alternative; boundary="000000000000a14a140652730dc1" X-Original-Sender: laolu32@gmail.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@gmail.com header.s=20251104 header.b=IQsQVKoz; arc=pass (i=1); spf=pass (google.com: domain of laolu32@gmail.com designates 2607:f8b0:4864:20::b12f as permitted sender) smtp.mailfrom=laolu32@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 (/) --000000000000a14a140652730dc1 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Taproot Assets uses SPV proofs in the proof file format for an asset. Each asset starts at a gensis point, then proves that the rules of the overlay layer were followed each each new state transition. Each state transition includes an SPV proof of the transaction that commits to the state transition. An upcoming revamp of the LN gossip protocol also has a cut out to optionally include an SPV proof with a channel announcement message. This makes the protocol more light client friendly, as otherwise a light client would need to fetch tens of thousands of blocks to verify that a channel actually exists. It isn't specified today, but a future extension to the `channel_update` message could include a merkle proof of a _spent_ funding output to provide a verifiable gossip layer proof that a channel has been closed. Today setting a disabled bit in the channel update is used in place, but that's overloaded with other signals (eg: the peer is offline). > does not spend a coin If the Merkle Tree were actually a Sparse Merkle Tree, then we'd have a succinct way proving that a given transaction wasn't in a block. If such a commitment were added over the set of spent outputs, then you could also succinctly prove that a transaction wasn't spent in a block. Such an STXO commitment would also be useful for SwiftSync as then peers ar= e able to verify the integrity of the undo data. -- Laolu On Thu, May 14, 2026 at 7:47=E2=80=AFAM jeremy w= rote: > Dear Bitcoin Developers, > > SPV proofs are an important part of Bitcoin's Design, after all Satoshi > thought they were worth including in the whitepaper! > > As far as I'm aware, they have somewhat limited usage in the wild, mainly > in Electrum and in Layer 2 Bridges, but it is important that they work > correctly. > > I'd like to gather a bit more detailed information on where and how SPV > proofs are currently used, as well as any other proposed uses of SPV proo= fs. > > In this Knowledge Gathering, I'd also like to glean a better understandin= g > of what types of commitment structures might work "better" than others fo= r > SPV -- e.g., ability to cheaply verify if a block pays a particular > address, spends a particular coin, and the exclusion forms (does not pay = an > address, does not spend a coin) etc, especially in the context of Layer 2 > Bridging. > > Happy International Chihuahua Appreciation Day, > > Jeremy > > -- > 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/a3049fd5-e001-4d3a-9c99-d562= 9f47dfd8n%40googlegroups.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/= CAO3Pvs8%3DkrFLHO1vjNitSAMLJTP7Ss%2B5auSXFf-OHEs7J1nV8Q%40mail.gmail.com. --000000000000a14a140652730dc1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Taproot Assets uses SPV proofs in the proof file format fo= r an asset. Each
asset starts at a gensis point, then proves that the ru= les of the overlay layer
were followed each each new state transition. E= ach state transition includes an
SPV proof of the transaction that commi= ts to the state transition.

An upcoming revamp of the LN gossip prot= ocol also has a cut out to optionally
include an SPV proof with a channe= l announcement=C2=A0message. This makes the
protocol more light client f= riendly, as otherwise a light client=C2=A0would need to
fetch tens of th= ousands=C2=A0of blocks to verify that a channel actually exists.

It = isn't specified today, but a future extension to the `channel_update`message could include a merkle proof of a _spent_ funding output to provi= de a
verifiable gossip layer proof that a channel has been closed. Today= setting a
disabled bit in the channel update is used in place, but that= 's overloaded with
other signals (eg: the peer is offline).

&= gt; does not spend a coin

If the Merkle Tree were actually a Sparse = Merkle Tree, then we'd have a
succinct way proving that a given tran= saction wasn't in a block. If such a
commitment were added over the = set of spent outputs, then you could also
succinctly prove that a transa= ction wasn't spent in a block.

Such an STXO commitment would al= so be useful for SwiftSync as then peers are
able to verify the integrit= y of the undo data.


-- Laolu

On Thu, Ma= y 14, 2026 at 7:47=E2=80=AFAM jeremy <jeremy.l.rubin@gmail.com> wrote:
Dear Bitcoin Developers,

SP= V proofs are an important part of Bitcoin's Design, after all Satoshi t= hought they were worth including in the whitepaper!

As f= ar as I'm aware, they have somewhat limited usage in the wild, mainly i= n Electrum and in Layer 2 Bridges, but it is important that they work corre= ctly.

I'd like to gather a bit more detailed inf= ormation on where and how SPV proofs are currently used, as well as any oth= er proposed uses of SPV proofs.

In this Knowledge = Gathering, I'd also like to glean a better understanding of what types = of commitment structures might work "better" than others for SPV = -- e.g., ability to cheaply verify if a block pays a particular address, sp= ends a particular coin, and the exclusion forms (does not pay an address, d= oes not spend a coin) etc, especially in the context of Layer 2 Bridging.

Happy International Chihuahua Appreciation Day,

Jeremy

--
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/a3049fd5-e001-4d3a-9c99-d5629f47dfd8n%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 bitcoind= ev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/= d/msgid/bitcoindev/CAO3Pvs8%3DkrFLHO1vjNitSAMLJTP7Ss%2B5auSXFf-OHEs7J1nV8Q%= 40mail.gmail.com.
--000000000000a14a140652730dc1--