Podobné články

Stávají se těžební pooly problémem?

Těžaři bitcoinů poskytují ekosystému cenné služby. Výměnou za práci, kterou odvádějí při zabezpečení sítě, jsou odměňováni stejnou sítí, kterou chrání. Tento rozumný a elegantní Satoshiho návrh je jistě jedním z nejpozoruhodnějších aspektů Bitcoinu.“

Stále častěji se však zapomíná, že těžba není jen pouhé hashování.“

Osoba, která se do celého procesu zapojí, musí spustit uzel, aby získala spolehlivě aktuální informace o nejnovějším stavu blockchainu, a poté zahájit konstrukci nového bloku. To zahrnuje ověření platnosti předchozího bloku, objevení nepotvrzených transakcí a obvykle výběr nejlukrativnějších z nich, konstrukci generační transakce, ve které si zaplatí, sestavení několika merkleových stromů těchto transakcí a nakonec hašování, aby se tento blok skutečně vyřešil. Transakce v šabloně bloku se neustále mění, protože se do sítě vysílají nové, a když někdo najde nový blok, těžař musí přejít na budování na jeho základě spolu s vyhozením všech transakcí, které jsou nyní již v blockchainu, aby zaplnil novou šablonu.

Aktivace forku

Jak vidíte, hashování za účelem skutečného vyřešení bloku je jen jednou částí tohoto procesu. ASIC pro těžbu bitcoinů je také schopen pouze hashovat. V současném prostředí jsou všechny ostatní aspekty těžby obecně delegovány na těžební pooly. To vyvolalo určité zmatky. Například za jakýchkoli okolností, kdy se diskutuje o aktivaci soft forků prostřednictvím převracení bitů verzí v rámci šablon bloků, budou lidé tento proces označovat jako MASF – „Miner Activated Soft Fork“ – a někdo bude muset vždy vysvětlit, že tato odpovědnost připadá výhradně poolům a že pooly nejsou těžaři. Mohou také poukázat na to, že těžaři jsou v konečném důsledku stále zodpovědní, protože pokud si přejí upgrade a pool, ve kterém těží, ne, mohou jednoduše změnit pool. [For clarity, in the rest of this article I will refer to those only participating in hashing and leaving all other aspects of mining to pools as “hashers”.]

Zpět k soft forkům – v současném prostředí, kdy >99 % bloků konstruuje stejná desítka subjektů, je přesnější nazývat je „soft forky aktivované poolem“, což nikdo nedělá, a přispívá to k nebezpečné iluzi: že těžbu lze považovat za decentralizovanou jen díky distribuci hashrate. Toto tvrzení je jednoduše nedůvěryhodné, když je veškerý hashrate podřízen malé skupině poolů, a tudíž obsah blockchainu Bitcoinu do budoucna nakonec nebude obsahovat nic, co by těchto několik subjektů považovalo za nepřijatelné, stejně jako celou řadu dalších problémů.“

Tím, že se těžaři Bitcoinu nezapojují do žádného jiného aspektu těžby kromě hashování bloků konstruovaných pooly, se do značné míry vzdali kritické složky své role. Skutečnost, že je to nejen možné, ale také cesta nejmenšího odporu, naznačuje, že máme systémový problém.

Pooly a trhy s blokovým prostorem

Důsledky pouhého hashování a toho, že vše ostatní dělá pool, sahají daleko za aktivaci soft forku. V současnosti například těžaři vůbec nevědí, jak budou bloky po vyřešení vypadat, což znamená, že těžař vykonává práci a zároveň slepě věří, že blok obsahuje pouze žádoucí transakce. V blocích, jako je tento, však dochází k hrubému porušení této důvěry – jedná se o slavný blok, který odstartoval šílenství kolem „ordinací“. Všimněte si, že transakční poplatky, které by těžaři, kteří na tomto bloku pracovali, ve skutečnosti pobírali, dosahují mizerných ~200 USD v BTC, na rozdíl od bloků po obou stranách, které oba dosahují v průměru ~5 000 USD v BTC.

Prostor v bloku je cenný – to je část toho, díky čemu Bitcoin dlouhodobě funguje – ale ve světě, kde jen hrstka hráčů může mít šablonu, kterou zkonstruuje, skončit v blockchainu, mají tytéž subjekty téměř exkluzivitu tento prostor prodávat a dostávat za něj peníze z pásma. Jsou povinni – nebo dokonce pravděpodobné – být otevřeně se svými horníky, že to dělají? V tomto případě určitě ne, protože záměrem bylo všechny překvapit. Budou do budoucna předávat svým těžařům platby, které obdrží za prodej prostoru pro bloky mimo pásmo?

