Poplatky u bitcoinu: Proč jsou tak velké a jak se to dá řešit

Poplatky u bitcoinu: Proč jsou tak velké a jak se to dá řešit

  • Bitcoinové poplatky v minulé roce astronomicky vyrostly
  • Dnes je naštěstí situace klidnější
  • Budoucnost levných plateb zajistí SegWit a Ligtning Network

Proč má bitcoin drahé poplatky?

Ačkoliv je bitcoin zdaleka nejrozšířenější kryptoměna, která svou tržní kapitalizací kolem 150 miliard amerických dolarů kraluje celému trhu, není zdaleka bezchybná. Jejím velkým problémem je totiž škálovatelnost, která souvisí s nastavením v samotném jádru bitcoinu, které navrhl Satoshi Nakamoto.

Bitcoin navrhl tak, aby pomocí těžícího algoritmu došlo k vytěžení nového bloku vždy průměrně jednou za deset minut. Velikost bloku ovšem byla nastavena na 1 MB. Jak asi víte, každý takový blok obsahuje potvrzené transakce, přičemž velikost průměrné transakce činí několik stovek bajtů. Každý těžař přitom může rozhodnout, jakou transakci do bloku zařadí, takže rozhodujícím faktorem se stává přidaný poplatek.

Snímek obrazovky 2018-03-29 v 18.06.16.png
Jak fungují bitcoinové transakce (obr.: weusecoins.com)

Zkusím celou problematiku velmi zjednodušit. Pokud je situace klidná a neprobíhá nijak obrovské množství transakcí, je bitcoin velmi vhodným platidlem. Bloky jsou totiž skoro prázdné a těžaři si nemají z čeho vybírat, takže do bloků nasázejí tolik transakcí, co mohou. K potvrzení transakce tedy stačí i velmi malý poplatek (někdy i méně než 1 dolar) a přesto máte téměř jistotu, že vaše transakce proběhne v řádu několika minut.

Pokud se však bitcoin rozšíří a začne se používat ve velkém, nastanou komplikace. Síť se totiž může s velkým množstvím transakcí zahltit a velikost bloků přestane stačit. Rychlost transakce se poté odvíjí čistě na velikosti poplatku. Kdo dá víc, zaplatí rychleji. Nejvíce na tom tedy vydělávají těžaři, kteří si takto přijdou na velice zajímavé peníze. Ostatně jsme se o podobné situaci přesvědčili v závěru loňského roku. Například 22. prosince se dokonce průměrná výše transakčního poplatku vyšplhala na rekordních 55 dolarů (1130 Kč).

Snímek obrazovky 2018-03-29 v 18.11.23.png
Vývoj průměrné velikosti bitcoinových poplatků za poslední rok. Tento a další zajímavé grafy najdete na Bitinfocharts.com

Nyní s pádem ceny však transakční poplatky znovu spadly a průměrně se pohybují v rozumných mezích kolem 1 dolaru. Propad lze vidět i v počtu denních transakcí, které z historického maxima kolem necelého půl milionu transakcí za den spadly spadly cca na čtvrtinu.

Běžnou úvahou by se tedy dalo říci, že řešením celého problému by mohlo být zvětšení bloků a je nutno podotknout, že bylo vytvořeno hned několik návrhů, ze kterých některé byly i realizovány. Ostatně, například kryptoměna Bitcoin Cash, která vznikla rozdělením (tzv. Hard Forkem) od klasického bitcoinu v srpnu 2017, se rozhodla tento problém vyřešit velikostí bloků 8 MB. Díky nim tedy dokáže naráz pojmout daleko více transakcí. Druhou věcí pak zůstává, že v případě nízkého vytížení sítě jsou bloky prakticky prázdné.

Snímek obrazovky 2018-03-29 v 18.14.25.png
Bitcoin Cash, který se v srpnu 2017 oddělil od původního bitcoinu se snažil velikost poplatků vyřešit zvýšením těžených bloků z původního 1 až na 8 MB. (obr.: bitcoincash.org)

Zvětšování bloků však také není ideální řešení. Každý vytěžený blok se totiž zapisuje do blockchainu, jehož obsah je následně synchronizován na všechny plné uzly (full nodes). V případě, že by v síti bitcoin cash bylo naráz tolik transakcí, že by dokázaly 8MB bloky zaplnit, znamenalo by to, že by každý takový plný blok zabíral v blockchainu 8× více místa, což by pro těžaře a provozovatele plných uzlů dlouhodobě znamenalo velké investice do diskových úložišť.

