Erlay je návrh způsobu šíření nepotvrzených transakcí v bitcoinové P2P síti. Kombinuje běžné oznamování s porovnáváním množin identifikátorů, označovaným jako set reconciliation. Šetří přenesená data, ale nemění konsenzus ani povinnost každou získanou transakci ověřit.
Při běžném šíření posílají propojené uzly zprávy INV s 32bajtovými identifikátory transakcí. Často tak oznamují něco, co soused už zná. Více spojení zvyšuje datové náklady, přestože různorodá spojení pomáhají odolávat izolaci uzlu i rozdělení sítě. [1]
Erlay zachovává rychlé rozesílání oznámení na malé části spojení. Na ostatních si dvojice uzlů pravidelně porovnávají množiny dosud neoznámených transakcí. Nemusí přenášet celý seznam: z kompaktního matematického souhrnu, nazývaného sketch, mohou zjistit rozdíl. BIP 330 popisuje potřebné rozšíření P2P protokolu. [1]
Pro každé spojení vzniká samostatná množina a pro jednotlivé kolo její neměnný snímek. Obě strany přispějí hodnotou salt: pomocným vstupem pro odvození krátkých 32bitových identifikátorů z wtxid. PinSketch umožňuje porovnat množiny těchto identifikátorů. Zprávy sendtxrcncl, reqrecon, sketch, reqsketchext a reconcildiff zajišťují vyjednání podpory, výměnu souhrnů a zjištění chybějících oznámení. [1]
Po nalezení rozdílu si uzel stále vyžádá celou transakci a ověří ji vlastními pravidly. Salt omezuje možnost předem připravovat kolize krátkých identifikátorů; není to heslo ani šifrování transakce. Nestačí-li kapacita souhrnu, lze vyžádat jeho rozšíření. Při neúspěchu se protokol vrací k běžným oznámením. Implementace musí omezovat výpočetní práci a paměť, aby ji sousední uzel nemohl snadno zahltit. [1]
Při kontrole v říjnu 2026 měl BIP 330 stav Draft a popisoval upravený postup oproti původní studii. Diskuse Bitcoin Core č. 34542 znovu hodnotila úsporu dat, zpoždění a složitost kódu. To samo nedokládá, že konkrétní vydání Bitcoin Core Erlay používá. Rozhodují jeho poznámky k vydání, implementace a vyjednání podpory mezi oběma uzly. [4]
Studie z roku 2019 uvádí za svých podmínek přibližně 40 % úspory celkového datového provozu a 84 % úspory při oznamování transakcí. Jde o výsledky simulací a prototypu, nikoli příslib pro každou dnešní síť. Čekání na další kolo může zvýšit zpoždění; uzel, který transakce přijímá, ale nepředává, je může dále zdržet. Úsporu a rychlost je nutné měřit společně. [2]
Erlay omezuje opakovaná oznámení nepotvrzených transakcí. Compact Blocks naproti tomu zmenšují množství dat potřebných k sestavení nového bloku z transakcí, které uzel většinou už zná. Tyto mechanismy se doplňují, ale ani jeden sám neskrývá síťovou identitu uzlu. Každý potřebuje vlastní postup při selhání a ochranu před zahlcením. [3]
Začněte verzí BIP 330 a kódem, který uzel skutečně provozuje. Ověřte vyjednání podpory, odvození krátkých identifikátorů a salt, načasování kol, limity souhrnů i chování zprávy reqsketchext. Zkontrolujte také návrat k běžnému oznamování a následnou validaci celé transakce. Samotný název Erlay nevypovídá o dosažené úspoře ani zpoždění. [1]
Pro nejúplnější obraz čtěte toto heslo společně s Mempool, Bitcoin Core, Compact Blocks, Full Node, Sybil Attack, Eclipse Attack. Opačným směrem na něj odkazují také Block Propagation.
01Znamená BIP 330, že můj Bitcoin Core už používá Erlay?+
Ne. Samotná specifikace takovou záruku nedává. Ověřte konkrétní vydání, jeho implementaci a to, zda si oba uzly podporu vyjednaly. Experimentální kód ani výzkumná studie nejsou totéž jako funkce zapnutá ve vašem uzlu.
02Nahrazuje Erlay ověřování transakcí?+
Ne. Pomáhá zjistit, která oznámení druhé straně chybějí. Úplnou transakci si uzel stále vyžádá a podle vlastních pravidel rozhodne, zda ji přijme do mempoolu a předá dál.