Bitcoin – specifické dotazy: Proč používat pro každou transakci jinou adresu?

Dnešní odpovědi budou podstatně delší než obvykle, i když jde téměř o triviální záležitost, protože nejsou velké části krypto populace stále zcela jasné. Pokud takovou otázku vůbec položíte, tedy proč používat pro každou transakci jinou adresu, automaticky to znamená, že jste odlišně pochopili koncept transakcí.

Obsah

  • Jak se účtují Bitcoinové transakce
  • All-in
  • Rozdělování
  • Žádné „Z … do“
  • Extra adresy
  • Závěr

1     Jak se účtují Bitcoinové transakce

Bitcoin neumí digitální mince dělit. Představte si, že jdete do obchodu, koupíte si deodorant a zaplatíte stovkou, i když stojí jen osmdesát korun. Dvacet je nazpátek. Stejně fungují i kryptoměny – pokud máte jednu stovkovou bankovku, tak nemůžete zaplatit jen osmdesát. Musíte si rozměnit (a to je vlastně ono). V Bitcoinovém prostředí to znamená, že osmdesát korun jde na adresu prodejce a dvacet nazpátek na vaši adresu (ane ne na tu samou, řekneme si).

Pokud chci „rozměnit za větší“, tak pošlu z adres s nízkým balancem všechny prostředky na jednu adresu, a je hotovo. Někoho by možná napadlo, proč se to vůbec dělá? Protože platba z mnoha adres znamená několikanásobný transakční poplatek. Co dále to ještě znamená? Síť samozřejmě lze teoreticky přetížit redundantními = (zbytečnými) transakcemi, ale útočníka to stojí peníze, hodně peněz.

2     All-in

Na jednu adresu při jedné platbě nelze odeslat jen část prostředků, což většinou zůstane pro vás uživatele utajené, protože si váš peněženkový klient vygeneruje deterministické privátní klíče na adresy pro cashback (navíc prostředky spojuje a rozděluje, což je jeho práce, a proto také potřebuje generovat spoustu privátních klíčů).

V počátcích Bitcoinu se lidé pokoušeli zaplatit „jen určitou částku“ ze své adresy, ale vždy odeslali všechny prostředky. Ještě jednou – proč? Protože Bitcoin funguje tak, že v rámci transakce vždy přepíše všechny její prostředky na adresu novou. Klienti (peněženkové programy) mají za hlavní úkol částky „rozměňovat“, resp. sjednocovat a rozdělovat tak, aby vykonaly co nejméně transakcí za nízké transakční poplatky.

Jde o to, že každá transakce má vstup a výstup. Každý výstup jedné se stává vstupem pro další. Nelze udělat tento proces jen částečně – to si ani nedokážu představit. Pak by těžaři museli ukládat ještě informace o částečně utracených částkách a velikost veřejné účetní knihy by byla naprosto neuvěřitelná.

Poslední „proč“ – proč to tak nejde? Protože si představte, že počítače operují s informacemi a že neudělají vůbec nic, co byste jim nenaprogramovali. Nám přijde logické, že když utratím padesát korun ze sta, tak mám ještě padesát, ale už neřešíme, kdo zapíše tuto informaci do blockchainu. A ona tam musí být, jinak není možné zjistit, kolik má kdo Bitcoinů. Není samozřejmé, že utratím padesát a zbyde mi padesát – to vyžaduje pro počítač zbytečný krok navíc. Umožnit klientovi částečné útraty by znamenalo ukládat 2x více dat.

3     Rozdělování

Někoho by možná napadlo, a jak tedy funguje rozdělování na více adres? Pokud chci sto Bitcoinů rozdělit pěti lidem, použili platební skript. Ale automaticky provedu transakci se všemi prostředky na adrese, jak jsem již napsal výše. Nemůže mi nic automaticky zbýt (na té samé adrese) – resp. může, můžu si zbytek nechat odeslat zpět na stejnou adresu, ale to je nebezpečné, jak si vysvětlíme nakonec.

4     Žádné „Z … do“

Nikoho (z principu Bitcoinového konceptu) nezajímá, kde byly prostředky předtím. Podstatné je pouze to, kde jsou teď. Navíc, technicky vzato, se v transakci něco jako „adresa odesílatele“ vůbec v přímé formě nevyskytuje. Chtít vědět, odkud pocházejí vaše Bitcoiny, je jako chtít odhalit historii vašich drobných. Jde o pseudoanonymní systém. Navíc, záleží na tom, co si pod pojmem „odkud“ představíte – zda konkrétního člověka, nebo konkrétní adresu.

Proč nikoho nezajímá, kde byly Bitcoiny předtím? Pro chod systému je nutné znát pouze aktuální stavy adres. V klasickém bankovním systému to tak samozřejmě nefunguje – stavy jednotlivých účtů (V Bitcoinu to znamená „adres“) určuje centrální bod, který vše kontroluje a na nějž jsou všichni odkázáni. On de facto zná vaše hesla, takže v něj vkládáte veškerou důvěru. Ale hlavně není schopen s jistotou určit padělané peníze, takže logicky sleduje historii těch v oběhu (př. internetové bankovnictví) a nemá moc rád hotovost. Bitcoin určí „pravé“ peníze s naprostou jistotou (proof of work concept) a matematicky, ale o tom, jak přesně, tento článek už opravdu není.

5     Extra adresy

A nyní konečně přichází na řadu hlavní téma článku – proč pro každou transakci generovat extra adresu? Aby nikdo nemohl sledovat vaše platby a nakonec je propojit s kompletním profilem vašeho živobytí. To je hlavní důvod, když samozřejmě opomineme, že není matematicky vůbec bezpečné používat stejné adresy, protože z principu kryptografie tak dáváte útočníkovi více indicií, podle nichž může prolomit privátní klíč (více plateb jedna adresa).

A jak by někdo mohl sledovat moje živobytí? Když jeden člověk začne z jedné, řekněme desetitisícové adresy, platit úplně všechno, pak je to v blockchainu vidět a kdokoliv si může zjistit, že tyto platby šly právě od jedné a té samé adresy. No a? Tyto informace může útočník poskládat, čímž může ve výsledku zjistit vaši identitu, resp. tento člověk má 10 000 Bitcoinů, a unést vám děti a vydírat vás (to už se stalo, beze srandy ?).

Jak? Třeba takto: (někdo) zaplatil tady v tom Penny a pak ještě v železářství o roh dále a na benzínové pumpě za městem, potom má hodně plateb tady v tom fitnesscentru → už vím, kde bydlí, teď si jen vytipuju, kdy do blockchainu přistane transakce z té adresy a kdo bude zrovna platit u kasy v Penny, a mám ho.

6     Závěr

Doufám, že po přečtení tohoto článku u vás nepropukne paranoidní syndrom ?. Používat stejné adresy opravdu není bezpečné.

Sdílet příspěvek

Napsat komentář

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..