Pruned Node je Full Node, tedy uzel, který sám kontroluje pravidla Bitcoinu, ale neuchovává všechny staré bloky natrvalo. Šetří místo na disku za cenu omezeného přístupu k historii. Z vašich bitcoinů nic neodečítá a zálohu peněženky nenahrazuje.
Anna chce používat Bitcoin bez toho, aby správnost plateb přebírala od cizího serveru. Její domácí počítač ale nemá místo na celý archiv bloků, tedy balíků potvrzených transakcí. Řešením může být Pruned Node. Při běžném Initial Block Download, první synchronizaci uzlu, nejprve postupně stáhne a ověří historii; starší zpracované soubory potom odstraňuje. Nemusí mít celou historii na disku najednou, přesto jí při této synchronizaci musí projít. [2] [5]
Pruning znamená řízené odstraňování starých dat. Bitcoin Core odstraňuje způsobilé soubory bloků a související undo data, která umožňují vrátit změny provedené blokem. Představte si odložení starých pracovních podkladů po jejich zapracování do průběžného přehledu. Zmizí místní kopie podkladů, nikoli účinky platných plateb. Stejné bloky navíc mohou dál uchovávat jiné uzly. [3] [7]
Důležitý je UTXO set: soubor dosud neutracených výstupů transakcí. Každý takový výstup popisuje částku a podmínky, za kterých ji lze utratit. Uzel jej průběžně aktualizuje a díky němu pozná například pokus utratit již utracený výstup. Uchovává také index bloků včetně jejich hlaviček, stručných záznamů propojujících bloky. UTXO set ovšem není seznam účtů ani přehled všech minulých plateb. [2] [6]
Síť může na chvíli sledovat dvě platné větve a později pokračovat po jiné větvi s větším množstvím nahromaděné práce. Této změně říkáme reorganizace. Množství práce vyjadřuje náročnost hledání platných bloků, doloženou jejich Proof of Work, tedy důkazem výpočetní práce. Při reorganizaci uzel potřebuje vrátit účinky některých bloků, proto si ponechává rezervu nedávných bloků a undo dat. Pokud by návrat sahal za uchovaná data, mohlo by být nutné data znovu získat nebo obnovit stav. Nastavená velikost disku nedělá staré platby absolutně nevratnými. [5] [7]
Cíl automatického pruningu v Bitcoin Core se týká blokových a undo souborů, ne celé datové složky uzlu. Vedle nich zabírají místo databáze, peněženka a další soubory. Mazání probíhá po celých souborech a musí respektovat potřebnou rezervu, takže cíl není nepřekročitelný strop. Při plánování disku proto ponechte místo i na tento provoz; údaj o limitu archivu není velikost celého uzlu. [1] [4] [7]
Slovo Full v názvu Full Node označuje vlastní ověřování pravidel, ne povinnost skladovat každý blok navždy. Archivní a prořezaný uzel se stejným validačním nastavením odmítají stejné neplatné bloky. Pruning sám žádné kontroly nevypíná. Digitální podpis dokládá oprávnění k platbě pomocí soukromého klíče, tajného číselného údaje, aniž by jej odhalil. Například assumevalid, nastavení umožňující za určitých podmínek vynechat část historického ověřování podpisů, je jiná věc. Může se týkat obou druhů uzlů a není důsledkem menšího disku. [5] [6]
Annin uzel dál přijímá, ověřuje a může předávat nové transakce a dostupné bloky. Nemůže ale poslat starý blok, jehož soubor už odstranil. Pro nově spuštěné uzly jsou proto důležití i provozovatelé úplných archivů. Pruned Node není odpojený od sítě ani pouhá lehká peněženka spoléhající na cizí ověřování; jen poskytuje omezenější historická data. [10]
Anna později obnoví peněženku používanou před lety. Peněženka je aplikace nebo zařízení pro přijímání a odesílání bitcoinů. Aby software znovu našel její transakce, prochází příslušné bloky; tomu se říká rescan. Jestliže místně chybějí, samotný import klíče nebo descriptoru, popisu způsobu vytváření adres a podmínek utrácení, je nevrátí. Obnova pak může vyžadovat opětovné získání historie. Chybějící zobrazení staré platby tedy samo o sobě neznamená ztrátu bitcoinů. [8] [9]
Záleží také na aplikacích, které k uzlu připojujete. Průzkumník celé historie má jiné potřeby než peněženka sledující nové platby. Například Bitcoin Core v29.0 nepovoluje pruning současně s txindex, pomocným indexem pro vyhledávání transakcí v uložených blocích. Není to zákaz všech indexů. Před volbou režimu ověřte požadavky svého programu; dodatečné zvětšení limitu samo smazané soubory zpět nevytvoří. [1]
Pruned Node dává smysl, když chcete sami ověřovat Bitcoin a nepotřebujete nepřetržitě prohledávat celý archiv. Běžné první stahování historie tím ale neodpadá; AssumeUTXO řeší rychlejší počáteční použitelnost jiným mechanismem. A především: bloky ani UTXO set nejsou zálohou soukromých klíčů, kterými povolujete utrácení. Zálohu peněženky a ověřený postup její obnovy potřebujete bez ohledu na velikost archivu. [2] [9]
Pro nejúplnější obraz čtěte toto heslo společně s Initial Block Download, AssumeUTXO, Block Propagation, vByte, Bitcoin, Bitcoin Core. Opačným směrem na něj odkazují také Initial Block Download, AssumeUTXO, Utreexo, Compact Block Filters.