Jednoduše řečeno, zatímco motivace poolu a jeho těžařů se obvykle shodují s ohledem na maximalizaci zisku, pool má možnost prodávat prostor pro bloky i za jiné věci než běžné transakce s bitcoiny, zatímco příjem těžaře je omezenější, pokud se pool nerozhodne být transparentní a nesouhlasí se sdílením příjmů. I když tak učiní, ověření vyžaduje souhlas poolu, na rozdíl od ověření peněz získaných z dotací a transakčních poplatků (což je u poolů FPPS také ošemetné, o tom později).

Další důsledky toho, že pooly jsou centralizovanými konstruktéry blokových šablon Bitcoinu, vyplývají ze skutečnosti, že – na zásadnější úrovni – existuje dvanáct „super uzlů“ s vlastními „super mempooly“.

To vede k tomu, že se lidé zabývají přímo pooly a mempooly zcela ignorují. Někteří tvrdí, že mempool je odsouzen k zániku bez ohledu na to – a že současný stav centralizované konstrukce šablon to jen urychluje, ale rozhodně to není žádoucí v žádném případě a bylo by příliš pesimistické vyslovovat tento předpoklad ve světě, kde se nějakým způsobem uskuteční skutečně decentralizovaná konstrukce šablon. Pak se platby mimo pásmo musí dostat k větší skupině lidí, pokud si ten, kdo kupuje blokový prostor, přeje, aby se dostal do řetězce ve stejném časovém rámci. To by bylo pravděpodobně transparentnější a připomínalo by to způsob, jakým věci fungují v současnosti. Naopak „superuzly“ by se snad rozpadly na menší části, a tudíž by již nemohly nabízet stejné záruky.“

Abychom odbočili od tohoto aspektu těžby, přesuňme pozornost na to, jak se v současné době řeší výplaty.“

Výplatní modely poolů

Téměř všechny pooly vyplácejí své hašery prostřednictvím FPPS (Full Pay Per Share) nebo něčeho podobného. Jednou z výjimek je ViaBTC, která kromě FPPS nabízí i PPLNS (Pay Per Last N Shares). Antpool také nabízí PPLNS, ale hasheři se musí vzdát všech příjmů z transakčních poplatků – to vypovídá o tom, co se brzy pokusím zdůraznit – v podstatě to, že FPPS není model, který by dobře fungoval ve světě, kde jsou relevantní spíše příjmy z transakčních poplatků než dotace. Je třeba zmínit, že Braiins pool (dříve Slushpool) používá systém označovaný jako „score“, který je v praxi dosti podobný FPPS

Jaký je důvod této drtivé preference FPPS? Z pohledu hashera dostanou zaplaceno bez ohledu na to, co se na blockchainu děje. To je v souladu s účelem sdružené těžby – větší konzistence příjmů. FPPS nabízí konzistentnější výplaty, protože pool vyplácí na základě předpokládaných příjmů a nezávisle se vyrovnává s blockchainem

To nesmírně usnadňuje život těžařům, kteří chtějí minimalizovat problémy vyplývající z narušení cash flow, ale má to samozřejmě i nevýhody – ty hlavní, na které zde doufám upozorním

FPPS především vyžaduje, aby se pool stal správcem všech čerstvě vytěžených bitcoinů. Ty nemohou být předány těžařům po dobu minimálně 100 bloků, protože čerstvě vytěžené bitcoiny jsou do té doby neutratitelné a v praxi nemohou mít vytěžené mince nic společného s tím, co těžaři nakonec dostanou při výběrech z poolu. Rizika úschovy třetí stranou by měla být zřejmá téměř každému, kdo čte tento článek, takže je přeskočím a přejdu k dalším problémům s FPPS:

Další obavy pramení ze skutečnosti, že obecněji je pool FPPS významným prostředníkem mezi hašery a samotnou sítí. Již jsme zjistili, že hašéři nejsou zasvěceni do toho, jak budou bloky, na kterých pracují, nakonec vypadat, dokud nejsou vyřešeny. FPPS znamená, že je nyní také nezajímá, zda jsou bloky vůbec nalezeny nebo ne, to je problém poolu. Pomineme-li zvýšenou předvídatelnost výplat (pokud by se pool nikdy nerozhodl své hashery kobercovat), musíme si uvědomit kompromisy tohoto postupu:

