Full Node je software, který sám vynucuje bitcoinová konsenzuální pravidla. Z přijatých dat odvozuje platný stav; samotný počet připojených protějšků ani značka zařízení jeho závěrům nepřidávají hlasovací váhu.
Uzel kontroluje hlavičky, Proof of Work, vazby bloků i přechody stavu UTXO. Při připojení bloku musí výstupy existovat, nesmí být utraceny podruhé a podmínky skriptů i emisní limit musí souhlasit. Více práce umožní vybrat jinou platnou větev, nikoli obejít pravidla platnosti. [Bitcoin Core v29.0: validation]
Při prvním spuštění se historie stahuje a zpracovává. Bitcoin Core může s assumevalid za stanovených podmínek vynechat staré kontroly skriptů; assumevalid=0 tuto optimalizaci vypíná. AssumeUTXO začíná z otisku schváleného snapshotu a historii ověřuje na pozadí. Dostupný aktuální stav proto není automaticky dokončená historická validace. [Bitcoin Core v29.0: validation] [Bitcoin Core v29.0: AssumeUTXO]
Pruned uzel po zpracování odstraňuje staré blokové soubory, ale zachovává aktuální UTXO stav a dále ověřuje nové bloky. Archivní uzel si staré bloky ponechává. Rozdíl se týká dostupnosti historie pro její poskytování či opakované prohledávání; SPV naproti tomu neověřuje všechny transakce a stav stejným způsobem. [Bitcoin.org: running a full node]
Běžící uzel nechrání platby, které peněženka dál ověřuje přes cizí server. Je nutné zkontrolovat její skutečný zdroj dat a způsob vysílání. Uzel může běžet bez soukromých klíčů; jejich držení a podepisování jsou jiná funkce. Vlastní ověření samo neodstraňuje síťová metadata ani chyby záloh. [Bitcoin.org: running a full node] [Bitcoin Core v29.0: RPC security]
P2P spojení přenášejí bloky a transakce; RPC dovoluje místním aplikacím ovládat uzel a případně peněženku. Zpřístupnění příchozího P2P portu tedy není totéž jako zveřejnění RPC. Bitcoin Core doporučuje RPC nevystavovat veřejnému internetu a pro místní klienty používá autentizační cookie. [Bitcoin Core v29.0: RPC security]
V getblockchaininfo zkontrolujte síť, blocks, headers a initialblockdownload; getchainstates rozliší stav snapshotu od ověřování na pozadí. Samotná zelená ikona nebo počet spojení úplné ověření nedokazuje. Nakonec ověřte, že peněženka skutečně čte z tohoto uzlu a že blokový tip není zastaralý. [Bitcoin Core v29.0: AssumeUTXO] [Bitcoin Core v29.0: validation]
Důvěřovat serveru, nebo ověřovat sám
Peněženka připojená k cizímu serveru se ho ptá na zůstatky a transakce. Peněženka připojená k vlastnímu full nodu kontroluje stejnou historii podle Vámi zvolených pravidel a omezuje, co se server dozví o Vašich adresách.
Pro nejúplnější obraz čtěte toto heslo společně s Bitcoin, Timechain, Transakce, UTXO, Proof of Work. Opačným směrem na něj odkazují také Bitcoin, Satoshi Nakamoto, Timechain, Proof of Work.
01Těží full node bitcoiny?+
Sám o sobě ne. Full node ověřuje bloky a transakce. Těžba opakovaně hashuje hlavičky kandidátních bloků; obě role mohou běžet společně, technicky jsou však odlišné.
02Musím navždy uchovávat celý blockchain?+
Pruned node při prvotní synchronizaci ověří celý řetězec a potom starší soubory bloků odstraňuje. Zachová aktuální UTXO set a dostatek novějších dat pro provoz.