Dnes je oficiální vydání Bitcoinové jádro 0.15.0, patnáctá generace původního softwarového klienta bitcoinu, kterou zahájil Satoshi Nakamoto téměř před devíti lety. Dohlíží Bitcoinové jádro vedoucí údržby Wladimir van der Laan, toto nejnovější hlavní vydání vyvinulo téměř 100 přispěvatelů během šestiměsíčního období, s hlavními příspěvky prostřednictvím Chaincode Labs, Blockstream a Iniciativa MIT pro digitální měnu.

Bitcoin Core 0.15.0 nabízí oproti předchozím verzím softwarové implementace významné vylepšení výkonu a použitelnosti. Také zavádí několik nových funkcí pro lepší řešení aktuálního stavu sítě.

Toto jsou některé z pozoruhodnějších změn.

Restrukturalizace databáze Chainstate

Jedna z největších změn ve srovnání s předchozími verzemi softwaru spočívá v tom, jak je uložen stav blockchainu bitcoinu. Tento „chainstate“ nebo „UTXO-set“ je uložen ve vyhrazené databázi, zatímco dříve byl kategorizován podle transakce. Pokud jedna transakce poslala bitcoiny na několik výstupů („adres“), byly tyto různé výstupy uloženy jako jeden záznam databáze s odkazem na tuto jednu transakci.

S bitcoinovým jádrem 0.15.0 jsou tyto výstupy místo toho uloženy v každém záznamu databáze. Pokud jedna transakce odešle bitcoiny na různé výstupy, každý výstup se uloží samostatně. I když tato metoda deklaruje více místa na disku, vyžaduje méně výpočetních prostředků, pokud je jeden z těchto výstupů použit později.

Nejkonkrétnější výhodou této nové datové struktury je to, že počáteční čas synchronizace nových uzlů je snížen přibližně o 40 procent. Také zavádí jednodušší kód, snižuje využití paměti a další. Dále opravuje chybu, která by teoreticky mohla poškodit hlavní uzly bitcoinů, což bylo kontroverzně odhaleno na minulé víkendové konferenci Breaking Bitcoin v Paříži.

Vylepšený odhad poplatků

Vzhledem k tomu, že se bitcoinové bloky zaplňovaly za poslední rok nebo dva, ne všechny transakce se hodí do prvního těženého bloku. Místo toho horníci obvykle upřednostňují transakce, které zahrnují nejvíce poplatků. Pokud chce uživatel rychle potvrdit svou transakci, měl by zahrnout dostatečně vysoký poplatek. Pokud není ve spěchu, měl by stačit nižší poplatek.

Síť bitcoinů se však zabývá inherentní nepředvídatelností, pokud jde o rychlost nalezení bloků nebo počet transakcí, které se kdykoli přenášejí. To ztěžuje zahrnutí správného poplatku za transakci.

Bitcoin Core 0.15.0 snižuje tuto nejistotu poplatků: Nejnovější verze softwaru obsahuje výrazně lepší algoritmy odhadu poplatků. Je to hlavně proto, že software bere v úvahu více údajů při provádění odhadů, jako jsou poplatky zahrnuté ve starších potvrzených transakcích, stejně jako poplatky v nepotvrzených transakcích – poplatky, které se ukázaly jako nedostatečné.

Uživatelé si navíc mohou užívat větší flexibility. Za prvé, bitcoinové jádro 0.15.0 poprvé umožňuje uživatelům zahrnout poplatky, jejichž potvrzení transakcí může trvat až týden. A také nově zavedené, uživatelé se mohou rozhodnout přijmout více či méně riziko, že by jejich transakce mohla být odložena kvůli náhlému přílivu transakcí.

Nahradit za poplatek v uživatelském rozhraní

I při vylepšeném odhadu poplatků je možné, že uživatelé budou muset na potvrzení svých transakcí čekat déle, než chtějí, možná proto, že v síti došlo k náhlému přívalu transakcí, nebo možná proto, že si to uživatel rozmyslel a raději nechat transakci potvrdit rychleji, než za kterou byla původně zaplacena, nebo z jiných důvodů.

V těchto případech umožňují některé peněženky uživatelům přidat ke svým transakcím značku „nahradit za poplatek“. S takovou značkou uzly a těžaři v síti vědí, že odesílatel může chtít tuto transakci nahradit novější transakcí, která zahrnuje vyšší poplatek. To účinně umožňuje uživatelům narazit na transakci, aby byla potvrzena rychleji.

Bitcoinové jádrové uzly již více než rok podporují nahrazení za poplatek: Pokud již nová transakce zahrnuje více poplatků, již nahradí označené transakce „nahradit za poplatek“. Nikdy to však nebylo snadné využít pro samotné uživatele peněženky Bitcoin Core.

Do teď.

Peněženka Bitcoin Core 0.15.0 zavádí ve svém uživatelském rozhraní přepínač nahrazení za poplatek. To umožňuje uživatelům zahrnout příslušnou značku, což jim později umožní snadno zvýšit poplatky za jejich transakce.

Podpora více peněženek (pouze klient a RPC)

Bitcoin Core 0.15.0 umožňuje uživatelům poprvé vytvořit několik peněženek. Všechny tyto peněženky mají své vlastní samostatné bitcoinové adresy, soukromé klíče a tedy i finanční prostředky. Uživatelé mohou různé peněženky využívat k různým účelům; například jedna peněženka může být použita pro osobní každodenní nákupy, druhá pro obchodní transakce a třetí pouze pro obchodování.

Používání několika peněženek může nabídnout řadu výhod. Například usnadňuje a usnadňuje účetnictví. Uživatelé navíc mohou snadněji těžit ze zvýšeného soukromí, protože různé peněženky nelze vzájemně propojit analýzou blockchainu. Je také možné použít různé peněženky pro konkrétní aplikace a další.

Prozatím není podpora více peněženek pro běžné uživatele peněženky k dispozici; tuto funkci mohou využívat pouze pokročilí uživatelé, kteří pracují z příkazového řádku nebo prostřednictvím připojených aplikací.

Další vylepšení

Kromě výše zmíněných významných změn obsahuje Bitcoin Core 0.15.0 řadu dalších vylepšení výkonu, jak to dělá většina nových hlavních vydání Bitcoin Core. Konkrétně tyto změny zrychlují, jak rychle se bloky stahují ze sítě, umožňují rychlejší spuštění uzlů a aktuální uzly budou moci rychleji ověřovat nové bloky, což zvýhodní dobu šíření sítě.

Nakonec stojí za zmínku, že Bitcoin Core 0.15.0 se odpojí od BTC1 vrstevníků v síti. To znamená, že bitcoinová síť bude mít menší narušení, pokud pevná vidlice SegWit2x síť rozdělí, protože oba typy uzlů snáze najdou kompatibilní partnery. I když si tato změna získala určitou pozornost médií, tato změna by ve skutečnosti neměla být patrná.

Děkujeme vývojáři Chaincode Labs Johnu Newberymu za zpětnou vazbu a návrhy. Další podrobnosti o novinkách v bitcoinovém jádru 0.15.0 najdete na Poznámky k vydání, nebo sledujte „hluboký ponor“ přispěvatele Bitcoin Core Gregory Maxwella prezentace na setkání vývojářů bitcoinů v San Francisku.