Těžaři, kteří dostávají zaplaceno přímo od samotného Bitcoinu – což je možné v alternativních schématech jako PPLNS nebo samozřejmě při sólo těžbě – mohou očekávat, že za své příspěvky budou plně odměněni, včetně transakčních poplatků. FPPS pool to může udělat pouze jako post-hoc výpočet, protože jednoduše neexistuje způsob, jak předpovědět, jaká bude výše poplatků při stanovení toho, co hašéři skutečně dostanou za podíl. Pool nemůže jednoduše předpokládat, že poplatky budou mít nějakou hodnotu vyšší než 0, a připisovat ji těžařům při těžbě, protože pokud by poplatky klesly pod tuto hodnotu, jednoduše by těžařům platil ze své kapsy. Musí pravidelně rozdělovat poplatky a připisovat je těžařům, jakmile je má pool skutečně v úschově.

Z pohledu hašera je nutná naprostá důvěra v pool, protože ověření je téměř nemožné bez plné transparentnosti a spolupráce poolu. Dříve, jak bylo zmíněno výše, to byl menší problém, protože většina příjmů z těžby pocházela z dotací a pouze se sypaly saty v transakčních poplatcích – ale to stále více není (a vlastně ani nemůže být) budoucnost těžby Bitcoinu. Do budoucna budou těžaři vydělávat především na transakčních poplatcích a ty je při použití poolu jednoduše těžší předvídat a sledovat než dotaci.“

V kontrastu se schématem výplat, jako je PPLNS, kde hašéři akceptují zvýšenou variabilitu (štěstí poolu se stává i štěstím hašéra), vidíme, že těžební ekosystém se v drtivé většině rozhodl upřednostnit konzistenci výplat před možností ověřit, co obdržel. Ještě zvrácenější je, že někteří hašéři tomu ve skutečnosti dávají přednost – chtějí se státním orgánům prezentovat jako jakási „hašovací služba“ zcela oddělená od Bitcoinu – někteří hrdě. FPPS je totiž tak radikální odchylkou od ideální dynamiky těžařů a poolu, že je opět těžké popsat to, co hašer vůbec dělá, jako „těžbu bitcoinů“

Ve skutečnosti je pool FPPS velkým sólovým těžařem, který platí hašerům za řešení svých bloků. Poté mají interní a neprůhledný proces, podle kterého zjišťují, co mají svým hasherům platit. Aby to bylo opravdu názorné, hasher by mohl (a v některých ne tak těžko představitelných scénářích by dokonce mohl) dostat zaplaceno v něčem jiném než v Bitcoinech.

Proč ne? Pokud je vám jedno, jestli se nějaké bloky najdou, natož jak vypadají před stavbou, proč si prostě nenecháte platit fiat od sólo těžaře, abyste na ně namířili své ASICy v jakékoli nejpohodlnější měně? Bitcoin není vždy tou nejbezproblémovější variantou, ale i kdyby byl, je rozumné si představit pokračování cesty, kdy „hashování“ může provádět libovolný počet subjektů, ale vše se děje jménem malé skupiny „poolů“, jejichž svolení celá síť potřebuje, aby se cokoli dostalo do skutečného blockchainu.“

Kdo vlastně hashuje?

Podívejme se na to v širším kontextu. Již jsme se zmínili, že někteří větší hráči se chtějí od Bitcoinu co nejvíce distancovat, a tak s radostí delegují co nejvíce činností souvisejících s Bitcoinem na svůj pool. Tyto pooly jsou doširoka otevřené regulaci a velká část jejich hashrate je tomu jenom ráda.“

To opět zavádí ekonomickou iracionalitu z pohledu samotné sítě, která se projevuje v chování, jako je těžba bloků, které splňují určité libovolné standardy. Když k tomu došlo v minulosti, nemělo to dlouhého trvání kvůli odporu komunity a absurditě snahy agresivně vyhovět měnícímu se regulačnímu systému jurisdikce, aniž by o to byl někdo požádán. Ale skutečnost, že to byla možnost, prozrazuje riziko centralizované konstrukce šablon bloků. Budou se těžaři v jedné jurisdikci snažit zakázat nebo odmítnout zpracovávat transakce pocházející z jiné jurisdikce? Stanou se těžaři jednoduše prodlouženou rukou vlády nebo vlivného špatného hráče? Existují konkrétní příklady poolů, které odmítají transakční poplatky, aby profitovaly z pásma, někdy prostě proto, aby vyhověly regulačnímu tlaku. To se z pohledu sítě opět jeví jako ekonomicky iracionální

