Bitcoin neomezeně, jeden z Bitcoinové jádro softwarové vidlice představené koncem roku 2015, získaly v posledních měsících velkou pozornost. Projekt získal podporu hash power z několika nových fondů těžby bitcoinů, včetně ViaBTC, GBMiners a BTC.TOP, zatímco přijetí uzlu se zdá být také na vzestupu.

Ústřední myšlenka Bitcoin Unlimited – specifikovaná v „Návrh neomezeného vylepšení bitcoinu 001„(BUIP001) – je předat kontrolu nad omezením velikosti bitcoinu uživatelům a těžařům. Nebo možná, přesněji, aby byl tento ovládací prvek explicitnější a snadněji zpracovatelný.

Tato kontrola však přichází na úkor silného a automatizovaného mechanismu konsensu bitcoinů. S BUIP001 existuje řada scénářů, ve kterých různí uživatelé končí v různých řetězcích – dočasně nebo trvale.

Zde je (pravděpodobně neúplný) přehled.

(Poznámka: Pokud si nejste jisti, jak Bitcoin Unlimited funguje, přečtěte si nejprve „Bližší pohled na návrh konfigurovatelné velikosti bloku Bitcoin Unlimited.“)

Pokud ne všichni přecházejí na bitcoiny neomezeně

První příklad je také nejzřetelnějším příkladem.

V současné době se zdá velmi nepravděpodobné, že by různé implementace bitcoinů byly podobné Bitcoinové jádro, Libbitcoin, BTCD nebo Bcoin – přijme BUIP001 nebo něco kompatibilního. To platí zejména proto, že tým Bitcoin Unlimited nepředložil BUIP001 procesu Cross-implementation Bitcoin Improvement Proposal (BIP); většina implementací proto o návrhu ani neuvažuje.

Pokud však ne všechny významné implementace bitcoinů přijímají BUIP001 nebo kompatibilní řešení, nemůže blockchain konvergovat tak, jak si to navrhují zastánci Bitcoin Unlimited. Místo toho, pokud většina těžařů (hashovací silou) zvýší maximální generační velikost (MG) a nadměrnou velikost bloku (EB), aby vytvořila bloky větší než jeden megabajt, bitcoin by se rozdělil na dvě nekompatibilní sítě a měny, ne nepodobné Ethereum a Ethereum Classic.

Protože však toto rozdělení nebude koordinováno ani nebude obsahovat bezpečnostní opatření, důsledky mohou být mnohem horší než rozdělení mezi Ethereum a Ethereum Classic.

Jeden megabajtový uživatel by narazil na nepříjemnosti, a to ještě více, pokud jeho hash síla původně představovala menší menšinu. To by zahrnovalo (mnohem) pomalejší potvrzení bloků, možná dokonce do bodu, kdy se jejich řetězec stane téměř nepoužitelným (alespoň dočasně). Navíc jsou vystaveni riziku opakujte útoky pokud chtějí také použít „Bitcoin Unlimited chain“.

Uživatelé Bitcoin Unlimited by utrpěli podobné nepříjemnosti, i když jejich počáteční potvrzení bloků by nebyla tak pomalá, protože by měli podporu většinové hash síly.

Abychom tomu čelili, uživatelé Bitcoin Unlimited by si nebyli jisti, zda „jejich“ řetězec vůbec bude nadále existovat. Pokud by jeden megabajtový řetězec měl někdy předběhnout „bitcoinový neomezený řetězec“ v délce (ve skutečnosti: celkový důkaz práce), uzly Bitcoin neomezeně by se automaticky přeply zpět na jeden megabajtový řetězec. V souladu s tím by zlikvidovali („osiřelé“) celé „bitcoinové neomezené řetězce“ od rozdělení, i když je tento řetězec hluboký tisíce bloků. Všechny „jejich“ transakce by byly zapomenuty, což by možná stálo spoustu lidí spoustu peněz.

Pokud skupina tvrdých příznivců a spekulantů s megabajtem dokáže tento scénář zdát dokonce mírně věrohodný, dynamika seberealizace proroctví může představovat existenční hrozbu pro „řetězec bitcoinů bez omezení“: nikdo nechce udržet hodnotu řetězce, který může být zlikvidován.

Pokud všichni přepnou na bitcoiny neomezeně

Ale předpokládejme, že přechod na BUIP001 proběhne hladce. Všechny významné implementace bitcoinů využívají nové konfigurovatelné možnosti a všichni uživatelé a horníci podle toho aktualizují svůj software.

