feat: add "Exploring Hardened Shielded Pools" blog post#34
Conversation
Survey of the open problems for the next generation of shielded pools (on-chain state, censorship resistance, client read/proving load, post-quantum) plus a PoC that takes on two of them with PIR and epoch-based nullifiers. Draft: hero image pending; published:false is not enforced by the current Astro build, so keep in draft until 2026-06-11. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Minor: the PR description looks stale. It says the hero image should be added at |
oskarth
left a comment
There was a problem hiding this comment.
Overall looks good, some general comments and also on language
|
High-level style note: I think this needs one more voice/humanizer pass before publishing. The technical throughline is good, but parts of the piece still read a bit too polished/AI-shaped: broad framing phrases, abstract transitions, and explainer metaphors that sound smooth but make the argument less precise. Examples are the lines already called out: the title/description feel a bit salesy, “the cleanest picture is a librarian,” “the catch, and it matters in a minute,” and “That is exactly the question...” Similar patterns show up later in phrases like “same problem wearing two hats,” “small toolbox,” “where this leaves us,” and “two fronts that are starting to meet in the middle.” I’d suggest a pass that makes the piece more concrete and R&D-native:
|
Add a shared isPublished helper (src/lib/posts.ts) that gates posts by their frontmatter date, compared as a full timestamp (hour + timezone aware). Apply it in the blog index, homepage latest-posts, and post static path generation, so a future-dated post is omitted from the build until a build runs at or after its date. Replicates Jekyll's `future: false`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Accuracy, wording, and voice fixes from @oskarth and @rymnc plus two self-review rounds: retitle to "Exploring Hardened Shielded Pools", volume wording, light-client target-design caveat, numbered open problems, FOCIL/Groth16/PIR wording, Kohaku link, the read-side path-fetch correction with pseudocode, and a voice pass. Schedule the post for 2026-06-11T07:00:00-04:00 and drop the unused published flag. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks for the comments; addressed all threads. Highlights:
|
Blog writeup — "Exploring Hardened Shielded Pools" — building on the
shielded-pool-extensionPoC. It covers epoch nullifiers (bounding on-chain nullifier state) and PIR (private commitment-path reads), and frames private selection as the harder problem that remains.Addresses all inline + issue threads from @oskarth and @rymnc (accuracy, wording, and a voice pass), plus a follow-up annotation round.
Notes for reviewers
public/assets/images/2026-06-11-next-iteration-shielded-pools/hero.png, matching the frontmatterimage:path. (Supersedes the earlier description, which pointed at a…next-generation-…path and said the asset was missing.)published: falsewas silently ignored. A sharedisPublishedhelper (src/lib/posts.ts) filters the blog index, homepage latest-posts, and static path generation by the post'sdate, compared as a full timestamp (hour + timezone aware). Thepublishedflag was removed;dateis the single source of truth.2026-06-11T07:00:00-04:00, so it stays out of the build output until a build runs at/after 7am ET on June 11. Merge anytime — it stays hidden — then publish by triggering a build at/after the cutoff (push tomain, or run the Deploy workflow viaworkflow_dispatch).shielded-pool-extensionpath onmaster(iptf-pocs PR #74); confirm once it merges.