1… nebo 3…? Vysvětlení všech variant starších bitcoinových adres

Bitcoinové adresy nejsou jen náhodný shluk znaků. Jsou to víc než jen čísla účtů, jako máme v klasických bankovních institucích. Bitcoinové adresy jsou kódy, které kryptograficky souvisí s oprávněním utratit prostředky, jež na tuto adresu dříve byly doručeny.

A přesně podle toho, jak matematicky a kryptograficky souvisí bitcoinová adresa s oprávněním bitcoiny utratit, se bitcoinové adresy liší. Bitcoin jako síť je v průběhu svého fungování modernizována a opravována.

Pojďme si tedy ukázat, jaké jsou všechny možnosti, jak mohou být utracené a i neutracené prostředky v síti Bitcoinu adresovány. V tomto článku se budeme zabývat pouze staršími adresami ve formátu Base58 a jejich pradědečkem v šestnáctkové soustavě. Ve druhém díle se pak zaměříme na nové adresy.

0. Pay to public key (P2PK)

První možnost není první, ale nazvěme ji spíš nultou. Není to bitcoinová adresa. Je to samotný veřejný klíč. V raných dobách fungování Bitcoinu se veřejný klíč používal místo adresy bitcoinové peněženky.

Posílaly se “na něj” odměny za těžbu bloku, ale i transakce. Umožňoval snadné testy, že Bitcoin funguje. Fungovala na něm dokonce funkce Pay-to-IP (zaplacení přímo na IP adresu počítače, na němž právě on-line běží program Bitcoin Core).

V Bitcoin blockchain explorerech (vyhledávačích) vypadá veřejný klíč takto:

04c9560dc538db21476083a5c65a34c7cc219960b1e6f27a87571cd91edfd00dac16dca4b4a7c4ab536f85bc263b3035b762c5576dc6772492b8fb54af23abff6d

Vidíte tedy 130 znaků tvořených číslicemi 0 až 9 a malými písmeny a až f. Typický zápis šestnáctkové soustavy. Úvodní číslice jsou (u nekomprimovaného klíče) vždycky “04” + následuje 2x 64 znaků. Později se používala ještě komprimovaná podoba veřejného klíče, která byla zhruba poloviční délky.

Otevřete si kterýkoliv z dostupných bitcoin explorerů, tedy libovolný prohlížeč blockchainu. Například mempool.space.

Do políčka pro vyhledávání zadejte číslo 509 a dejte vyhledat. Zobrazí se pět set devátý vytěžený blok bitcoinu, za nějž těžař (pravděpodobně to byl sám Satoshi Nakamoto) získal odměnu 50 bitcoinů. Nic dalšího v tom bloku není, nikdo v něm nikomu, ani sobě bitcoiny neposílal.

Veřejný klíč se v prvních dnech provozu bitcoinu používal výhradně, dnes se nepoužívá vůbec. Avšak stále by fungoval, transakce na veřejný klíč by sítí měla úspěšně projít. Neutracené zůstatky poslané na veřejné klíče budou zřejmě to první, co se pomocí budoucích kvantových počítačů někdo pokusí prolomit (získat).

TIP: Jak ochránit své bitcoiny? Tyto adresy jsou v bezpečí, ostatní musíte opustit

1. Pay to public key hash (P2PKH)

První typ bitcoinových adres vymyslel přímo Satoshi Nakamoto a poprvé byl použit 16. ledna 2009. Doufám, že jste si nechali otevřený bitcoinový prohlížeč, můžete kliknout na na předchozí veřejný klíč začínající 04c9560… a nebo do vyhledávacího políčka zadat číslo bloku 728.

Uvidíte první bitcoinovou transakci, nepočítaje odměny za těžbu, kdy Satoshi Nakamoto poslal 50+50 bitcoinů Halovi Finneymu na adresu:

12higDjoCCNXSA95xZMWUdPvXNmkAduhWv

Tato adresa začíná jedničkou, má celkem 33 nebo 34 znaků. 1 na začátku určuje verzi bitcoinové adresy, znaky následující za ní jsou hashem – kryptografickým otiskem veřejného klíče.

Veřejný klíč už znáte z předchozí kapitoly 0. Otisk je převeden do číslicovo-písmenné soustavy Base58. Tu jsme si již popsali v předchozím článku: Base58 vs. Bech32.

P2PKH adresy se dodnes běžně používají, což ilustruje například adresa:

1HckjUpRGcrrRAtFaaCAUaGjsPx9oYmLaZ

Tato adresa je zřejmě nejpoužívanější ze všech. Bitcoiny na ní byly dosud poslány celkem více než pětmilionkrát a utraceny zhruba čtyřmilionkrát. Jedná se o jednu z peněženek kryptoměnové burzy Huobi.

