Aptos mainnet brzy umožní 🔒 důvěrné zdroje 💸!! Tj. šifrované zůstatky a transakční částky 🔐, byť s veřejně viditelnými 🌍 adresami odesílatelů a příjemců! (Krok za krokem, přátelé...) Takto fungují! 🤓👇
Důvěrná aktiva Aptos navazují na předchozí práci a rozšiřují ji. Zůstatky šifrujeme on-chain pomocí Twisted ElGamal, například PGC (). To dobře funguje s Bulletproofs, aby dokázalo, že zašifrovaný zůstatek byl správně odebrán po důvěrném odeslání/výběru.
Nebo, jak rád říkám [a teď si ze mě dělají legraci]... "Podívej se na můj blog!"
*Schopnost 1:* Na rozdíl od PGC a Solany jsou naše šifrované texty Twisted ElGamal _aggressively-chunked_, aby bylo zajištěno superrychlé dešifrování při zpracování zůstatků a množství ~256 bitů. Tomu říkáme *chunk'nd'n'twisted ElGamal.* Pro informaci, Aptos potřebuje pouze 128bitové zůstatky a 64bitové množství.
U Aptosu zaručuje chunking, že maximální diskrétní logaritmická (DL) instance, kterou je třeba vyřešit při dešifrování, je v nejhorším případě 32bitová (a v průměru mnohem menší). => snadno řešitelné v 2^16 sčítání eliptických křivek pomocí jednoduchých algoritmů jako je baby-step giant-step (BSGS) 👇
*Feat 2:* BSGS zrychlujeme pro náš výběr eliptické křivky Ristretto255 pomocí dávkových kompresí. Také zmenšíme velikost předpočítané tabulky čtyřnásobně (=> snižujeme velikost a latenci SDK důvěrných dappsů) Tento nový algoritmus nazýváme *zkrácený BSGS-k (TBSGS-k).*
Už jsem si s tímto algoritmem dělal pocity: ... ale nezdůraznil *proč*: TBSGS-k je deterministický => jednodušší na implementaci a testování. TBSGS-k je pouze ~2x pomalejší (10,6 ms vs 4,8 ms) než složitější algoritmus [BL12] a má pouze 2x větší tabulky.
alin.apt
alin.apt25. 2. 2026
If you're trying to compute discrete logs faster on Ristretto255, which has slow point compression, here's a faster (and smaller-memory footprint) variant of the Baby-Step Giant-Step algorithm I and @claudeai came up with 👇
*Výkon 3:* Když je auditování povoleno, udržujeme prokazatelně správné šifrování zůstatku každého uživatele pod šifrovacím klíčem auditora (EK). To znemožňuje auditorům skenovat uživatelské TXN za účelem rekonstrukce jejich zůstatku. Klíčové: umožňuje rotace 👌 auditorů EK
*Feat 4:* V Aptosu je rotace kláves uživatelem _signing_ centrální bezpečnostní funkcí. Takže: také jsme navrhli důvěrná aktiva pro podporu uživatelské *dešifrování* rotace klíčů! Prozatím jsou politiky správy klíčů ponechány aplikacím/peněženkám (slavná poslední slova 🤞).
Dobrá zpráva: Bezklíčové důvěrné dappy je mohou bezpečně znovu použít 🌶️ jako dešifrovací klíč! () ==> pro takové aplikace není zavedena žádná další zátěž správy klíčů ==> nejjednodušší způsob, jak vytvořit důvěrný dapp, je jako bezklíčový dapp; Peněženka [podpora] není potřeba!
*Schopnost 5:* Implementace krypto(*grafiky*), která zajistí skutečné uživatelské prostředky, je děsivá. Pro minimalizaci chyb (🤞), používáme často přehlíženou metodologii pro bezpečné navrhování a sestavování Sigma protokolů: Rámec *homomorfismu*, který jsem objevil v knize 🙏 @danboneh
*Feat 6:* První produkčně připravená implementace důvěrných aktiv v Move. Kód je v současnosti soukromý během auditu, ale brzy bude zveřejněn. Tady je malá ukázka, jak jednoduchý může 👇 být důvěrný převod
A protože si nemohu pomoct, zde je část našeho rámce homomorfismu Sigma-protokolu implementovaného v Move 😍
*Výkon 7:* Kompletní kryptografická specifikace s bezpečnostními důkazy. (Možná bychom to mohli naprogramovat v @leanprover?) Brzy přijde, s pikantními detaily, v eprintu vedle vás 👇
Nakonec uznání tam, kde je na místě: Důvěrná aktiva Aptos navazují na a rozšiřují myšlenky představené v předchozích pracích 👇 1. Zether (): vyřešil problém modelu účtu s "front-runningem" prostřednictvím čekajících zůstatků
2. PGC (): navrhoval Twisted ElGamal + Bulletproofs jako jednodušší alternativu k \Sigma-bullets. To výrazně snižuje složitost implementace: stačí se soustředit na správný návrh našich Sigma protokolů! Bezpečná kompozice je argumentována níže 👇
3. Solana (): umožňovala 48bitové přenesené částky rozdělením čekajícího zůstatku na "vysoký" 32bitový blok a "nízký" 16bitový blok. Umožňujeme větší částky použitím vyššího počtu částí a navíc rozdělením dostupného zůstatku.
Nakonec chci poděkovat @mstrakastrak a lidem z @distributedlab, kteří pomohli s návrhem počáteční verze protokolu důvěrných assetů a její implementací v Move a TypeScript 🖖 Sledujte brzy vydání našeho společného článku!
62