183 / 691NEUTRINO

Neutrino

Lehký bitcoinový klient Neutrino

Neutrino umožňuje peněžence hledat vlastní transakce pomocí kompaktních filtrů od peerů. Šetří místní úložiště, ale správná obnova historie, dostupnost bloků a hranice lehké validace zůstávají podstatné.

Neutrino je implementace lehkého klienta v Go od Lightning Labs, navržená i pro mobilní použití s Lightning Network. Používá BIP 157 a BIP 158; není to označení každého lehkého klienta ani samostatná náhrada Full Node.

Aplikace spustí ChainService, který spravuje připojení k peerům, databázi a synchronizaci hlaviček. Nad ním peněženka hledá své příjmy a výdaje. Použití Neutrina samo neříká, kdo drží soukromé klíče nebo schvaluje platby; tyto funkce a uživatelské zálohy patří nadřazené aplikaci. [Lightning Labs — Neutrino README]

Klient synchronizuje hlavičky bloků a filtrů a podle potřeby získává filtry a odpovídající bloky. Své skripty testuje lokálně. Shoda může být falešně pozitivní, proto musí skutečný blok prohlédnout a najít transakci. Filtr sám neposkytuje částku ani důkaz, že výstup ovládá konkrétní peněženka. [Lightning Labs — Neutrino README] [BIP 157 — Client Side Block Filtering] [BIP 158 — Compact Block Filters]

Lehký klient ověřuje hlavičky a jejich řetězení, ale samostatně neověřuje všechny transakce a konsenzuální podmínky jako Full Node. Řetězec hlaviček filtrů navíc není závazkem obsaženým v bitcoinových hlavičkách. Vnitřně konzistentní podvodné filtry proto nelze vyloučit pouhým ověřením jejich hashů. [BIP 157 — Client Side Block Filtering] [Bitcoin developer guide — Operating Modes]

BIP 157 počítá s porovnáním odpovědí a alespoň jedním poctivým peerem pro odhalování chybných filtrů. Více spojení ke strojům stejného útočníka tuto podmínku nesplňuje. Izolace klienta může skrýt platby nebo nový stav řetězce; potřebuješ dostupné, různorodé zdroje, nikoli jen nenulový počet spojení. [BIP 157 — Client Side Block Filtering]

README popisuje Rescan s volitelným počátečním a koncovým blokem; bez začátku se skenuje od posledního známého bloku. To není automatické prohledání celé historie obnovené peněženky. Aplikace musí dodat dostatečně časný bod i úplnou sadu sledovaných skriptů; správný filtr nenajde adresu, kterou klient nehledá. [Lightning Labs — Neutrino README]

Dokumentované události recvtx a redeemingtx přicházejí při potvrzení, nikoli už při vstupu transakce do Mempool. Peněženka s náhledem nepotvrzených plateb tedy potřebuje odpovídající další mechanismus. Odeslání transakce, její přijetí peerem a potvrzení v bloku jsou rozdílné události; absence oznámení sama neprokazuje neodeslání. [Lightning Labs — Neutrino README]

Rescan oznamuje připojení i odpojení bloků, aby aplikace mohla přepočítat stav po reorganizaci. Shodující se filtr stále vyžaduje dostupný skutečný blok; nedostupnost se nesmí vydávat za nulový zůstatek. Peer vidí požadavky na bloky a síťové údaje, i když od klienta nedostává seznam hledaných adres. [Lightning Labs — Neutrino README] [BIP 157 — Client Side Block Filtering]

README uvádí ukládání vyžádaných filtrů a načítání bloků bez trvalého uložení; konkrétní provoz ověř podle verze a konfigurace. Neutrino dodává řetězcová data, nikoli zálohu aktuálního stavu Lightning kanálů. Před nasazením odděleně vyzkoušej obnovu historie, ztrátu peerů, reorganizaci a postup obnovy kanálů dané aplikace. [Lightning Labs — Neutrino README] [Bitcoin developer guide — Operating Modes]

Pro nejúplnější obraz čtěte toto heslo společně s Compact Block Filters, Compact Block Filters, Full Node, Lightning Network, Eclipse útok. Opačným směrem na něj odkazují také Compact Block Filters, Compact Block Filters.

DOC · 001Lightning Labs — Neutrino READMEPrimární zdrojDOC · 002BIP 157 — Client Side Block FilteringSpecifikaceDOC · 003BIP 158 — Compact Block FiltersSpecifikaceDOC · 004Bitcoin developer guide — Operating ModesDokumentace
Primární zdroje · Nejde o investiční doporučení