Dnes je oficiální vydání Bitcoinové jádro 0.12.0, dvanáctá generace referenčního klienta bitcoinu, kterou poprvé zahájil Satoshi Nakamoto před sedmi lety. Nejnovější verze Bitcoin Core, která byla vyvinuta téměř 100 přispěvateli za sedm měsíců, obsahuje více než 20 vylepšení, zejména pokud jde o výkon, zabezpečení a použitelnost.
Toto je šestá nejvýznamnější změna.
Omezení fondu paměti
Paměťové fondy jsou kolekce nepotvrzených transakcí, které jsou jednotlivě uloženy všemi úplnými uzly. Paměťové fondy se zaplňují mezi bloky, když se nové transakce přenášejí po bitcoinové síti a jsou vyčerpány, když jsou tyto transakce zahrnuty do bloků. Pokud však řada následujících bloků zůstane po delší dobu plná – buď kvůli legitimním transakcím, nebo spamovým útokům – paměťové fondy se nemusí úplně vyčerpat a mohou se hromadit nevyřízené položky. Bez maximálního limitu může backlog dokonce narůst do bodu, kdy uzlům dojde paměť a dojde k chybě. (To je “nouzové přistání„Obával se bývalý vývojový pracovník Bitcoin XT Mike Hearn.)
Omezení fondu paměti, jak název napovídá, vynucuje tvrdé omezení maximální velikosti fondů paměti, aby se zabránilo tomuto scénáři. Pokud je dosaženo maxima, uzly odmítnou nebo vyčistí své paměťové oblasti transakcí, které nabízejí nejnižší částku poplatků za bajt.
Provozovatelé s plným uzlem mohou konfigurovat své limity, ale výchozí maximální velikost v Bitcoin Core 0.12.0 je nastavena na 300 megabajtů.
Blockchain Prořezávání pro uživatele peněženky
Jednou ze zátěží provozu celého uzlu je požadavek na uložení celého blockchainu. To přidává až 55 gigabajtů v době psaní tohoto článku, a může růst o dalších 50 gigabajtů ročně pod aktuální limit velikosti 1 MB bloku.
Aby se tento požadavek snížil, Bitcoin Core 0.12.0 umožňuje uživatelům ořezávat blockchain, což znamená, že se mohou zbavit starších dat, jakmile to jejich uzel ověří. Množství uchovávaných dat je konfigurovatelné, i když Bitcoin Core 0.12.0 bude stále vyžadovat minimálně 2 gigabajty místa na disku.
Prořezávání blockchainu znamená, že tyto uzly již nebudou moci sdílet všechna data blockchainu s vrstevníky, jako je například první synchronizace úplných uzlů se sítí.
(Je třeba poznamenat, že prořezávání blockchainu bylo poprvé představeno v Bitcoin Core 0.11.0, ale ještě nebylo k dispozici pro uživatele, kteří používají Bitcoin Core jako peněženku.)
Nahrajte omezení provozu
Plné uzly nepřetržitě přenášejí a přenášejí transakce a bloky navzájem přes síť peer-to-peer bitcoinu. To obvykle vyžaduje stažení malého množství dat, ale sdílení stejných dat s několika vrstevníky současně může přidat až značné náklady na nahrávání..
Bitcoin Core 0.12.0 zavádí konfigurovatelný datový limit pro přenos nahrávání. Pokud je tento limit na dosah, uzel využije nahrávání bloků starších než týden, obvykle požadovaných uzly nejprve synchronizovanými se sítí. Kromě toho budou odpojeni všichni světelní klienti, kteří již nebudou obsluhovat žádná bloková data.
Přihlaste se Nahraďte podle poplatku
Jak se zvyšuje počet transakcí v bitcoinové síti, nemusí se všechny transakce hodit do bloků. Těžaři proto pravděpodobně vyberou transakce odeslané uživateli, kteří zahrnovali většinu poplatků. To znamená, že některé transakce – od uživatelů, kteří zaplatili příliš nízký poplatek – nikdy nemohli vůbec potvrdit. A protože mnoho úplných uzlů a těžařů aktuálně odmítá konfliktní transakce (odesílané ze stejných vstupů jako dřívější transakce), transakce s nízkými poplatky se mohou v síti „zaseknout“.
Abychom to vyřešili, zavádí bitcoinové jádro 0.12.0 opt-in nahrazení za poplatek. Pokud je transakce odeslána pomocí opt-in replace-by-fee, uživatelé mohou nahradit svou vlastní transakci novější transakcí zahrnutím vyššího poplatku. (To také znamená, že těžaři mohou zvýšit svůj příjem, protože si mohou vybírat transakce, které zahrnují vyšší poplatky.)
Část „opt-in“ nahrazení za poplatek znamená, že tyto typy transakcí nebudou výchozí a budou označeny jako transakce nahrazení za poplatek v bitcoinové síti. Každý, kdo se spoléhá na transakce s nulovým potvrzením, by měl chtít sledovat tyto transakce nahrazení poplatkem, protože je lze velmi snadno vrátit, dokud nebudou potvrzeny. (Samozřejmě transakce s nulovým potvrzením byly nikdy v bezpečí.)
Zda bude nahrazení podle poplatků skutečně užitečné, záleží na bitcoinových těžařích; oni nakonec rozhodnou, které transakce zahrnou do bloků a podle jakých zásad.
Tor ve výchozím nastavení
I když se o bitcoinech často tvrdí, že uživatelům poskytují anonymitu, není to tak úplně pravda. Uživatelé bitcoinů mohou být anonymizováni, například prostřednictvím sítě peer-to-peer. Pokud se určí, ze které IP adresy transakce pochází, lze tyto informace použít k identifikaci uživatelů bitcoinů.
Kvůli ochraně soukromí uživatelů se bitcoinové jádro 0.12.0 automaticky připojuje k bitcoinové síti pomocí anonymizačního nástroje Tor (The Onion Router) – pokud je Tor nainstalován na stejném počítači. Před odesláním Tor šifruje data a směruje je přes několik uzlů po celém světě. Díky tomu je těžké – možná nemožné – sledovat, odkud bitcoinová transakce pochází.
(Je třeba poznamenat, že samotné použití Tor nemusí stačit k ochraně identity uživatele bitcoinu. Další informace najdete v příručce Bitcoin Magazine’s Beginners Guide to Bitcoin Privacy.)
Rychlejší ověření podpisu
Podpisy jsou kryptografický trik, kdy jsou soukromé klíče „kombinovány“ s jakýmikoli jinými daty, aby se vypočítal jedinečný řetězec čísel. Odpovídající veřejné klíče lze použít k ověření, že podpisy byly vytvořeny pomocí soukromých klíčů. V případě bitcoinu se podpisy účinně používají k prokázání vlastnictví bitcoinů a jako takové k ověření transakcí.
Existuje však několik způsobů, jak tento kryptografický trik provést, což by mohlo vést k různým podpisům – všechny jsou platné svým vlastním způsobem. A pokud různé bitcoinové uzly používají různé metody pro ověření, některé uzly mohou považovat určité transakce za platné, zatímco jiné uzly ne, což by mohlo rozdělit bitcoinovou síť.
V návaznosti na a měkká vidlice k vyřešení tohoto problému v loňském roce nyní Bitcoin Core 0.12.0 přepíná veškerou validaci z kryptografické knihovny „OpenSSL“ na „libsecp256k1“, kterou vyvinuli Dr. Pieter Wuille, Gregory Maxwell a další vývojáři Bitcoin Core.
Další výhodou je, že toto nové schéma ověřování podpisů vyžaduje menší výkon procesoru, snižuje náklady na provoz celého uzlu a výrazně zkracuje dobu ověření bloku..
Úplný seznam vylepšení najdete v poznámkách k vydání Bitcoin Core 0.12.0 GitHub.
Díky vedoucímu vývojáři Bitcoin Core Wladimir van der Laan a Ciphrex CEO a vývojář bitcoinového jádra Eric Lombrozo za korektury a přidanou zpětnou vazbu.