Debata o blocksize, tedy velikosti bloku, zuří v bitcoinové komunitě už pěkně dlouho. Existuje mnoho různých návrhů a každý má své příznivce i odpůrce. Jedním z těch, kdo mají k celé věci co říct, je určitě Marek Slush Palatinus - provozovatel prvního bitcoinového poolu na světě, inovátor ze SatoshiLabs a respektovaná osobnost české i světové bitcoinové komunity.
Slush se před časem rozhodl vyjádřit svůj názor na nekončící boje o blocksize článkem na
Medium.com . Btctip.cz získal svolení k překladu a zveřejnění plného znění tohoto vyjádření. Myslím, že to může být zajímavé nahlédnutí do celé problematiky pro každého, kdo se zajímá o
budoucnost bitcoinu.
Slush: Můj osobní názor na debatu o blocksize
Až donedávna jsem se k diskuzi na téma velikosti bloku nijak zásadně nevyjadřoval a to hned z několika důvodů. První je docela jasný. Každý už si k věci něco řekl a bitcoinová komunita je nyní rozdělená na několik skupin podle toho, kdo jaký názor zastává. Také mám pocit, že už takhle je diskuze poměrně vyhrocená a cokoliv kdo řekne, může být, a velmi pravděpodobně také bude použito proti němu.
Posledním důvodem je, že si zkrátka nemyslím, že by můj názor měl takovou váhu, aby celou věc rozlouskl. Ano, provozuji sice vlastní
mining pool, ale naší filozofií je všeobecně
zůstat spíše neutrální . Staráme se hlavně o to, abychom minerům nabídli tu nejlepší možnou těžební infrasktukturu. Jediný těžební výkon, který kontroluji já osobně, je tento:
[caption id="attachment_4783" align="alignnone" width="800"]
Moje jediné těžební zařízení s 300MHash/s, používané pro testovací účely SlushPoolu :)[/caption]
Přesto se mě ale lidi stále ptají, na které straně stojím. Teď bych rád zdůraznil, že všechno, co je napsáno v tomto článku je čistě můj názor, který zastávám v momentě publikování, nikoliv oficiální prohlášení
SatoshiLabs ani SlushPool (které zůstávají neutrální a nechávají minery hlasovat i pro návrhy, které já osobně nemusím preferovat). Dobrá, tak ven s tím:
Jsem pro zvětšení velikosti bloku (možná dokonce i pro úplné odstranění). Přesto jsem v této chvíli na straně Core Developerů.
Hned vysvětlím proč.
Potřebujeme limit pro velikost bloku?
Bez ohledu na nutnost zvětšení velikosti bloku, současný limit byl původně nastaven jako prevence proti potenciálním DoS útokům na síť. V roce 2010, kdy Satoshi limit nastavil, to bylo velmi moudré
rozhodnutí. Jenže teď už máme s bitcoinovou sítí mnohaleté zkušenosti a známe
způsoby, jak vylepšit potvrzování transakcí tak, aby k podobným útokům nedocházelo. Myslím si, že jakmile odstraníme příčinu těchto útoků, nebudeme limit velikosti bloku vůbec potřebovat.
Odstranění limitu velikosti bloku
Zajisté by byly potřeba určitého upgradu, co se týká rychlosti zpracování bloků, aby nedocházelo k tzv. stale block ratio – blokům, které zůstanou nepřijaté sítí, protože je předběhnou jiné bloky. Existuje ale mnoho přímých návrhů, jako například Thin Blocks, které zlepšují šíření bloku a zkracují reakční dobu bez dodatečných nákladů. Hlavním důvodem, proč se této optimalizace příliš nevyužívá je ten, že to při současné 1MB velikosti bloku nikdo nepotřebuje.
Odstraněním zjevných chyb na P2P protokolu (což nevyžaduje ani soft fork, stačí jen updatovat software) a kompletním odstraněním limitu velikosti bloku by volný trh sám nastavil rovnováhu mezi transakčními poplatky (mineři kvůli tomu produkují větší bloky) a bloky, které zůstanou nepřijaty sítí (mineři by museli vytvářet menší bloky, aby prošly). Takový přístup by mohl z krátkodobého pohledu přinést nejistotu, ale jak to v případě volného trhu bývá, z dlouhodobé perspektivy by takový systém fungoval nejlépe.
Gavin Andersen na toto téma zpracoval
rozsáhlý výzkum a jeho komentáře k diskuzi na téma limit velikosti bloku se mi všeobecně líbí.
Ačkoliv je odstranění limitu velikosti bloku technicky proveditelné a já
nesdílím s tím spojené katastrofické vize, plně chápu, že kompletní odstranění (nebo exponenciální zvětšení, které je v návrhu BIP101) je dnes z politických důvodů v podstatě nemožné. Chceme-li tedy zůstat nohama na zemi a najít skutečný konsenzus pro
hard fork, je prosazování tohoto řešení bezpředmětné (pozdravuji
Mike Hearna).
Zvětšení limitu velikosti bloku
Zvětšení limitu je bezpečnější kompromis mezi jeho úplným odstraněním současným status quo. Čtyři nejznámější návrhy jsou Bitcon Classic, Bitcoin Unlimited, BIP100 a SegWit (Segregated Witness).
SegWit je v první řadě návrh bez nutnosti
hard forku, odstraňující některé
výstřednosti v protokolu, které musí být opraveny z dlouhodobého pohledu na škálování bitcoinu. Tento návrh se mi ale líbí spíše
z jiných důvodů a okamžitý dopad na velikosti bloku zde nevidím. Aby se dosáhlo alespoň minimálního výsledku, musely by být provedeny zásadní změny v peněženkách.
BIP100 navrhuje jakýsi klouzavý limit, což do do ekonomického modelu bitcoinové sítě přináší zcela nový druh nejistoty. Je známý 21% útok, který se snaží uměle udržovat malou velikost bloku (opravte mě prosím, bylo-li to v nějaké poslední revizi opraveno). Také zde stále není žádná reálná implementace. Ačkoli si cením mnoha
Jeffových náhledů do tohoto tématu, zatím to působí spíše jako jeho domácí úkol, než skutečné řešení.
Bitcoin Unlimited představuje „uživatelsky definované pevné limity“ a v podstatě se snaží velikost bloku nechat na volném trhu. Ačkoliv oceňuji vysokou motivaci a jejich nedávnou práci na Xtreme Thinblocks, stále zde vidím určité technické problémy. Pokud tomuto návrhu rozumím dobře, malé uzly by mohly nastavit nižší hard limity velikosti bloku.
To by mohlo vést k situaci, ve které by bloky produkované většími minery byly pro ty menší neviditelné, což by mohlo vyústit v rozdvojení sítě. Raději bych limit úplně odstranil a zjednodušil kód. Tak jako tak, toto řešení je politicky irelevantní ze stejného důvodu, jako mnou preferované řešení popsané výše.
Bitcoin Classic se zdá být v těchto dnech nejpopulárnější možností. Ze všech alternativ je tato nejkonzervativnější. Také se nesnaží představit žádný zbrusu nový mechanismus, což oceňuji. Ovšem i pro
zvětšení limitu na 2MB bychom museli aplikovat hard fork. Je však
hard fork pro takové dočasné řešení ospraveditelný? To mě vede k následující otázce:
Potřebujeme nyní vůbec limit velikosti bloku zvětšovat?
Jistě, zvětšení nebo dokonce úplné odstranění bloku je technicky proveditelné – ale je to v současné situaci vůbec zapotřebí? A je to řešením pro problémy, se kterými se bitcoin potýká?
Tady se celá diskuze stává spíše filozofickou, než-li technickou záležitostí: Jaký je účel Bitcoinu? Je to platební nástroj? Je to digitální zlato? Odpovědi na takovou otázku jsou velmi subjektivní a vedou dokonce k ještě teoretičtější rovině: Co je tou zásadní výhodou bitcoinu? Nízké poplatky, nebo fakt, že není snadno kontrolovatelný? A kdo by byl za takové rozhodnutí odpovědný? Peter „Sipa“ Wuille, autor konceptu SegWit a můj nejoblíbenější Core Developer, má
několik dobrých důvodů, proč se snadnými změnami v protokolu nesouhlasí. Ačkoliv tak zcela nesdílím všechny jeho obavy, tohle
musí být řečeno nahlas:
Bitcoin s limitem 1MB není špatný. Jen prostě nemůže soutěžit s VISA.
Pořád ale může soutěžit se zlatem. Tak či tak, líbí se mi přirovnání bitcoinu k toaletnímu papíru na veřejných toaletách (převzato z
rozhovoru se Samsonem Mowem a lehce upraveno):
Když někdo ukradne z veřejných toalet veškerý toaletní papír, je řešením dávat ho tam každý den dvakrát více?
Ačkoliv množství transakcí v bitcoinové síti stále
roste, což je dobře, jsem přesvědčen, že je hodně takových transakcí samo o sobě
spamových a mnoho dalších transakcí je jen parazitování na sdílených zdrojích.
Parazitováním myslím lehkomyslné využívání blockchainu službami, jako je např. SatoshiDice roulette. Ti využívali skutečnost, že jsou transakce zdarma, nebo velmi levné, pokud vezmeme v potaz skutečné náklady na provozování bitcoinové sítě v daném rozsahu. Zdvojnásobení, či dokonce zečtyřnásobení limitu by samo o sobě nepomohlo. Svůj účel by ale splnilo zvětšení transakčních poplatků určovaných poptávkou trhu po hodnotnějších transakcích.
Jen pro připomenutí, transakce byly v nedávných dobách zcela zdarma. Dnes je běžné zaplatit 4 centy, nebo i víc. Může to bitcoinu nějakým zásadním způsobem ublížit? S největší pravděpodobností ne, snad až na ten fakt, že některé služby musely upravit svůj business model.
Když se to vezme kolem a kolem, nemám pocit, že by plné bloky byly nějakým zásadním problémem. Z pohledu ekonomiky je běžné plnit sdílené zdroje, pokud jsou zdarma, nebo velmi levné. Jakmile je zdroj naplněn, je na volném trhu, aby zdražil a udržel rovnováhu mezi „parazity“ a skutečně hodnotnými transakcemi v
blockchainu.
S hard limitem velikosti bloku k tomu pouze dojde rychleji než s neomezenými bloky, ale působení volného trhu a zvyšování transakčních poplatků je tak jako tak nevyhnutelné. Má odpověď na otázku, zda hardfork ano či ne, je tedy taková: Bylo by to hezké, ale zatím to není potřeba.
Hlavním problémem současnosti je, že neexistuje žádná dobrá infrastruktura pro stanovení dostatečných poplatků, nebo změnu poplatků pro již provedené transakce. Je ale pravdou, že jsou si toho Core Developeři vědomi a snaží se s tím něco dělat: ve vývoji je
CPFP (Child Pay For Parent) mining,
RBF (Replace By Fee) byl už zahrnut do Core 0.12.
Je tady někdo loutkou Blockstreamu?
Hm, tyhle konspirační teorie a rozohněné diskuze plné osočování a obvinění ubližují bitcoinu mnohem více, než samotná otázka velikosti bloku. Já osobně nemám důvod stát na jedné či druhé straně, záleží mi na tom, aby byl Bitcoin úspěšný (ať už to znamená cokoliv). Ačkoliv teď existuje mnoho různých návrhů a bylo by fajn udělat alespoň něco, skutečně si nemyslím, že by Core Developeři chtěli zničit Bitcoin.
Problém s Core Developery je ten, že jsou sice extrémně chytří, ale mnoha z nich chybí jakékoliv soft skills a nemají potřebu jakkoliv komunikovat s bitcoinovou komunitou. Z komunikace s Core Devs. jsme byl
často frustrovaný a také jsem se k tomu vyjádřil
veřejně. Jejich nedostatečné soft skills vedou k PR katastrofám a divokým spekulacím. Nicméně mám pocit, že se to v posledních týdnech začíná měnit, jak se Core Developeři snaží bránit před konkurencí vyplývající z dalších forků.
Všiml jsem si, že pomalu opouští svůj arogantní přístup a snaží se své záměry
vysvětlovat širší veřejnosti. Tato skutečnost, v kombinaci s jejich výjimečnými dovednostmi a znalostmi, co se týká kryptoanarchie a programování, je také důvodem, proč jim chci dát ještě jednu šanci.
Debata o velikosti bloku je dost komplikovaná a má mnoho ekonomických, politických a technických důsledků. Nesnažil jsem se vysvětlit vše do detailů, spíše chci objasnit svůj subjektivní pohled na věc. Velmi doporučuji, abyste si přečetli více informací od Gavina, Sipa a Jeffa. Tráví tímto tématem neuvěřitelné množství času a přinášejí klidné, nezaujaté a vysoce kvalitní postřehy. Pokud jde o názory lidí, kteří nepatří mezi vývojáře, doporučuji k přečtení
články Aarona Van Wirduma na BitcoinMagazine, který se na celou diskuzi také snaží poskytnout nezaujatý pohled.
Marek Slush Palatinus
[twitter-follow username="btctip_cz" scheme="dark"]
.
[easy-social-share buttons="facebook,twitter,google,linkedin" counters=1 counter_pos="inside" hide_names="no" template="tiny-retina"]