Nejextrémnějším příkladem z poslední doby byl transakční poplatek 19 BTC zaplacený při transakci v bloku, který nakonec F2Pool našel, údajně omylem. Jako FPPS pool se stali správcem poplatku za těžbu 19 BTC a rozhodli se jej vrátit osobě, která chybu udělala. To dokonale demonstruje cenu za umístění příliš velkého prostředníka mezi těžaře a bitcoinovou síť. V poolu PPLNS by se to stalo s menší pravděpodobností. Ne proto, že PPLNS pooly jsou nutně bez důvěry nebo non-custodial, ale tím, že je možné sledovat a ověřit příjmy z poplatků v přesném okamžiku, kdy bloky přicházejí, to by možná bylo těžší pro bazén pokusit se pravděpodobně již připsány na účty horníků interně s jejich podílem vytěžených prostředků způsobuje větší zpětnou vazbu. I když se v zásadě nic nemění, dokud si nesrovnáte, co by se stalo, kdyby pool provedl výplaty svým těžařům v samotné transakci s mincemi/generací. V takovém případě by peníze již byly v úschově těžařů a zachycení příjmů z poplatků ze strany poolu by bylo nemožné. V tomto příkladu tedy snaha poolu vypadat velkoryse nebo spravedlivě stála jeho těžaře 500 000 dolarů v příjmech z poplatků, čímž za ně učinil rozhodnutí, které neměl být schopen učinit.“

Další problém: 51 % a další útoky

To by mělo být jednoduché vysvětlit: v tuto chvíli každý ví, co je 51% útok. Mnohem méně je však chápáno, že (až do doby, kdy síť obchází trasy) 51 % je podmínkou pro to, aby tento styl útoku byl zaručeně a trvale úspěšný, nikoliv pouze rušivý.“

Ve skutečnosti může jakýkoliv subjekt, který má více než 20 % sítě, způsobit problémy prostřednictvím mnoha útoků, z nichž některé jsou prováděny ve volné přírodě a o nichž se mluví jen zřídka, k čemuž se dostanu později. Než to ale uděláme, můžeme s hrůzou zírat na síť, která má žalostné dva subjekty s kombinovaným hashrate spolehlivě větším než 51 %. A co hůř, jeden z největších poolů nepříliš pečlivě maskuje, že je zodpovědný za dalších 10 % bloků nalezených prostřednictvím dalšího velkého poolu, se kterým mateřská společnost udržuje strategické partnerství. Skutečnost, že tato pantomima přetrvává, nevzbuzuje důvěru.

Obvykle na to existují dvě reakce. Za prvé, lidé poukazují na to, že hašéři mohou jednoduše hlasovat nohama a změnit pool, pokud někdy spojí síly k 51% útoku. Za druhé, že jakýkoli pool by byl šílený, kdyby se o to pokoušel, a to z toho prostého důvodu, že narušení bitcoinu by způsobilo pokles ceny a to by nikdo, kdo do ekosystému investoval, nikdy nechtěl. Druhý argument ignoruje lidskou historii a dále předpokládá, že lidé nikdy nemohou být nuceni k destruktivnímu chování, a tím způsobit narušení jen pro narušení nebo jiné nekalé účely. (Nebere také v úvahu skutečnost, že trh často nemusí být dobrým indikátorem toho, že s Bitcoinem jsou problémy, viz forkwars v roce 2017.)

První argument však vychází z pevnějšího předpokladu, že hasheři by se vždy vyměnili ve scénáři, kdy se jeden pool skutečně příliš zvětší. Pokud by se o to pooly pokusily, skutečně by se projevila realita a my bychom si uvědomili, že navzdory tomu, že konstruují 99 % našich blokových šablon, pooly ve skutečnosti nejsou těžaři. Máme také k dispozici případovou studii Ghash.io, který slavně zažehnal smrt, když všechny vyděsil překročením 40 %

Skvělé, takže jsme si ukázali, že to vlastně není problém, na hashery se můžeme spolehnout, že prostě přeskočí do jiného poolu. (Ve skutečnosti, pokud jsou velké těžební operace všechny svázané byrokracií, je to mnohem méně spolehlivý předpoklad, ale postupujme alespoň tak, jako bychom si byli poměrně jistí, že tento útok není pravděpodobný.)

Bohužel vědomí toho, že hash power bude migrovat pryč z jakéhokoli poolu, který překročí děsivou hranici, vede k jejich samoregulaci – ale ne způsobem, který by jim pomohl, protože nepotřebují skutečně udržovat hashrate pod hranicí, potřebují jen, aby to tak vypadalo . To se v podstatě rovná tomu, že přijmou veškerou hashovací sílu, kterou mohou získat, a zároveň ji podle potřeby přeposílají na jiné pooly, aby neupozornili svět na svou schopnost způsobit chaos

Takže nám zůstává neznámý obraz sítě. 30 % bloků může být otevřeně nalezeno největším poolem a být přijatelné pro všechny, zatímco dalších 10 % celkového hashrate sítě je stále nasměrováno na tento pool a jen tajně směřováno do jednoho nebo více menších poolů. Hashers zodpovědní za těchto 10 % si pravděpodobně neuvědomí, že je takto využíváno (a u stratumV2 je to ještě obtížnější odhalit – o tom později).

Tento již tak nepříliš ideální scénář se ještě daleko zhorší, když vezmete v úvahu, že tento přesměrovaný hashrate může být použit k poškození menších poolů prostřednictvím útoku block withholding.

Ten probíhá následovně – útočník se zapojuje do procesu těžby většinou jako běžný uživatel oběti poolu. V důsledku toho získá podíl na odměně z každého bloku, který pool podle očekávání najde. Odměny pak nakonec skončí u útočníka, který pak může zaplatit skutečnému těžaři, aniž by musel přijít o peníze. Zatím jedinou způsobenou škodou je nesprávný dojem, že hashrate poolu je menší, než ve skutečnosti je, ale menší pool zůstává nepoškozen

Nyní vzniká škoda, pokud se rozhodnou neříct to poolu oběti, když najdou blok. To má za následek, že se pool oběti jeví jako nešťastný. Vypadá to, že jednoduše nacházejí méně bloků, než by měli, a vyplácejí odměnu rozdělenou mezi více účastníků, než kolik jich skutečně poctivě těží – tj. nutně pracují se ztrátou za předpokladu, že ztráty nevyrovnají jiným způsobem.

Pokud je fond FPPS takto napaden, musí spálit příjmy, které platí těžařům z vlastní kapsy, aby vyrovnal rozdíl. Pokud jsou PPLNS, jejich těžaři se diví, proč nedostávají to, co by měli dostávat. Tak či onak, zadržování bloků je protisoutěžní a může zničit obětní pool tím, že mu udělá špatnou pověst

Z pohledu útočícího poolu řekněme, že tvoří 5 % hashrate obětního poolu. To znamená, že stále dosahují 95 % očekávaných příjmů a pool vypadá o 5 % méně šťastně, než se očekávalo. To snadno stačí k tomu, aby se pool zabil, zatímco 5% ztráta na přesměrovaném hashrate bude mít pro větší pool mnohem menší význam. Pokud představuje pouze 1 % celkové hashovací síly většího poolu, pak útočník ztrácí pouze 5 % z 1 % očekávaných odměn – 0,05 %. To je bezesporu výhoda pro jakýkoli zlomyslný, značně velký těžební pool, který je právě připraven jednat neeticky

Čím menší pool, tím je vůči tomuto útoku zranitelnější. Čím větší pool, tím je pravděpodobnější, že zablokuje zadržení konkurenčního, menšího poolu. Toto riziko se zvyšuje s tím, jak se velké pooly blíží k úrovním, kdy jejich celkový hashrate začíná děsit komunitu, což je dále motivuje k tomu, aby hashrate alespoň schovávali v menších poolech, i když s ním ve skutečnosti neútočí nebo útoky provádějí dostatečně zřídka, aby se problémy nakonec zavrhly jako variance. Skutečně – snížené variability se již těší větší pooly díky konzistentnějším výplatám ze sítě, což se projevuje v tom, že jsou schopny fungovat v rámci užších marží, a tudíž jsou v pozici, kdy mohou svým hasherům účtovat méně. Z pohledu každého těžaře/poolu, který není pod útokem, tento útok znamená, že se bude těšit nižší obtížnosti, protože síť Bitcoin se přizpůsobí tomu, že bloků bude celkově méně.

Je zadržování bloků pouze teoretické? Rozhodně ne. Několik těžebních poolů bylo přesně tímto způsobem napadeno dokonce již v roce 2015. Je nesmírně obtížné jej zmařit, protože pool musí sledovat všechny pracovníky a učinit promyšlené rozhodnutí o jejich vyřazení z poolu a/nebo zadržení plateb jim v případě, že mají smůlu až do bodu statistické nemožnosti a pool může důvodně předpokládat, že jednají ve zlém úmyslu. Útoky tohoto druhu také motivují pooly k tomu, aby chtěly „znát své hašery“ a platby do úschovy, což samozřejmě ztěžuje život těm, kteří chtějí těžit bez povolení