Řešení však může být prostší, než si člověk myslí, i když možná jen dočasné. Některá si projdeme v další kapitole.

Pokračování 2 / 3

SegWit jako spasitel bitcoinu?

Jedním řešením může být tzv. Segragated Witness - zkráceně SegWit, což lze v češtině volně přeložit jako oddělení svědka. SegWit představil v roce 2015 vývojář Pieter Wuille jako jedno z řešení škálovatelnosti bitcoinu. Nakonec se po letech dočkal i svého uplatnění, a to na jaře 2017, kdy byl aktivován na kryptoměně litecoin. Do bitcoinu se pak dostal o pár měsíců později, konkrétně 23. srpna 2017.

A v čem SegWit spočívá? V podstatě jde o rozdělení transakce na dvě části, a to datovou a podpisovou. Zatímco dříve byl každý podpis součástí samotné transakce, z čehož se následně počítalo i transakční ID, dnes už je díky SegWitu mimo transakci. Při při jejím vytvoření se tedy podpis k těžařům dostane, ale po jeho ověření se spolu s transakcemi neukládá, takže v přiděleném 1 MB zbytečně nezabírá místo.

2560px-Segwit.svg.png
Segwit přinesl do bitcoinu spoustu důležitých novinek a pomohl k dalšímu rozvoji sítě.

Tím tak došlo jednak ke zjednodušení ověřování transakce, ale také k optickému zvětšení bloku. Jelikož už podpisy nezabírají mezi transakcemi místo, vejde se jich do přiděleného prostoru mnohem více. Ostatně podpisy mohly v transakcích tvořit klidně až 65% jejich celkové velikosti.

Podpisy však přesto úplně nezmizely, ale jsou jen uloženy v jiné části bloku, která může nabývat velikosti až 4 MB. Limit 1 MB pro blok transakcí však zůstal zachován, takže je SegWit kompatibilní se starším protokolem a nemuselo tak dojít k rozdělení sítě. Aby byly podpisy dobře dostupné, odkaz na ně je uložen v coinbase (nepleťte si se stejnojmennou směnárnou), konkrétně v úplně první transakci bloku vytvořené těžařem pro získání odměny za jeho vytěžení.

Přesunutím podpisů mimo datovou část bloku však SegWit vyřešil i problém tzv. transaction malleability, kdy mohl příjemce peněz pozměnit podepisovací skript transakce tak, že se významově nezmění, jen se přemění její ID. Peníze mu tak došly, ale odesílateli se transakce se jevila jako neplatná (nepotvrdí se), takže mohl případně vygenerovat další, čímž si útočník přišel na více peněz.

S přibývající podporou SegWitu ze strany tvůrců peněženek, ale také velkých světových burz jsme se tak postupně dočkali zrychlení a zlevnění transakcí, ale otevřely se tím brány i pro vývoj dalších protokolů, které dokáží transakce ještě zefektivnit.

Pokračování 3 / 3

Blesková síť Lightning Network

Jednou ze zásadních možností, které aktivace Segwitu přinesla je tzv. Lightning Network, což je nadstavba nad bitcoin protokolem. Jejím cílem je zrychlit transakce, snížit vytížení bitcoinové sítě a hlavně také snížení transakčních poplatků. Nejde přitom o plošné snížení, ale pomůže vám osvobodit se od zbytečných poplatků v případě pravidelných transakcí.

Pro co nejjednodušší vysvětlení si představte hospodu, do které chodíte na pivo. Pokud si přijdete dát pouze jedno pivo, tak vám nevadí, že za něj výčepnímu hned zaplatíte. Když si jich však chcete dát víc, raději si za každé necháte napsat čárku na lístek a všechny pak najedou zaplatíte při odchodu z podniku.

logo.png
Lightning network může velmi zrychlit placení kryptoměnami

A přesně takto funguje i Lightning network. V případě že s někým hodláte provádět pravidelné platby, můžete mezi sebou vytvořit platební kanál. K tomu se využije bitcoinové multisignature adresy (tedy adresy, na které může transakce podepisovat více členů) a na ní oba složíte libovolný vklad.

Dejme tomu, že si Alice a Bob mezi sebou chtějí pravidelně posílat peníze. Vytvoří proto mezi sebou platební kanál a na společnou multisig adresu (obdoba zmíněného lístku v hospodě) oba složí zálohu 0,5 BTC, celkově na ní tedy bude 1 BTC. Zároveň se na ní však vytvoří tzv. zavírací transakce, kdy Alice pošle 0,5 BTC sama sobě a 0,5 BTC Bobovi, to samé udělá také Bob, takže vlastně oba zůstanou na původně vloženém zůstatku.

