From 509ad8452d38a30f119f57f9ce0d47c5a27f1691 Mon Sep 17 00:00:00 2001 From: dergigi Date: Thu, 7 May 2026 11:37:38 +0200 Subject: [PATCH 1/6] feat(projects): add utreexo page --- data/projects/utreexo.mdx | 55 ++++++++++++++++++++++ public/static/images/projects/utreexo.jpg | Bin 0 -> 10894 bytes 2 files changed, 55 insertions(+) create mode 100644 data/projects/utreexo.mdx create mode 100644 public/static/images/projects/utreexo.jpg diff --git a/data/projects/utreexo.mdx b/data/projects/utreexo.mdx new file mode 100644 index 000000000..e0a9944c7 --- /dev/null +++ b/data/projects/utreexo.mdx @@ -0,0 +1,55 @@ +--- +title: 'Utreexo' +dateAdded: '2026-05-07' +summary: 'A compact-state Bitcoin project built around a hash-based accumulator, bridge nodes, and the protocol work needed to make them interoperable.' +nym: 'Calvin Kim' +website: 'https://github.com/utreexo/utreexod' +coverImage: '/static/images/projects/utreexo.jpg' +git: 'https://github.com/utreexo' +tags: ['Bitcoin', 'Core', 'Protocol'] +fund: general +announcementLink: '/blog/bitcoin-grants-july-2024#utreexo' +--- + +Utreexo is a project to shrink the state a Bitcoin node needs to carry. It +replaces the full UTXO set with a small set of accumulator roots derived from a +hash-based Merkle forest, while separate proofs show that a spend is valid. The +codebase centers on the [`utreexo`](https://github.com/utreexo/utreexo) +accumulator library and [`utreexod`](https://github.com/utreexo/utreexod), a +full node and bridge node implementation that serves those proofs to peers. + +Bridge nodes matter because today's Bitcoin network relays blocks and +transactions without Utreexo proofs. `utreexod` fills that gap, while related +work in [Floresta](/projects/floresta) brings the same model to a Rust +compact-state client. The broader effort also includes protocol specifications +for the accumulator, validation rules, and peer-to-peer messages. + +## Why fund it? + +Running your own node works best when the hardware requirements stay within +reach. The storage and disk I/O cost of the full UTXO set pushes many users +toward hosted infrastructure or lighter clients. Utreexo cuts that cost and +opens the door to compact-state nodes on phones, single-board computers, and +other constrained devices while preserving full verification. + +OpenSats first funded Utreexo in the +[fifth wave of Bitcoin grants](/blog/bitcoin-grants-july-2024#utreexo), +supporting work on transaction messaging, BIP writing, and bridge-node +implementation work. + +## What's next? + +Recent work landed in [`utreexod` v0.5.0][v0-5-0] and [`v0.5.1`][v0-5-1]. The +current release line brings SwiftSync-based IBD, bridge-node performance and +database work, and continued cleanup of the Utreexo wire protocol. In parallel, +[BIP 181, 182, and 183][bips-pr] remain under review, covering the accumulator, +validation, and P2P message layer. + +Near-term work includes finishing the SwiftSync-related spec updates, +strengthening bridge-node reliability and performance, and keeping +implementations like `utreexod` and [Floresta](/projects/floresta) aligned on +the protocol. + +[bips-pr]: https://github.com/bitcoin/bips/pull/1923 +[v0-5-0]: https://github.com/utreexo/utreexod/releases/tag/v0.5.0 +[v0-5-1]: https://github.com/utreexo/utreexod/releases/tag/v0.5.1 diff --git a/public/static/images/projects/utreexo.jpg b/public/static/images/projects/utreexo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cbc8d5b4cedb2ecc2e00cb1087580ef0deee7b6a GIT binary patch literal 10894 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 Date: Thu, 7 May 2026 16:04:24 +0200 Subject: [PATCH 2/6] fix: apply suggestions from Tuma Co-authored-by: Tuma <119351965+TumaBitcoiner@users.noreply.github.com> --- data/projects/utreexo.mdx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/data/projects/utreexo.mdx b/data/projects/utreexo.mdx index e0a9944c7..f353bb0d4 100644 --- a/data/projects/utreexo.mdx +++ b/data/projects/utreexo.mdx @@ -18,7 +18,8 @@ codebase centers on the [`utreexo`](https://github.com/utreexo/utreexo) accumulator library and [`utreexod`](https://github.com/utreexo/utreexod), a full node and bridge node implementation that serves those proofs to peers. -Bridge nodes matter because today's Bitcoin network relays blocks and +Bridge nodes are nodes that keep the entire Merkle forest and attach proofs to new blocks and transactions. +They matter because today's Bitcoin network relays blocks and transactions without Utreexo proofs. `utreexod` fills that gap, while related work in [Floresta](/projects/floresta) brings the same model to a Rust compact-state client. The broader effort also includes protocol specifications @@ -39,8 +40,8 @@ implementation work. ## What's next? -Recent work landed in [`utreexod` v0.5.0][v0-5-0] and [`v0.5.1`][v0-5-1]. The -current release line brings SwiftSync-based IBD, bridge-node performance and +Recent work landed in [`utreexod` v0.5.0][v0-5-0] and [v0.5.1][v0-5-1]. The +current release line brings [SwiftSync][SwifSync gist]-based IBD, bridge-node performance and database work, and continued cleanup of the Utreexo wire protocol. In parallel, [BIP 181, 182, and 183][bips-pr] remain under review, covering the accumulator, validation, and P2P message layer. @@ -53,3 +54,4 @@ the protocol. [bips-pr]: https://github.com/bitcoin/bips/pull/1923 [v0-5-0]: https://github.com/utreexo/utreexod/releases/tag/v0.5.0 [v0-5-1]: https://github.com/utreexo/utreexod/releases/tag/v0.5.1 +[SwiftSync gist]:https://gist.github.com/RubenSomsen/a61a37d14182ccd78760e477c78133cd From cf7e42f1c238e5b4858e280a91b21083e81db88e Mon Sep 17 00:00:00 2001 From: dergigi Date: Thu, 7 May 2026 18:35:15 +0200 Subject: [PATCH 3/6] docs(projects): refocus utreexo page on utreexod --- data/projects/utreexo.mdx | 57 ----------------- data/projects/utreexod.mdx | 58 ++++++++++++++++++ .../projects/{utreexo.jpg => utreexod.jpg} | Bin 3 files changed, 58 insertions(+), 57 deletions(-) delete mode 100644 data/projects/utreexo.mdx create mode 100644 data/projects/utreexod.mdx rename public/static/images/projects/{utreexo.jpg => utreexod.jpg} (100%) diff --git a/data/projects/utreexo.mdx b/data/projects/utreexo.mdx deleted file mode 100644 index f353bb0d4..000000000 --- a/data/projects/utreexo.mdx +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: 'Utreexo' -dateAdded: '2026-05-07' -summary: 'A compact-state Bitcoin project built around a hash-based accumulator, bridge nodes, and the protocol work needed to make them interoperable.' -nym: 'Calvin Kim' -website: 'https://github.com/utreexo/utreexod' -coverImage: '/static/images/projects/utreexo.jpg' -git: 'https://github.com/utreexo' -tags: ['Bitcoin', 'Core', 'Protocol'] -fund: general -announcementLink: '/blog/bitcoin-grants-july-2024#utreexo' ---- - -Utreexo is a project to shrink the state a Bitcoin node needs to carry. It -replaces the full UTXO set with a small set of accumulator roots derived from a -hash-based Merkle forest, while separate proofs show that a spend is valid. The -codebase centers on the [`utreexo`](https://github.com/utreexo/utreexo) -accumulator library and [`utreexod`](https://github.com/utreexo/utreexod), a -full node and bridge node implementation that serves those proofs to peers. - -Bridge nodes are nodes that keep the entire Merkle forest and attach proofs to new blocks and transactions. -They matter because today's Bitcoin network relays blocks and -transactions without Utreexo proofs. `utreexod` fills that gap, while related -work in [Floresta](/projects/floresta) brings the same model to a Rust -compact-state client. The broader effort also includes protocol specifications -for the accumulator, validation rules, and peer-to-peer messages. - -## Why fund it? - -Running your own node works best when the hardware requirements stay within -reach. The storage and disk I/O cost of the full UTXO set pushes many users -toward hosted infrastructure or lighter clients. Utreexo cuts that cost and -opens the door to compact-state nodes on phones, single-board computers, and -other constrained devices while preserving full verification. - -OpenSats first funded Utreexo in the -[fifth wave of Bitcoin grants](/blog/bitcoin-grants-july-2024#utreexo), -supporting work on transaction messaging, BIP writing, and bridge-node -implementation work. - -## What's next? - -Recent work landed in [`utreexod` v0.5.0][v0-5-0] and [v0.5.1][v0-5-1]. The -current release line brings [SwiftSync][SwifSync gist]-based IBD, bridge-node performance and -database work, and continued cleanup of the Utreexo wire protocol. In parallel, -[BIP 181, 182, and 183][bips-pr] remain under review, covering the accumulator, -validation, and P2P message layer. - -Near-term work includes finishing the SwiftSync-related spec updates, -strengthening bridge-node reliability and performance, and keeping -implementations like `utreexod` and [Floresta](/projects/floresta) aligned on -the protocol. - -[bips-pr]: https://github.com/bitcoin/bips/pull/1923 -[v0-5-0]: https://github.com/utreexo/utreexod/releases/tag/v0.5.0 -[v0-5-1]: https://github.com/utreexo/utreexod/releases/tag/v0.5.1 -[SwiftSync gist]:https://gist.github.com/RubenSomsen/a61a37d14182ccd78760e477c78133cd diff --git a/data/projects/utreexod.mdx b/data/projects/utreexod.mdx new file mode 100644 index 000000000..3d732cd7d --- /dev/null +++ b/data/projects/utreexod.mdx @@ -0,0 +1,58 @@ +--- +title: 'utreexod' +dateAdded: '2026-05-07' +summary: 'A fully validating Bitcoin node and bridge node implementation of the Utreexo protocol.' +nym: 'Calvin Kim' +website: 'https://github.com/utreexo/utreexod' +coverImage: '/static/images/projects/utreexod.jpg' +git: 'https://github.com/utreexo/utreexod' +tags: ['Bitcoin', 'Core'] +fund: general +announcementLink: '/blog/bitcoin-grants-july-2024#utreexo' +--- + +`utreexod` is the Go daemon implementation of Utreexo, the compact-state +approach that replaces the full UTXO set with a small accumulator plus proofs. +It runs as a fully validating Bitcoin node and can also run as a bridge node +that keeps the full forest and serves proofs to peers. + +Bridge nodes matter because Bitcoin blocks and transactions are still relayed +without Utreexo proofs. A compact-state client needs someone to generate those +proofs and attach them to the data it receives. `utreexod` fills that role +today, while projects like [Floresta](/projects/floresta) build other clients +around the same protocol work. + +The main tradeoff is bandwidth. `utreexod` uses much less disk I/O and memory +than a traditional node, but it downloads extra proof data. It can also start +from a hardcoded UTXO state, which avoids the usual initial block download path +and brings a validating node online much faster. + +## Why fund it? + +Running your own node gets harder as the chain grows and the UTXO set gets more +expensive to store. `utreexod` takes a different path: keep full validation, +shrink local state, and move proof generation to bridge nodes. That makes +compact-state verification practical on cheaper hardware and opens the door to +more validating clients. + +OpenSats first funded Utreexo in the +[fifth wave of Bitcoin grants](/blog/bitcoin-grants-july-2024#utreexo), +supporting work on `utreexod`, bridge-node implementation, transaction +messaging, and the BIPs needed to make multiple implementations interoperate. + +## What's next? + +Recent work landed in [`utreexod` v0.5.0][v0-5-0] and [v0.5.1][v0-5-1]. +v0.5.0 added SwiftSync-based proofless IBD and cut worst-case extra sync +bandwidth from about 1.4 TB to about 200 GB. It also pushed more of the +protocol onto dedicated Utreexo messages and continued bridge-node and indexer +work. v0.5.1 followed with a netsync fix. + +Current work includes bridge-node performance, faster proof generation for +historical blocks, and the review process for [BIP 181, 182, and 183][bips-pr], +which define the accumulator, validation rules, and P2P message layer that +other implementations need. + +[bips-pr]: https://github.com/bitcoin/bips/pull/1923 +[v0-5-0]: https://github.com/utreexo/utreexod/releases/tag/v0.5.0 +[v0-5-1]: https://github.com/utreexo/utreexod/releases/tag/v0.5.1 diff --git a/public/static/images/projects/utreexo.jpg b/public/static/images/projects/utreexod.jpg similarity index 100% rename from public/static/images/projects/utreexo.jpg rename to public/static/images/projects/utreexod.jpg From ca0ea2df9bdf06750859a8e24a019c56cfe2454b Mon Sep 17 00:00:00 2001 From: Gigi <109058+dergigi@users.noreply.github.com> Date: Thu, 7 May 2026 20:13:49 +0200 Subject: [PATCH 4/6] fix: link to topic page --- data/projects/utreexod.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/projects/utreexod.mdx b/data/projects/utreexod.mdx index 3d732cd7d..3e6873cd9 100644 --- a/data/projects/utreexod.mdx +++ b/data/projects/utreexod.mdx @@ -11,7 +11,7 @@ fund: general announcementLink: '/blog/bitcoin-grants-july-2024#utreexo' --- -`utreexod` is the Go daemon implementation of Utreexo, the compact-state +`utreexod` is the Go daemon implementation of [Utreexo](/topics/utreexo), the compact-state approach that replaces the full UTXO set with a small accumulator plus proofs. It runs as a fully validating Bitcoin node and can also run as a bridge node that keeps the full forest and serves proofs to peers. From ab224851d7a24d37bb82e154f78087d02419c09a Mon Sep 17 00:00:00 2001 From: Gigi <109058+dergigi@users.noreply.github.com> Date: Fri, 8 May 2026 16:35:17 +0200 Subject: [PATCH 5/6] Update data/projects/utreexod.mdx Co-authored-by: Tuma <119351965+TumaBitcoiner@users.noreply.github.com> --- data/projects/utreexod.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/data/projects/utreexod.mdx b/data/projects/utreexod.mdx index 3e6873cd9..987d6e7dd 100644 --- a/data/projects/utreexod.mdx +++ b/data/projects/utreexod.mdx @@ -56,3 +56,4 @@ other implementations need. [bips-pr]: https://github.com/bitcoin/bips/pull/1923 [v0-5-0]: https://github.com/utreexo/utreexod/releases/tag/v0.5.0 [v0-5-1]: https://github.com/utreexo/utreexod/releases/tag/v0.5.1 +[SwiftSync gist]:https://gist.github.com/RubenSomsen/a61a37d14182ccd78760e477c78133cd From bd2531ad0643096a7f155243bbe16018fc643f1c Mon Sep 17 00:00:00 2001 From: Gigi <109058+dergigi@users.noreply.github.com> Date: Fri, 8 May 2026 16:35:25 +0200 Subject: [PATCH 6/6] Update data/projects/utreexod.mdx Co-authored-by: Tuma <119351965+TumaBitcoiner@users.noreply.github.com> --- data/projects/utreexod.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/projects/utreexod.mdx b/data/projects/utreexod.mdx index 987d6e7dd..155affa93 100644 --- a/data/projects/utreexod.mdx +++ b/data/projects/utreexod.mdx @@ -43,7 +43,7 @@ messaging, and the BIPs needed to make multiple implementations interoperate. ## What's next? Recent work landed in [`utreexod` v0.5.0][v0-5-0] and [v0.5.1][v0-5-1]. -v0.5.0 added SwiftSync-based proofless IBD and cut worst-case extra sync +v0.5.0 added [SwiftSync-based][SwiftSync gist] proofless IBD and cut worst-case extra sync bandwidth from about 1.4 TB to about 200 GB. It also pushed more of the protocol onto dedicated Utreexo messages and continued bridge-node and indexer work. v0.5.1 followed with a netsync fix.