Bez ohledu na to, celkový efekt toho všeho je, že lidé budou preferovat těžbu s většími pooly z dalšího důvodu

Veřejně jsme viděli prohlášení velkých těžařů, kteří prohlásili, že odcházejí od menších poolů kvůli tomu, že dostávají platby, které nesplnily očekávání.

To je krajně nežádoucí, protože větší pooly a větší hašlerky, které je využívají, jsou snadněji zatíženy regulační zátěží, a jsou tak náchylné k chování, které Bitcoin poškozuje, a to dokonce nad rámec centralizace šablon bloků a dočasné úschovy všech blokových odměn

Pooly se stávají efektivně deputačními a prosazují byrokratické nesmysly „jménem“ svých hašlerek. Dva největší pooly v současné době vyžadují, aby jejich uživatelé prošli tunou obručí, včetně procesů odhalujících identitu, které by neměly a nesmí být nutné k tomu, aby někdo mohl těžit bitcoiny mimo sólo těžbu.

Abych na závěr uvedl jednu poznámku k zadržování bloků, kromě toho, že hrozí, že ztíží život menším poolům a všem, kteří s nimi chtějí těžit, říkám všem, kteří by snad ještě byli v pokušení odmítnout to jako čistě teoretické (i když se to v minulosti prokazatelně stalo) – myslíme si, že je normální, aby pooly organicky zůstaly konzistentní a zřejmě únosné velikosti? To by znamenalo, že se nový hashrate přicházející online vždy nějak podaří rozdělit alespoň trochu rovnoměrně. Musíme věřit, že pool může vzniknout, zázračně růst a pak se jen….stop….at těsně kolem potřebné hranice, než se lidé vyděsí. Vidíme, jak pooly prosí lidi, aby s nimi přestali těžit, nebo rovnou omezují zakládání účtů a vykopávají těžaře, kteří překročí povolený hashrate v rámci stávajících účtů? To samozřejmě ne.

Dva pravděpodobnější scénáře jsou, že buď se hasheři kolektivně samoregulují (nepravděpodobné, protože těžba s menšími pooly nyní slavně znamená vydělat méně bitcoinů, i když důvody, které jsem uvedl v tomto článku, zcela nevysvětlují proč – nemluvě o tom, že příklady hromadného odchodu z poolu byly extrémně nápadné v těch několika případech, kdy se staly) – nebo – pooly prostě zkreslují množství hashrate, které na ně míří.

K tomu všemu je třeba dodat, že menší pooly mají ještě jeden problém: mohou jít celé dny bez nalezení bloků. Větší pool nevydrží déle než několik hodin. To je otázka rozlišení – čím vyšší hashrate, tím blíže jste krátkodobě očekáváním, a to bohužel vede k minimální hranici, pod kterou pool nemůže očekávat, že dožene období smůly, a v tu chvíli se prostě stává nesoutěživým.“

Dvoutýdenní období mezi epochami obtížnosti znamená, že během tohoto dvoutýdenního období je třeba najít rozumný počet bloků, aby případná smůla měla šanci být vyvážena následným štěstím. V opačném případě, pokud – například – má pool předpokládanou četnost bloků 1 blok za 13 dní a nenajde blok dříve, než se obtížnost upraví směrem nahoru, což způsobí, že klesne na předpokládanou četnost 1 blok za 15 dní, je toto předchozí okno navždy uzavřeno. Pokud se jedná o pool PPLNS, hashers vydělali méně, než by jinak mohli. Pokud se jedná o pool FPPS, pool spálil spoustu peněz a/nebo zkrachoval.“

To znamená, že může existovat pouze tolik poolů, alespoň těch, které fungují tak, jak fungují dnešní pooly. Prostě jich nemohou být stovky, protože mnoho z nich by se v obdobích smůly neustále hroutilo kvůli tomu, že mají méně než 1 % hashrate sítě, a tudíž potenciálně nejsou schopny spolehlivě najít ani jeden blok denně, což naráží na potenciální období týdnů bez bloků. To je omezení, které na nás klade sám Bitcoin.

Jak spolu komunikují těžaři a pooly?