Opět – ani v tomto scénáři – neexistuje žádný technický důvod, aby se všichni uživatelé smysluplně sblížili do jednoho řetězce. Různí uživatelé mohou konfigurovat své uzly tak, aby zůstali po zbytek svého života mimo konsenzus.

Jako jednoduchý příklad může menšina horníků nakonfigurovat MG i EB na jeden megabajt, zatímco nastavili Hloubku nadměrného přijetí (AD) na 10 000 000. Jinými slovy, tyto uzly budou napodobovat aktuální limit velikosti jednoho megabajtu bloku po dobu přibližně dvou století – bez ohledu na to, co dělá zbytek sítě.

Mezitím většina těžařů může nastavit MG a EB tak, aby vytvářely a přijímaly bloky až do dvou megabajtů.

Nyní, jakmile jeden horník vytěží dvoumegabajtový blok, většina těžařů staví na tomto bloku a rozšiřuje tento řetězec. Menšina horníků však tento řetězec prakticky navždy ignoruje: přesně tak, jak je popsáno v předchozí části tohoto článku.

A zahrnovalo by to stejná rizika, jaké jsme již dříve popsali. Pokud řetězec o délce jednoho megabajtu někdy předběhne řetězec o délce dvou megabajtů, je řetězec o délce dvou megabajtů zcela vyřazen. I po tisících bloků.

Pokud každý omezuje AD na čtyři potvrzení

Uživatelé Bitcoin Unlimited mohou mít vyšší stupeň konvergence v jednom řetězci technickými prostředky, pokud udržují své nastavení AD relativně nízké. Výchozí nastavení v Bitcoin Unlimited jsou čtyři: Nadměrný blok vyžaduje, aby byly považovány za platné čtyři bloky vytěžené nad ním.

Ale to také představuje problémy.

Prvním problémem je, že i při tomto nízkém výchozím nastavení je každá transakce s méně než pěti potvrzeními mnohem méně bezpečná než nyní. Řekněme, že transakce zobrazuje tři potvrzení v peněžence uživatele. Tento uživatel nemá žádný způsob, jak zjistit, zda se těží alternativní blockchain s konkurenční transakcí (dvakrát utracenou), která již má čtyři potvrzení. To se může stát kdykoli.

Pokud tento alternativní řetězec dosáhne svého pátého potvrzení jako první, řetězec uživatele se zahodí a jeho příchozí transakce se ztratí – přestože měl tři potvrzení.

„Osamocené bloky“ již samozřejmě existují a uživatelé, kteří vyžadují větší zabezpečení, by měli počkat na další potvrzení.

Ale s výjimkou exotických a drahých typů škodlivých útoků mohou tři osiřelé bloky v současné době skutečně vyplývat pouze z podivné shody okolností. Různé skupiny horníků musí shodou okolností najít tři bloky téměř přesně ve stejnou dobu, tři oddělené a následné náhody, aby síť mohla zažít tolik sirotků.

Bitcoin Unlimited na druhou stranu vnáší do mixu nový faktor a dodává síti důvod, aby zažil tři osiřelé bloky. Horníci nejen závodí o prodloužení nejdelšího platného řetězce, ale také hlasují o pravidlech protokolu mezi řetězci. Tento proces by byl také viditelný a docela předvídatelný pro útočníky, a proto snadno využitelný.

Druhým problémem je, že nutnost udržovat AD na výchozím nastavení čtyř potvrzení z bezpečnostních důvodů v zásadě poruší účel BUIP001. Zatímco Bitcoin Unlimited má předávat kontrolu nad limitem velikosti bloku jak uživatelům, tak (všem) těžařům, nízké úrovně AD zajišťují, že i ta nejmenší většina těžařů může vždy potlačit nastavení místní velikosti bloku pouhou těžbou řady větších bloků. Díky tomu jsou MG a EB pro všechny ostatní nesmyslné: “placebo kontroly.“

AD skutečně navrhuje zvláštní volbu: Uzly a horníci nastavili vysokou AD pro relativní autonomii, ale riskují rozdělení sítě s potenciálně škodlivými důsledky; nebo tyto uzly a horníci zvolí nízkou AD, aby zlepšili úroveň konvergence – ale jen proto, že se efektivně vzdávají kontroly většině těžařů. (A pokud je záměrem vzdát se kontroly většiny horníků, jsou k dispozici přímější řešení.)