Až budou kvantové počítače dostatečně výhodné, mohlo by s nimi být teoreticky možné prolomit (utratit bitcoiny) z jedničkových adres, které již někdy bitcoiny utrácely. Nikdy nepoužité jedničkové (P2PKH) adresy budou v bezpečí déle.

2. Pay to script hash (P2SH)

Adresy začínající trojkou byly vynalezeny Gavinem Andersenem v roce 2012. Zpočátku byly jen takovým doplňkem tehdy běžnějších jedničkových adres. Jsou jim velmi podobné, trojka na začátku označuje verzi adresy, následuje hash neboli otisk skriptu.

Jde o otisk nějaké sady pravidel, jak a kdy se mohou bitcoiny z této adresy utratit. Často tou sadou pravidel je multisig, tedy to, že transakci musí podepsat (schválit) více uživatelů. Nebo že na adrese je časový zámek, a bitcoiny na ni poslané nelze utratit dříve.

Výhoda trojkových adres je, že sada pravidel (skript) je odeslán až při utrácení bitcoinů. Síť transakci přijme, jen když skript opravdu patří k adrese a když jsou splněny všechny jeho podmínky.

Trojkové adresy používaly mezi lety 2012 a 2016 zejména kryptoměnové burzy a jiné instituce podnikající v Bitcoinu. Dále pak vývojáři, kteří nad Bitcoinem pracovali na dalších vrstvách, provozovali úschovy za půjčky, pracovali s ním složitěji.

Příkladem je adresa:

3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy

Jde o adresu, která už od října 2013 hodně přijímá i posílá bitcoiny, po většinu doby má nulový zůstatek.

Bitcoin blockchain explorer firmy Arkham Inteligence ji označuje jako CoinJoin adresu. Tedy adresu, která zvyšuje soukromí v blockchainu. To znamená, že s adresou pracuje nějaký software, který vstupy i výstupy sdružuje do hromadných transakcí, aby znepřehlednil, kdo kolik komu posílá.

Běžní hodleři do roku 2017 P2SH adresy nepoužívali, vystačili si s P2PKH.

3. P2SH-P2WPKH – Nested Segwit

Už od roku 2015 vývojáři bitcoinu Pieter Wuille, Gregory Maxwell a další pracují na velkých vylepšeních souvisejících se vznikem nových bitcoinových adres začínajících bc1q.

Část těchto vylepšení je v červnu 2017 uvolněna také pro starší adresy P2SH začínající trojkou. Vlastně do těchto adres dodávají nový SegWit skript. Ten se označuje jako Pay to Witness Public Key Hash (P2WPKH). Znamená to: zaplať na hash veřejného klíče ve svědecké části.

Toto vylepšení sice P2SH adresy nijak vzhledově nemění, stále mají 33 nebo 34 znaků ze sady Base58 a trojku na začátku, ale zásadně to mění jejich použitelnost a výhodnost pro běžného uživatele.

Celkově má transakce při použití nového SegWit skriptu asi o 35% menší velikost v bajtech a tudíž nižší poplatek, což bylo zvláště v býčím trhu roku 2018 důležité. Příkladem je adresa:

3MxYPuvEcKDdaEG1xoGyddqir6C4b66MJi

Když v Bitcoin blockchain exploreru (například v mempool.space) klikneme na transakci, která z této adresy utrácela, je to transakce označená jako 364bd9…

Pokud klikneme na detaily, tak tam vidíme “P2SH redeem script” (jako v každé trojkové adrese), ale zvlášť “witness,” tedy podpis transakce ve witness části bloku, mimo hlavní část transakce.

Existovala i možnost v Nested Segwitu mít MultiSig nebo jiné složitější skripty. Trasakce pak byla v bajtech větší než prosté poslání prostředků, ale přesto byla kratší, než původní P2SH z roku 2012.

Závěr

Často se bitcoinové adresy začínající jedničkou a trojkou považují za pouhé 2 typy bitcoinových adres. Avšak, jak jsme si právě ukázali, varianty jsou minimálně 3. Navíc k nim patří onen nultý typ – transakce prostředků přímo na veřejný klíč bitcoinové peněženky.

V následujícím článku se zaměříme na varianty novějších adres ve formátu Bech32, tedy těch, které začínají znaky “bc1.”

Další:

Investice do kryptoměn jsou zpět: Instituce v posledním týdnu nakoupily za miliardu USD

Disclaimer

Pozor: kryptoměny jsou spojeny s rizikem finanční ztráty.

VÍCE ZDE

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *