From 5f2c35d27d2d8f906a948eff21bdf41619a85964 Mon Sep 17 00:00:00 2001 From: Arunim Shukla <54760103+arunimshukla@users.noreply.github.com> Date: Thu, 8 Oct 2026 10:12:07 +0530 Subject: [PATCH] fix(faq): correct Aztec privacy-model classification --- src/data/faq.ts | 4 ++-- tests/faq-content.test.ts | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 tests/faq-content.test.ts diff --git a/src/data/faq.ts b/src/data/faq.ts index ecce2f9..fcb524b 100644 --- a/src/data/faq.ts +++ b/src/data/faq.ts @@ -175,8 +175,8 @@ export const faqCategories: FaqCategory[] = [ { q: 'UTXO vs account model: which is better for privacy?', a: [ - 'UTXO-based privacy (Railgun, Zcash-style) provides stronger unlinkability by default — each transaction consumes and creates new notes, breaking the connection between sender and receiver. Account-based privacy (Aztec, FHE-based) is more familiar to Ethereum developers and supports richer programmability, but requires more careful design to prevent linkability.', - 'For institutional payments, UTXO models are simpler and better understood. For complex smart contract interactions (DeFi, derivatives), account-based privacy L2s offer more flexibility. The right choice depends on your use case rather than any absolute technical superiority.', + "Note-based privacy systems such as Railgun, as well as Aztec's private state, use notes and nullifiers to improve unlinkability. Some FHE-based confidential-token designs instead preserve an account-style balance model using encrypted mappings. Aztec is hybrid: its private state is note-based, while its public contract state is mutable and transparent.", + 'The practical choice is not UTXO versus account-based in the abstract. It depends on the threat model, composability requirements, operational trust assumptions, and deployment environment. Privacy L2s with private contracts and FHE-enabled contracts can support richer stateful logic, while note-based systems provide an established model for unlinkable asset transfers.', ], links: [ { label: 'Private Payments', href: '/approaches/approach-private-payments/' }, diff --git a/tests/faq-content.test.ts b/tests/faq-content.test.ts new file mode 100644 index 0000000..9be6445 --- /dev/null +++ b/tests/faq-content.test.ts @@ -0,0 +1,14 @@ +import { describe, expect, it } from 'vitest'; +import { findFaq } from '../src/data/faq'; + +describe('privacy-model FAQ', () => { + it('describes Aztec private state as note-based rather than account-based', () => { + const faq = findFaq('UTXO vs account model: which is better for privacy?'); + const answer = faq?.a.join(' ') ?? ''; + + expect(answer).toContain("Aztec's private state"); + expect(answer).toContain('notes and nullifiers'); + expect(answer).toContain('public contract state'); + expect(answer).not.toContain('Account-based privacy (Aztec'); + }); +});