Dne 2. května 2019 je oficiálním vydáním Bitcoinové jádro 0.18.0, 18. generace původního softwarového klienta bitcoinu, kterou zahájil Satoshi Nakomoto před téměř 10 lety, a stále dominantní implementace bitcoinů v dnešní síti. Pod dohledem vedoucího bitcoinového jádra Wladimira van der Laana bylo toto nejnovější hlavní vydání vyvinuto v rozpětí přibližně šesti měsíců více než stovkou přispěvatelů.

Bitcoin Core 0.18.0 obsahuje typickou škálu vylepšení výkonu a oprav chyb, stejně jako některé nové funkce.

Zde je přehled některých nejvýznamnějších změn.

Kompatibilita hardwarové peněženky

Jednou z nejočekávanějších změn v Bitcoin Core 0.18.0 bude umožnit uživatelům připojení jejich hardwarové peněženky (Ledger, Trezor, Digital BitBox, KeepKey a Coldcard) pomocí nástroje Hardwarová peněženka Interaction (HWI). To kombinuje jeden z nejbezpečnějších způsobů ukládání soukromých klíčů s nejbezpečnějším způsobem interakce s blockchainem.

Hardwarové peněženky jsou považovány za bezpečné, protože soukromé klíče uživatele nikdy neopustí zařízení. Klíče nikdy nejsou vystaveny internetu nebo počítači, ke kterému jsou připojeny, což činí hardwarové peněženky imunní vůči hackerům na dálku.

I když je již možné připojit hardwarovou peněženku k peněžence Electrum připojené k vašemu plnému uzlu pomocí osobního serveru Electrum, HWI bude první nativní možností hardware-to-node jako součást projektu Bitcoin Core. Prozatím jsou skripty HWI stále pouze příkazovým řádkem a pro připojení hardwarové peněženky je vyžadován ruční proces.

Podpora GUI pro funkci Multiwallet

Další pokrok z nejnovější aktualizace dává uživatelům možnost spárovat se s více peněženkami. Toto navazuje na část práce odvedené v Bitcoin Core 0.17.0, kde už uživatelé nebyli omezováni pouze vytvářením peněženek při spuštění svého uzlu a mohli místo toho vytvářet a používat nové peněženky, kdykoli se jim zachtělo. V Bitcoin Core 0.18.0 mohou uživatelé spárovat tyto více peněženek, které vytvořili, a připojit tuto funkci do grafického uživatelského rozhraní (GUI).

Tato funkce bude i nadále vylepšována pozdějšími aktualizacemi, protože při používání grafického uživatelského rozhraní pro přístup k příkazu „multiwallet“ stále existují některé známé problémy. Nejpozoruhodnější je, že nemůžete používat funkce ovládání mincí s více načtenými peněženkami, jinak si pravděpodobně ponecháte nesprávnou peněženku při pokusu o přepnutí peněženek.

Funkce kontroly mincí umožňuje uživateli určit, které mince v peněžence použít při odeslání transakce. Tato funkce je důležitým aspektem při zachování soukromí uživatele, protože určité nevyčerpané transakční výstupy (UTXO) mohou odhalit více než jiné, ať už podle adresy, ze které jsou odesílány, nebo podle částky, za kterou stojí. (Například pokud máte jeden UTXO v hodnotě 1 000 BTC a jeden v hodnotě 0,1 BTC, můžete raději použít 0,1 UTXO, abyste zabránili tomu, aby se osoba, které platíte, naučila, že vlastníte alespoň 1 000 BTC.)

Vylepšení jazyka deskriptorů výstupních skriptů

Navrhl technik Blockstream a přispěvatel Bitcoin Core Pieter Wuille, jazyk deskriptorů výstupních skriptů debutoval v bitcoinu 0.17.0. Hlavní použití tohoto jazyka je umožnit uživatelům pojmenovat jejich různé typy veřejných a soukromých klíčů přidružených k jejich peněženkám a usnadnit přesun těchto klíčů z jedné peněženky do druhé. Podle jeho původního návrhu je Wuille konečným cílem „jednoho dne zcela odstranit potřebu importu skriptů a klíčů a místo toho vytvořit z peněženky pouze seznam těchto deskriptorů a souvisejících metadat.“

Jelikož Wuille a další vývojáři pokračují v práci na rozšiřování tohoto seznamu deskriptorů, nejnovější aktualizace vylepšuje některé stávající jazyky tím, že poskytuje nové příkazy, které uživatelům umožňují začít importovat čitelné deskriptory pro každý skript, za který se může bitcoinové jádro podepsat.

Těžba bitcoinů podporuje přijetí segregovaných svědků

Getblocktemplate (GBT) byl prvním pokusem o decentralizovaný, otevřený zdrojový protokol bitcoinového těžařského fondu a byl vyvinut bitcoinovou komunitou v roce 2012. Některé z těžařských protokolů specifických pro daný bazén v té době jednoduše vydávaly hlavičky bloků, které měl těžař vyřešit, bez znalosti toho, co se ve skutečnosti nacházelo v bloku, a v zásadě dal slepě kontrolu provozovateli bazénu. Stejně jako mnohem novější protokol BetterHash i GBT decentralizoval tento proces tím, že vrátil energii zpět minerovi („hasher“), přesunul vytvoření bloku (výběr transakce) k němu.

Pokud jste horník, který se chce připojit k podporovanému fondu, miner začne kontaktovat server fondu a požádá o počáteční šablonu, která začne používat protokol, který bude zahrnovat pravidla stanovená pro účast ve fondu. Tato pravidla jsou přizpůsobena těžebním fondem a mohou sahat od parametrů coinbase a nonce až po min / max časy hašování. V nejnovější aktualizaci ale volání na přijetí této šablony, která neumožňují SegWit, selžou a miner dostane chybovou zprávu. ((Nicméně, horník volající getblocktemplate bez specifikovaného SegWit je v každém případě pravděpodobně chyba uživatele, protože by to pro horníka vedlo k nižším odměnám.)

SegWit, implementovaný v roce 2017, je považován za největší aktualizaci protokolu, jakou kdy software Bitcoin provedl. Hlavní změnou, která byla výsledkem SegWitu, byla oprava chyby tvárnosti a nahrazení limitu velikosti bloku limitem „váhy“ bloku, což umožnilo až 4 megabajty transakčních dat a podstatně zvýšilo kapacitu transakce sítě.