Protokol, kterým spolu těžaři a pooly komunikují, je Stratum (pomalu, ale jistě nahrazovaný StratumV2). StratumV1 je jednak prastarý, jednak hluboce chybný. Za prvé, veškerá komunikace probíhá v prostém textu. To znamená, že poskytovatelé internetových služeb jsou zasvěceni nejen do skutečnosti, že těžíte, ale také do rozsahu, v jakém tak činíte, a mohou – spolu s kýmkoli jiným, kdo může slídit provoz ve vaší síti – provádět útoky MITM, jejichž výsledkem je, že používáte své stroje a výkon jménem někoho jiného. Toho již dříve zneužívali neznámí útočníci k odčerpávání hashrate od zamýšlených poolů.“

Kromě řady neefektivit StratumV1 také nenabízí těžařům praktický způsob, jak konstruovat vlastní šablony bloků a přitom si užívat těžbu v poolu. Všechny tyto problémy řeší mimořádně žádoucí StratumV2 (původně „GBT“, poté „Better Hash“), k němuž se vrátíme později.

Hardware/Firmware

Než se dostaneme k řešení, odbočíme od diskuse o dynamice poolů/minerů – tento článek by totiž nebyl úplný, kdybychom nepřipomněli skutečnost, že ASICy ve smysluplném měřítku vyrábějí pouze dvě společnosti – Bitmain a MicroBT. Existují i další, ale reálně se téměř veškeré hashování odehrává na strojích vyrobených těmito dvěma společnostmi

To není dobré ze zřejmých důvodů a v podstatě to pramení z toho, že výroba čipů je extrémně obtížná, a tudíž hypercentralizovaná

Je mimo rámec tohoto článku, abychom se zde zabývali řešeními, ale existují lidé, kteří pracují na tom, aby domácí těžba byla něčím mnohem praktičtějším (v Severní Americe je hlavním problémem požadavek na 220-240 V a vypořádání se s nepříjemným hlukem). Tvrzení mezi těmi, kteří pracují na těchto pleb-mining projektů je, že pokud se to stane proveditelné pro dostatečný počet každodenních Bitcoiners, mohou začít představovat významné procento celkového hashrate sítě, což je lepší než většina těžebních operací, které fungují v měřítku, kde jsou široce otevřené regulačním zásahům.

Tento úkol je mnohem těžší tím, že firmware je uzavřený zdrojový kód. Dokonce i vlastní firmware, který dokáže „jailbreaknout“ ASIC, bývá closed source, aby se zajistilo, že ti, kdo ho používají, budou platit dev poplatky (tj. náklady na váš úžasný aftermarket firmware jsou těžba jménem týmu, který firmware vytváří)

Stock firmware na ASIC – zejména Bitmain – je skvělým důkazem toho, jak pohodlně se jim podařilo získat dominantní postavení na trhu. Kromě toho, že má uzavřený zdrojový kód, je zjevně škodlivý. Po zapnutí Antmineru jste nuceni těžit jejich jménem – i když těžař tomu může zabránit alespoň tím, že zablokuje připojení (nebo nainstaluje aftermarketový firmware, ale pak místo toho platíte poplatky za vývoj a ty nelze zablokovat, aniž by těžař odmítl těžit vůbec) Společnost Bitmain byla také několikrát přistižena při přidávání škodlivých zadních vrátek do firmwaru pro své těžaře (viz Antbleed) a aktivně pracuje na blokování vývojářů aftermarketového firmwaru.

Skutečnost, že to dělá stock firmware, je upřímně řečeno nehorázná a jasně poukazuje na nutnou potřebu konkurence ve výrobě ASIC.

Cítil by se někdo dobře, kdyby pravidla sítě prosazovaly uzly s uzavřeným zdrojovým kódem bitcoinu? Dále si představte, že by tyto uzly způsobily, že by uživatelé přišli o BTC ve prospěch vývojářů tohoto softwaru – a všichni jsme věděli, že se to děje. Přijal by to někdo? Pokud jde o těžbu, na suverenitu jejích účastníků se nebere téměř žádný ohled. Software uzlů a firmware ASIC samozřejmě nemají stejnou důležitost a prvnímu samozřejmě věnujeme větší pozornost, jak bychom měli, ale druhý není nepodstatný a rozhodně je nepřijatelně zanedbáván.

S tím vším, co bylo řečeno, přejděme k některým řešením, zaměřeným zejména na zvětšení rozsahu toho, co je možné jako těžař těžit, a na vylepšení stávajících modelů.

P2Pool