Za sporných podmínek

Za nepříznivých podmínek se situace zhoršuje.

Pokud ne každý chce to, co je pro bitcoin nejlepší, a místo toho by některé subjekty – z jakéhokoli důvodu – raději viděly selhání bitcoinu, bezpečnostní předpoklady BUIP001 se dále zhoršují. A čím více finančních prostředků má protivník k dispozici, aby způsobil zmatek, tím horší by byl konvergenční mechanismus Bitcoin Unlimited.

Nejprve je signalizace uzlu triviálně falešná. Kdokoli, kdo má prostředky k roztočení „falešných“ (ekonomicky irelevantních) uzlů, by mohl předstírat, že existuje široká uživatelská podpora pro určitou mezní úroveň velikosti bloku, zatímco ve skutečnosti tomu tak není. Pokud horníci procházejí těmito signály, mohou rozdělovat řetěz s menší podporou uživatelů, než se očekávalo.

Škodlivý horník může navíc často rozdělit síť. Takový horník mohl monitorovat úrovně EB signalizované jinými horníky (což není tak snadno podvržené) a záměrně těžit blok, který spadá přímo mezi to, co tito horníci přijmou. Pokud přibližně 50 procent hashového výkonu přijímá bloky až do dvou megabajtů a dalších 50 procent podporuje větší bloky, prvních 1,1 procenta by byl blok 2,01 megabajtů ignorován a dalších 50 procent by akceptoval.

Za předpokladu, že je zachována výchozí AD ze čtyř, by se řetězec mohl rozdělit na více než hodinu. Jak bylo vysvětleno v předchozí části, bitcoinové sítě by byly během tohoto období velmi nespolehlivé, protože řetězec na obou stranách rozdělení může být vyřazen.

Protivník, který ovládá pouze 0,7 procenta globální hashovací síly, by mohl způsobit tuto hladinu otřesů přibližně jednou denně. A pokud se drtivá většina těžařů již na svém EB tak jako tak nedohodne, měla by vždy existovat to sladké místo pro zneužití sítě.

V důsledku tohoto útoku by navíc polovina všech horníků dosáhla svých prahových hodnot pro AD a otevřela své „lepkavé brány“. To může umožnit druhou vlnu útoků. Škodlivý horník má nyní asi 24 hodin na těžbu ještě většího bloku, který – ironicky – přijme pouze původně malá část řetězce, protože jejich lepkavé brány jsou otevřené, a původně větší část bloku bude odmítnout. To by vytvořilo další rozdělení.

Nakonec, pokud a kdy tento nový „řetězec lepkavé brány“ dosáhne prahových hodnot AD zbývajících uzlů, Všechno lepkavé brány jsou otevřené a vůbec neexistuje žádný limit velikosti bloku. Protivník nyní může těžit bloky, které jsou tak velké, že mohou fragment řetěz, protože ne všechny uzly mohou držet krok – možná kvůli omezením šířky pásma, latenci nebo jiným omezením stroje.

Nastávající konsensus

Bitcoin Unlimited sice uživatelům nabízí větší osobní autonomii, ale nezajišťuje technickou konvergenci blockchainu. Ale to není nic nového. Do jisté míry se toho dotkne i Bitcoin Unlimited FAQ.

Přesto navrhovatelé Bitcoin Unlimited očekávají, že se uživatelé sblíží v jednom blockchainu. To je vysvětleno tím, co je možná nejlépe považováno za základní filozofii Bitcoin Unlimited: „Emergent Consensus“.

Spíše než čistě technický mechanismus je Emergent Consensus přesvědčení, že všichni účastníci bitcoinového ekosystému mají dostatečně silnou (ekonomickou) motivaci k nalezení shody na jediném blockchainu, i když to jejich software nedělá automaticky.

Následující článek se blíže podívá na tuto filozofii Emergent Consensus.

Poznámka autora: Tento článek není úplným přehledem všech problémů, které by mohly být výsledkem BUIP001. A co je nejdůležitější, ignoruje kompromisy a slabosti, které vyplývají ze samotného nadměrného (nebo plovoucího) omezení velikosti bloku, jako uzel centralizace, horník centralizace, nebo poplatek ekonomika, místo toho se zaměřit na (nedostatek) konvergence blockchainu.

„Jonny1000“ přispěl k tomuto článku.