Een nader onderzoek naar het voorstel van Bitcoin Unlimited voor configureerbare blokgroottes

Een nadere kijk op het voorstel voor configureerbare blokafmetingen van Bitcoin Unlimited.

Bitcoin Unlimited, een van de Bitcoin Core-toepassingsvorken die eind 2015 werd geïntroduceerd, kreeg de afgelopen maanden veel aandacht. De klus kreeg hash-elektriciteitsondersteuning van vele nieuwe bitcoin-mijnzwembaden, waaronder ViaBTC, GBMiners en BTC.TOP, terwijl de adoptie van knooppunten ook lijkt toe te nemen.Of misschien juister: om deze controle explicieter en gemakkelijker te hanteren te maken.

Het Bitcoin-protocol, zoals afgedwongen door economisch relevante knooppunten, omvat momenteel een limiet van één megabyte blokgrootte. Als een mijnwerker een blok groter dan één megabyte zou maken, zou dat blok als ongeldig worden beschouwd. Het zou geen deel worden van de blockchain van Bitcoin, en de mijnwerker die het had gedolven zou zijn bronnen verspild hebben door het te maken.

 

BUIP001 – geleverd door Bitcoin Unlimited hoofdprogrammeur Andrew Stone – beschikt over dit limietenprotocol van één megabyte met maximale bloklengte en vervangt het door 3 configureerbare opties. Twee hiervan kunnen worden geconfigureerd door alle knooppuntoperators, inclusief reguliere gebruikers naast mijnwerkers. En een derde optie is eenvoudig voor mijnwerkers.

Deze configuraties worden gesignaleerd naar het Bitcoin-netwerk. Reguliere gebruikers zenden hun voorkeuren uit naar andere knooppunten en mijnwerkers nemen hun voorkeuren op in de kubussen die ze ontginnen.

Ten eerste is er de maximale generatiegrootte, ook wel bekend als 'MG'. Dit alternatief is alleen voor mijnwerkers en is vrij eenvoudig: het laat miners de grootte van kubussen instellen die ze maken. De standaardinstelling is één megabyte: deze loopt niet automatisch uit in het huidige Bitcoin-protocol. Maar als een mijnwerker een blok van twee megabytes wil maken, dan is het net zo eenvoudig als "een schakelaar omdraaien" in de gebruikersinterface van Bitcoin Unlimited. Als een mijnwerker een blok van acht megabytes wil maken, dan is het exact dezelfde schakelaar.Een nader onderzoek naar het voorstel van Bitcoin Unlimited voor configureerbare blokgroottes_[en-nl]_2018-05-30 13-47-28--268 met maximale bloklengte

(De enige limieten die nog over zijn, zijn beperkingen van de berichtlengte, die Bitcoin Unlimited op 160 megabytes plaatst en uiteindelijk limieten voor gegevenstypen of systeembronnen.)

MG biedt mijnwerkers volledige controle over de afmetingen van kubussen die ze maken. Maar natuurlijk, zoals eerder uitgelegd, zou een blok van twee megabyte nu door het netwerk worden omgekeerd.Dit is waar het tweede configureerbare alternatief binnenkomt.

Keuze 2: overmatige blokgrootte of "EB"

De overmatige blokgrootte, meestal bekend als 'EB', bepaalt de grootte van kubussen die knooppunten en mijnwerkers accepteren. Als een mijnwerker een blok van twee megabytes genereert, wordt dat blok geaccepteerd door alle knooppunten en mijnwerkers die EB op minimaal 2 megabytes plaatsen.

EB wordt standaard ingesteld op zestien megabytes en kan worden geconfigureerd door zowel gebruikers als mijnwerkers. Niettemin is het een bijzonder belangrijke configuratie voor mijnwerkers: mijnwerkers alleen de mijne samen met kubussen die ze maken. Een mijnwerker die Bitcoins huidige limiet van één megabyte blokgrootte vastlegt, verwerpt een blok van twee megabytes om de mijn te houden over het laatste blok van één megabyte. Een mijnwerker die EB instelt op 2 megabytes, zal echter meteen mijn mijnen genereren met precies hetzelfde blok van twee megabytes, ongeacht wat de rest van het netwerk doet.

Dit is natuurlijk ook een probleem.

In het geval dat een minderheid van mijnwerkers EB op één megabyte zet, en de overgrote meerderheid van alle mijnwerkers EB instelt op, laten we zeggen, twee megabytes, zou het netwerk in 2 kunnen splitsen. Nadat iemand een blok van twee megabytes heeft geminered, zal een minderheid van mijnwerkers negeren en in plaats daarvan doorgaan met het verlengen van de keten van één megabyte. Bijna alle mijnwerkers nemen echter de keten samen met het blok van twee megabytes en breiden die keten uit.Verschillende groepen mijnwerkers zouden unieke ketens als legitiem beschouwen en de mijne bovenop hun 'eigen' keten terwijl ze de andere keten afwijzen. Deze splitsing zou technisch voor altijd kunnen duren zonder dat de twee ketens convergeren, in feite splitsend Bitcoin naar twee verschillende valuta's en netwerken.In een poging om dit op te lossen, introduceert Bitcoin Unlimited het derde configureerbare alternatief.Een nader onderzoek naar het voorstel van Bitcoin Unlimited voor configureerbare blokgroottes_[en-nl]_2018-05-30 13-47-28--268 op 160 megabytes

 

Keuze 3: overmatige acceptatiediepte of "AD"

Meer in het bijzonder bepaalt AD de hoeveelheid toegevoegde bevestigingen die een blok vereist, voordat knooppunten en mijnwerkers het opnemen, ongeacht de grootte van het blok. De standaardinstelling is vier.

Dus, allow's state, een knoop stelt EB in op 2 megabytes, en AD op vier toegevoegde bevestigingen. Als dat knooppunt een blok van drie megabytes ontvangt, negeert het dat blok in eerste instantie omdat het zijn EBB van twee megabyte overschrijdt. Maar als de overgrote meerderheid van mijnwerkers dat blok niet negeert en er vier nieuwe blokken bovenop plaatst, wordt de EB van twee megabytes van het knooppunt overruled met zijn eigen vier AD-bevestigingen. Het blok van drie megabytes wordt met terugwerkende kracht als legitiem geaccepteerd.

Daarom moeten afzonderlijke mijnwerkers (en knooppunten) – uiteindelijk – convergeren op een enkele legitieme keten, zelfs als ze verschillende MG- en EB-instellingen hebben.

"Wanneer de AD van een knooppunt wordt geraakt, zal dat knooppunt blokken van 24 uur (24 blokken) van elke grootte nemen. Deze kleverige poort zorgt ervoor dat mijnwerkers direct op de ketting bouwen samen met de recent geaccepteerde grotere blokken, in plaats van continu lag achter op de rest van het netwerk, in afwachting van elk blok om voldoende AD te bereiken.