K tomu není moc co říct kromě toho, že decentralizoval v podstatě všechny aspekty pooled mining. V malém měřítku to sice dělá mnoho žádoucích věcí, ale vyžaduje to, aby každý uživatel stahoval, ověřoval a sledoval podíly všech ostatních uživatelů a vzájemně si dokazoval, že vše správně účtuje ve svých šablonách. Dosáhnout toho v nepřátelském prostředí v jakémkoli měřítku je v podstatě nemožný úkol. Vzhledem k zásadní povaze pooled těžby je zapotřebí mnohem více zdrojů, než kolik je potřeba k provozu plnohodnotného uzlu Bitcoinu, nemluvě o tom, že je to pro těžaře složitější.

Z těchto důvodů ji většina ignorovala a používali ji jen techničtější uživatelé nebo idealisté, kteří se – pochopitelně – nemohou přinutit těžit pomocí alternativ.

StratumV2

To je zcela jistě nejhůře visící ovoce. Nabízí praktické řešení mnoha problémů uvedených v tomto článku.

Zaprvé, tím, že umožní šifrovanou komunikaci mezi pooly a hashery, se poskytovatelé internetových služeb ani žádný jiný subjekt s přístupem k vašemu síťovému provozu již triviálně nedozví o tom, že těžíte (nebo o rozsahu, v jakém tak činíte). „MITMing“, který vás přiměje těžit hash jménem útočníka, se v důsledku toho také stává impo

Za druhé, a to je možná nejdůležitější, je také schopen umožnit hasherům konstruovat vlastní šablony bloků, takže i když by pooly zůstaly důvěryhodnými koordinátory rozdělování odměn a pravděpodobně i nadále správci odměn za bloky – přesto by to představovalo přesun moci od poolů směrem k těžařům a bylo by to jednoznačně dobré

A nakonec je zde několik dalších vylepšení, která vám doporučuji vyzkoušet.

Svět, ve kterém je StratumV2 normou, spolu s nadšením těžařů skutečně konstruovat vlastní šablony (v ideálním případě by pool nabízel motivaci těžařům, kteří by to udělali), by se těšil mnohem odolnějšímu Bitcoinu.

Komunita je v podstatě jednotná v úsilí o modernizaci těžebního ekosystému na StratumV2, ale historicky se těžaři obecně vyhýbali používání těchto řešení kvůli dodatečnému úsilí (i když triviálnímu ve srovnání s p2poolem) a žádné motivaci k tomu.

Zaokrouhlení nahoru

Je zde velký prostor pro zlepšení se StratumV2 nebo bez něj. Potřebný je pool, který těžařům nabídne možnost převzít během těžby mince do přímé péče. To vyžaduje, aby pool (nebo jeho hashers) konstruoval šablony bloků, v nichž jsou odměny těžařů vypláceny přímo v transakci s mincovní bází/generací obsaženou v každém bloku. Skutečnost, že je to v systému FPPS nepraktické, znamená, že každý pool, který by to udělal, by se setkal s neochotou některých těžařů, ale ti, kteří by přešli, by se těšili větší transparentnosti, protože samotný Bitcoin by jim – nad určitou hranicí – platil přímo se snadno ověřitelným rozdělením příjmů z dotací a poplatků. To může být spojeno s tím, že pooly – před StratumV2 – budou těžaře alespoň informovat o šablonách bloků vytvořených jejich jménem před řešením bloků a po StratumV2 budou muset jednoduše ověřit, že všichni těžaři vytvářejí šablony, které přesně odrážejí rozdělení odměn, aniž by to mělo dopad na škálování, které by museli všichni těžaři neustále provádět.

Pool může také řešit neochotu těžařů vytvářet vlastní šablony bloků tím, že nabídne pobídky pro těžaře, kteří tak činí, například tím, že jim bude účtovat nižší poplatky. Zdá se, že pokud těžaři nebudou ochotni převzít břemeno této činnosti ani poté, co se stane opět praktickou, pak by tato dodatečná pobídka mohla být nezbytná.“

Výše uvedené návrhy by situaci výrazně zlepšily.“

V souvislosti s výrobou ASIC a infrastrukturou poolu se chystá mnoho iniciativ a oznámení, které by snad měly být vítaným vývojem pro každého, kdo má zájem na zajištění trendů těžby směrem k větší decentralizaci.“

Toto je hostující příspěvek od Bitcoin Mechanic. Vyjádřené názory jsou výhradně jeho vlastní a nemusí nutně odrážet názory společnosti BTC Inc. nebo časopisu Bitcoin Magazine.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Diskuze

{{ reviewsTotal }} Review
{{ reviewsTotal }} Reviews
{{ options.labels.newReviewButton }}
{{ userData.canReview.message }}