Pokud by však Alice chtěla Bobovi zaplatit například 0,1 BTC, předchozí transakce se smažou a oba účastníci vytvoří transakce nové. Alice pak ze společné adresy pošl Bobovi 0,6 BTC a 0,4 BTC sama sobě, na druhé straně pak Bob odešle 0,6 BTC sám sobě a 0,4 BTC Alici. V podstatě tedy dojde jen k přerozdělení vložené zálohy, v tomto případě 1 BTC. A takto si peníze mohou přerozdělovat, jak dlouho chtějí, aniž by docházelo k placení transakčních poplatků. Transakce totiž probíhají pouze ve vytvořeném kanálu, nikoliv na blockchainu.

Snímek obrazovky 2018-03-29 v 17.14.07.png
Na obrázku vidíme situaci, kdy Alice a Bob nejdříve vloží každý 0,5 BTC s další transakcí se však podíly přerozdělí ve prospěch Boba. Na začátku však není nutné, aby oba vkládali stejnou částku, zde to bylo použito jen k jednoduššímu vysvětlení. (obr.: Lightning Network paper)

Ve chvíli, kdy se rozhodnou platební kanál zavřít, použijí se poslední vytvořené zavírací transakce a peníze se odešlou do peněženek obou uživatelů a transakce se zapíšou do blockchainu. Podstatné však je, že transakční poplatek se zaplatí pouze jednorázově za poslední transakci a veškeré transakce provedené v rámci kanálu se neplatí. Tedy stejně jako ve zmiňované hospodě nebudete platit za každé pivo (transakci) zvlášť, ale zaplatíte jen jednou po zavření pivního lístku (platebního kanálu).

Důležité je, že před zavřením platebního kanálu lze zavírací transakce odvolat pomyslným tajným heslem, což by se dalo zneužít pro okradení druhé strany. Tím, že si účastníci po vytvoření transakce toto tajné heslo vzájemně sdělí, je zajištěno, že se nepodvedou. Pokud by totiž podvodník chtěl svou transakci odvolat, může druhá strana pomocí jeho hesla tento čin zvrátit takovým způsobem, že potencionální podvodník o všechen svůj vklad v platebním kanále přijde. Nikdo si tedy pokus o krádež bitcoinů nedovolí.

app-chans-good.png
Ukázka oficiální bitcoinové peněženky s Lightning network (obr.: Lightning labs)

Lightning network však nemusí být použit pouze mezi dvěma účastníky. Je totiž možné se připojit i k již existujícímu platebnímu kanálu. Pokud by tedy například Pepa chtěl odeslat peníze Alici, ale kanál měl vytvořený pouze s Bobem, mohl by k platbě použít již vytvořený kanál mezi Bobem a Alicí.

Snímek obrazovky 2018-03-29 v 17.51.27.png
Alice nemusí posílat peníze Bobovi napřímo, ale může využít i jiné vytvořené kanály mezi dalšími zařízeními (obr.: Lightning Network)

Dobrou zprávou je, že zatímco ještě před pár měsíci bylo Lightning Network pouze ve fázi návrhů a testování, před několika týdny bylo v beta verzi vypuštěno do světa. Je však potřeba si připomenout, že se nejedná o žádnou novou součást bitcoinu, ale pouze o jeho volitelnou nadstavbu. Pokud tedy budete chtít lightning network používat, musíte mít vy i druhá strana podporovanou peněženku.

Snímek obrazovky 2018-03-29 v 17.28.07.png
Lightning network není jen teorie, její beta verze byla vypuštěna před několika týdny. (obr.: @lightning)

Díky Lightning network bude možné mezi kryptoměny zavést i velmi očekávanou funkci zvanou Atomic swaps, která umožní směnu kryptoměn mezi blockchainy. Bude na to však nutné, aby obě kryptoměny podporovaly lightning network a měly aktivovaný segwit. V praxi pak bude možné odeslat jinému člověku litecoiny, které mají daleko levnější transakční poplatky, ale druhé straně se stejná částka připíše v bitcoinech. I to bude tedy způsob, jak obejít vysoké bitcoinové poplatky. Navíc už nejde jen koncept, ale v testovací síti se taková transakce dokonce už podařila.

Určitě si přečtěte

Články odjinud