Lightning Labs is op dreef!

Onlangs zette Lightning Labs, een van de voornaamste ontwikkelaars achter het lightning netwerk, twee grote stappen vooruit richting de verwezenlijking van een volwassen lightning netwerk dat klaar is voor alledaags gebruik.

Niet zomaar een facelift

De eerste aankondiging is de release van een nieuwe versie van de Lightning Labs desktop app. De nieuwe release bestaat uit een volledige redesign, met tevens verschillende optimalisaties op de achtergrond. Daarnaast stipte Lightning Labs onlangs in een blog over de gebruikerservaring van het lightning netwerk voor de gemiddelde gebruiker het belang van gebruiksvriendelijkheid aan; hier wordt nu een grote stap in gezet.

Deze release maakt namelijk het gebruik van het lightning netwerk toegankelijk voor allerlei gebruikers. De Lightning Labs app kan nu gemakkelijk gebruikt worden als losstaande light-client die automatisch met een van de nodes van Lightning Labs verbinding maakt, zowel mobiel als op een desktop. Hierdoor wordt er niet langer van de gebruiker verwacht dat zij apart hun eigen bitcoin en lightning nodes draaien; iets waar nog altijd enige technische kennis voor nodig is.

Lightning Labs zegt terecht: als we er niet in slagen het gebruik van het lightning netwerk eenvoudig te maken voor de nieuwe gebruikers, dan is de kans van slagen van deze nieuwe technologie klein. Daarom heeft Lightning Labs deze release zo eenvoudig mogelijk gemaakt met nadruk op helderheid en gebruiksgemak.

We feel there is a valuable learning experience to be had by making the Lightning protocol more accessible to novice users and learning about potential UX pitfalls along the way. If we can’t make the protocol accessible to this group of users then the technology will likely never move beyond the enthusiast market segment.

Lightning Labs probeert actief nieuwe gebruikers op te leiden in best practices op het gebied van bitcointransacties. Zo leert de nieuwe release gebruikers dat saldo’s en transacties op het lightning netwerk vergelijkbaar zijn met die op een alledaagse bankrekening: hier heb je voldoende liquide middelen staan voor je dagelijkse uitgaven, maar niet al je spaargeld. Apart zijn er de verschillende cold storage oplossingen voor het veilig bewaren van de overige tegoeden, welke dienen als ‘spaarrekening’. Dit onderscheid wordt gemaakt omdat lightning wallets hot wallets zijn en daarmee kwetsbaar(der) voor verschillende aanvallen.

Naast eenvoud en het benadrukken van verschillende soorten transacties is er bij deze release veel focus gelegd op het gebruik van kleuren om duidelijk naar gebruikers te communiceren welke acties zij ondernemen, zoals te zien in de screenshots in dit artikel. De release geeft hoop: het gebruik van bitcoin hoeft niet ingewikkeld te zijn. Je kunt hier de volledige blog over de release en het ontwerp daarvan lezen; dit is een aanrader voor eenieder die geïnteresseerd is in de gebruikerservaring van het lightning netwerk of diegenen die zich nog niet aan het lightning netwerk hebben durven wagen.

Halverwege!?

Kort na de aankondiging van het nieuwe design van de Lightning Labs app werd versie 0.5-beta van LND, de lightning-client van Lightning Labs. De voornaamste focus voor deze release lag op het mogelijk maken van applicaties voor de eindgebruikers, de light-clients zoals hierboven beschreven. Daarnaast voert deze release verschillende privacy- en veiligheidsverbeteringen door en wordt het grondwerk voor de volgende release gelegd, welke zich zal richten op nodes die betalingen routen over het lightning netwerk.

Op het gebied van veiligheid voegt deze release dataloss protection toe. Samen met toekomstige updates zal dataloss protection ervoor zorgen dat er geen tegoeden verloren gaan in het geval van corruptie van de data of verlies van een toestel. Wel zo prettig. Versie 0.5-beta voegt ook uitgebreidere support voor het gebruik van Tor toe. Dit zal, in combinatie met onion-routing via Sphinx, voor de nodige privacy zorgen.

Met release-nummer 0.5 zou je haast zeggen dat we halverwege voltooiing van het lightning netwerk zijn, maar de nummers van een release zijn niet altijd een indicatie van de exacte vordering van een project. Er wordt met deze releases wél een grote stap gezet richting software die klaar is voor bredere adoptie. Je kunt hier de volledig blog over de release van versie 0.5-beta van LND lezen.

Lightning Labs is, op zijn zachtst gezegd, op dreef! De ontwikkeling van het lightning netwerk en alle nodige apps daaromheen gaat keihard. Voor velen zal deze voortgang onopgemerkt gaan tot het opeens daar is; dagelijks gebruik van het lightning netwerk is het doel. Het team van Lightning Labs en alle andere lightning-ontwikkelaars schrijven geschiedenis.

De Casa Lightning Node

Een van de technische drempels die mensen tegenhoudt volledig mee te doen aan het bitcoinnetwerk en het lightning netwerk is het draaien van een eigen node. Dit heeft veel voordelen, maar vergt ook enige technische kennis. De Casa Lightning Node kan hier verandering in brengen.

Alles-in-1

De Casa Lightning Node is een alles-in-1-oplossing voor het meedoen aan het lightning netwerk. Het apparaatje van Casa is plug-and-play en komt voorgesynchroniseerd met de bitcoin blockchain, waardoor er minimale technische kennis nodig is om de node in gebruik te nemen. Hierdoor wordt het gemakkelijker voor de beginner om mee te doen aan het lightning netwerk en zelfstandig een node te draaien.

De Casa node kost zo'n €250. Het kistje bestaat uit een Raspberry Pi 3B+ in combinatie met een 1TB Seagate HDD en is dus in verhouding tot de hardware die geleverd wordt niet bepaald goedkoop. Na het aansluiten van de node kunnen gebruikers lightningbetalingen versturen en ontvangen, en payment channels met andere nodes openen en sluiten. De eerste twee batches van 100 nodes zijn reeds uitverkocht en worden in oktober en november verzonden. Het is op dit moment mogelijk om een pre-order te plaatsen voor de volgende batch.

Niet te vroeg juichen?

Hoewel je met elk hardware apparaat dat je in gebruik neemt een bepaalde hoeveelheid vertrouwen moet hebben in de fabrikant daarvan, kan de hoeveelheid benodigde vertrouwen over het algemeen geminimaliseerd worden door het zetten van de juiste stappen door gebruiker en fabrikant.

Helaas is de Casa Lightning Node niet geheel open-source. Dit is jammer, want dit maakt het lastig te verifiëren dat het kistje echt betrouwbaar is. Hoewel de node niet afhankelijk is van de servers van Casa, vertrouw je wel op de data die zij vooraf ingeladen hebben. Je kunt vervolgens niet zelf controleren dat het kistje doet wat het zou moeten doen en dit ook altijd zal blijven doen.

Dergelijke oplossingen voor het draaien van een node zijn wél wenselijk; het is simpelweg voor de meesten (nog) niet weggelegd om zelfstandig de technische stappen te doorlopen die nodig zijn om een eigen node te draaien. Dit creëert een lastige situatie: enerzijds wil je dat zoveel mogelijk mensen zelfstandig meedoet en zijn plug-and-play apparaten dus een mooie oplossing. Anderzijds is spelen met vertrouwen gelijk aan spelen met vuur wanneer het om bitcoins gaat; voor je het weet zijn ze weg. Het zal met de tijd moeten blijken of er betrouwbare oplossingen op de markt beschikbaar komen. Vooralsnog zijn kant-en-klare oplossingen zoals de Casa Lightning Node een interessant experiment.

Gaan we over de biljoen?

Gaan we over de biljoen?

Wat betreft de prijs? Hoogstwaarschijnlijk niet. Totale marktwaarde? Mogelijk, maar voorlopig onwaarschijnlijk. Wél halen we in 2018 waarschijnlijk een totale transactiewaarde van meer dan 1 biljoen euro. Dat is meer dan goud. De totale transactiewaarde per dag en per jaar is een getal dat er eigenlijk meer toe doet dan de prijs; het beantwoord namelijk de vraag of bitcoin goed functioneert als transactienetwerk.

Bitcoin verwerkt op dit moment dagelijks miljarden euro’s aan waarde in bitcoins, waar dit gedurende 2013, 2014 en 2015 nog 'slechts' in de honderden miljoenen was. Bitcoin heeft geheel 2018 slechts één dag minder dan €2 miljard aan waarde verwerkt. Het gemiddelde per dag voor 2018 ligt daar ver boven. Hiermee lijkt het erop dat het bitcoinnetwerk dit jaar over de 1 biljoen euro verwerkte waarde zal gaan. Een goed teken: bitcoin werkt. Het doet waar het voor bedoeld is, en dat op steeds grotere schaal.

bitcoinusdvalue

De grafiek hierboven is afkomstig van coinmetrics.io en toont het dagelijks transactievolume van bitcoin in Amerikaanse dollars. De totale overgedragen waarde van het bitcoinnetwerk op dit moment is in vergelijking met alle wereldwijde financiële transacties nog niet echt groot te noemen. Wel is het bereiken van 1 biljoen euro aan transacties per jaar een prestatie die niet zomaar nagedaan wordt.

De volgende bitcoin?

Vaak is men gretig op zoek naar de volgende bitcoin, de 'betere' coin die bitcoin overbodig gaat maken en, geheel toevallig, ook zijn voorstanders stinkend rijk zal maken. Zo zijn er honderden cryptocurrencies die allemaal beweren 'the next big thing ’ te zijn. Maar hoe groot is de kans dat die er daadwerkelijk komt?

Onwaarschijnlijk

Vanuit technologisch perspectief biedt bitcoin op termijn eigenlijk alles wat andere cryptocurrencies als unique selling point promoten. Privacy, smart-contracts en instant betalingen, het komt allemaal naar bitcoin. Op zijn tijd, uiteraard, want succesvolle uitvoering is niet simpel en je krijgt maar één kans om een goede basis te bouwen en vertrouwen te winnen. Dit alles wordt gebouwd bovenop een systeem dat werkelijk decentraal opereert, iets wat de overgrote meerderheid van de concurrentie niet kan zeggen.

De concurrerende systemen zijn vaak nodeloos ingewikkeld, met kwetsbaarheid en gevoeligheid voor fouten tot gevolg, en maken gebruik van onbewezen consensussystemen die vaak vroeg of laat slachtoffer worden van machtspelletjes waardoor het belangrijkste aspect van een decentraal geldsysteem verloren gaat: decentraliteit. Marketing teneinde financiële winst staat boven degelijke systeemontwikkeling. Helaas vaak met succes, doordat misbruik gemaakt wordt van een gebrek aan technische kennis bij 'investeerders' en er voldoende rook opgeworpen wordt waardoor zelfs voor de kenner onduidelijk is hoe dingen in elkaar steken.

De volgende bitcoin?

Dat is bitcoin. Kocht je vijf jaar geleden (zie screenshot hieronder) een willekeurige selectie alternatieve cryptocurrencies uit de top 10 dan kwam je er slecht vanaf: alleen bitcoin en litecoin doen nog mee, de rest is in vergetelheid geraakt. De verwachting is dat de honderden tokens als gevolg van ICO’s hetzelfde lot wacht. Belangrijker nog: geen van de honderden altcoins heeft bitcoin overtroffen. Bitcoin zelf? Die heeft precies gedaan wat men hoopte dat hun eigen unieke paradepaardje zou doen.

coinmarketcap

Bitcoin bestaat nu bijna 10 jaar. In deze 10 jaar heeft bitcoin geen grote blunders gemaakt, is altijd online geweest, en heeft zich bewezen als degelijk en betrouwbaar wereldwijd betaalsysteem. Deze reputatie, van 10 jaar trouwe dienst, een reputatie die essentieel is wil men grote hoeveelheden waarde toevertrouwen aan een dergelijk systeem, kan alleen overtroffen worden door een nieuw en beter systeem dat minstens even lang betrouwbaar heeft gebleken. Een praktisch onmogelijke opgave dus.

Nieuwe cryptocurrencies? Die zijn er zat. Betere? Discutabel. Betrouwbaar? Zelden. Ondertussen draait bitcoin rustig door en vordert de ontwikkeling gestaag. Het digitale geld van de toekomst is, net als het internet zelf, niet in één klap 'af' en wereldwijd populair. Geef het 20 jaar. Help mee aan het bouwen van dit systeem en zie de markt voor alternatieve cryptocurrencies aan voor wat het is: een casino.

Lightning Hackday Berlijn & de staat van Bitcoin

De technische innovaties binnen Bitcoin groeien in een hoog tempo door. Op 1 september 2018 was de derde LightningHackingDay in Berlijn en daarom een goede aanleiding om naast de staat van het Lightning Network ook de stand van zaken met betrekking tot Bitcoin te bekijken: wat is de huidige staat en welke ontwikkelingen kunnen we verwachten.

LightningHackday Berlijn kan gezien worden als een fundament voor het bouwen aan het Lightning Network: experimenteren met use cases en technische ontwikkelingen rondom het protocol worden besproken en bediscussieerd. Geïnteresseerde developers en wetenschappers uit de hele wereld komen hier bijeen om aan deze game-changing techniek te werken.

Verschillende sprekers vanuit de Lightning development waren aanwezig om dieper in te gaan op de technische ontwikkelingen. Er waren veel verschillende presentaties, in dit artikel bespreken we de twee belangrijkste van het weekend: Christan Decker en Jonas Nick (beide verantwoordelijk voor R&D activiteiten binnen Blockstream) behandelde twee belangrijke onderwerpen: Eltoo en Schnorr Signatures.

Eltoo

Christian Decker behandelde Eltoo in Berlijn. Eltoo is een technische upgrade voor het Lightning-protocol die door Rusty Russell, Olaoluwa Osuntokun en Christan Decker zelf is bedacht en uitgewerkt. Eltoo is een upgrade voor het Lightning Network die zorgt dat het huidige straf-mechanisme overbodig wordt. Deze upgrade heeft een elegante oplossing voor het (opzettelijk of onopzettelijk) misbruik maken van channel states (balansen van de channels). Hier is veel behoefte aan wanneer een node time-outs heeft of offline gaat door omstandigheden. De node/channel publiceert met behulp van Eltoo geen verkeerde status meer aan het (Lightning) netwerk. De impact van gerichte aanvallen of onbewuste fouten wordt hierdoor geminimaliseerd.

Deze techniek zou ook de noodzaak aan Watchtowers overbodig maken. Watchtowers streven hetzelfde doel na; misbruik van channel balansen tegengaan maar via een andere methode. Deze methode blijkt qua implementatie complex en o.a. daardoor is Eltoo al een verbetering. De Bitcoin en Lightning protocollen zijn open systemen en het staat daarom iedereen vrij om de implementatie te kiezen die men prefereert.

Eltoo heeft echter een aanpassing in het Bitcoin-protocol nodig (er dient een SIGHASH optie toegevoegd te worden aan het Bitcoin-script), middels een softfork. Op dit moment ligt er een voorstel om deze softfork aan Bitcoin toe te voegen. Naast peer-review van de code wordt er gediscussieerd over de voor- en nadelen van deze aanpassing.

decker

Schnorr Signatures zijn mindblowing

Jonas Nick gaf in Berlijn uitleg over Schnorr Signatures als implementatie voor het Bitcoin-protocol en welke voordelen het daarnaast oplevert voor de veiligheid en privacy van het Lightning Network. Het onderwerp van zijn presentatie was; "Increase Robustness". Dit onderwerp verwoord goed de kracht van Schnorr Signatures. Jonas geeft aan dat er door Schnorr nieuwe consensus regels worden toegevoegd aan het (Bitcoin) protocol en daardoor het netwerk robuuster wordt, met als grote voordelen; efficiëntie/optimalisaties (schaalbaarheid), verbeteren van privacy en flexibiliteit van het Bitcoin-script. Het moge duidelijk zijn: door de komst van Schnorr Signatures krijgt Bitcoin weer een extreem grote verbetering aan het protocol.

"Robustness" / Antifragile wordt primair bereikt door verbeteringen aan het Bitcoin-protocol op het gebied van veiligheid, privacy en consensus binnen de gemeenschap. Schnorr Signatures creëren naast verbeteringen aan de robuustheid ook meer flexibiliteit aan het betaalscript. Met andere woorden: het opent mogelijkheden voor allerlei nieuwe toepassingen. Een voorbeeld van nieuwe mogelijkheden zijn onder andere veilige geavanceerdere contracten zoals Merklized Abstract Syntax Tree (MAST) en "Scriptless scripts". Scriptless scripts is een veelbelovende cryptografische techniek die zorgt voor grote optimalisaties op het gebied van privacy en schaalbaarheid. Scriptless scripts zijn bekend van MimbleWimble. Schnorr Signatures creëren bovendien voordelen voor Atomic swaps, Taproot en Eltoo, zo gaf Nick aan in zijn presentatie.

nick

Privacy & Bitcoin

Censorship resistance is de eigenschap die een Blockchain een Blockchain maakt. Zonder Censorship resistance heb je geen Blockchain nodig. Met andere woorden: financiële soevereiniteit is essentieel voor een mondiaal geldsysteem. Bitcoin is decentraal met als doel dat niet een centrale partij of macht invloed kan uitoefenen op transacties. Elke transactie dient vrij van waardeoordelen (iedereen maakt gebruik van Bitcoin onder dezelfde voorwaarden: de identiteit mag niet van invloed zijn, het maakt niet uit wie je bent, waar je woont, welk geslacht je hebt of welk geloof je aanhangt, iedereen is gelijk) te zijn. Op deze manier is het lastig voor landen, bedrijven en/of machtige individuen om agenda's door te drukken die vooral in het eigen belang zijn.

Naast decentraliteit van het consensus-mechanisme (de full-nodes in het netwerk & Proof-of-Work) is anonimiteit een onmisbaar onderdeel van Censorship resitance. Op dit moment is de privacy slecht in Bitcoin. Transacties zijn te monitoren en kunnen daardoor individuen en/of instanties in gevaar brengen. Uiteraard, om criminele activiteiten tegen te gaan is het misschien een voordeel dat er transactie monitoring kan plaatsvinden. Maar dit creëert voor mensen die leven in landen of locaties waar veel corruptie is / de overheid corrupt is, monetaire onzekerheden (zoals geldontwaarding / hyperinflatie) zijn (bijvoorbeeld Argentinië, Venezuela, Turkije, Iran, China, Indonesië, Zimbabwe, ...) en/of Bitcoin verboden is, een groot risico. Geld wordt gebruikt door iedereen.

Financiële privacy is essentieel voor de vrijheid van een individu. Het is daarom goed om te zien dat er zoveel innovatie plaatsvindt op het gebied van privacy in Bitcoin. Een aantal van deze ontwikkelingen zijn;

In een recent artikel van Aaron van Wirdum op Bitcoin Magazine wordt een heldere uitleg en samenvatting gegeven omtrent alle bovenstaande ontwikkelingen.

Conlusies

Naar aanleiding van bovenstaande constateringen kunnen we concluderen dat er een aantal grote ontwikkelingen plaatsvinden die Bitcoin robuuster maken.

Schnorr Signatures & Lightning ontwikkelingen

Schnorr Signatures worden de nieuwe grote innovatie in Bitcoin en heeft qua impact veel overeenkomsten met de verbetering die Segrageted Witness veroorzaakte. Schnorr Signatures creëren veel verbeteringen en nieuwe mogelijkheden voor zowel Bitcoin als voor het Lightning Network. Verder blijft de groei van het Lightning Network sterk toenemen, een gezonde ontwikkeling.

State Lightning

Segregated Witness

Het gebruik van Segrageted Witness (SegWit) transacties blijft groeien, zie ook screenshot hieronder. Blocken van meer dan 1000KB zijn daardoor aan de orde van de dag. Gecombineerd met het Ligthning Network schaalt Bitcoin op dit moment uitstekend. Dit is ook terug te zien in de fees.

Het Lightning Network maakt bovendien allerlei nieuwe use cases mogelijk gebaseerd op microtransacties.

screenshotat

screenshotat

Blocken van meer dan 1000KB

Privacy ontwikkelingen

Privacy van Bitcoin-transacties is het belangrijkste onderwerp van dit moment. Er zijn veel ontwikkelingen rondom privacy die vanuit een wiskundige/cryptografische hoek worden benaderd. Onderbouwd door technische argumenten dus. Met de juiste visie en kennis zijn we op de goede weg om een veerkrachtig & robuust monetair geldsysteem te bouwen.

Mining ontwikkelingen

De centraliteit van mining is altijd een punt van aandacht. Bitmain leek geruime tijd een groot deel te bezitten van de rekenkracht van het netwerk en dit is zorgelijk. Echter zijn de laatste tijd steeds meer (nieuwe) spelers die de concurrentie met Bitmain aangaan. Dit is een gezonde ontwikkeling en zal bijdragen aan de decentraliteit van rekenkracht.

Een aantal voorbeelden van spelers en technieken die op de markt zijn gekomen of in de voorbereidende fase zijn;

  • Betterhash is een techniek (ontwikkelt door Core developer Matt Corello) die zorgt voor decentraler minen.
  • Samsung bouwt mining chips , een voorbeeld dat grote fabrikanten met veel specialistische kennis over het ontwikkelen van chips in deze markt stappen.
  • GMO Internet Group, een groot Japans internet bedrijf die veel resources besteed aan de ontwikkeling van Bitcoin mining chips.
  • Halong Mining, Hut8 Minging & Bitewei Whatsminer zijn start-ups die met veel specialistische kennis en kapitaal de markt betreden.
  • Bitfury's nieuwe ASIC chip

Kortom, Bitcoin blijft zich in snel tempo verbeteren, een zeer positieve ontwikkeling. Take control, Bitcoin!

"Lightning Berlin" by Matt Biddulph, used under CC BY / Desaturated from original

Bitcoin blaast nieuw leven in verlaten stad

Een spookstad waarvan het aantal inwoners van ruim 5000 afnam tot nog geen 100, lijkt wederopstanding te hebben gevonden door de komst van Bitcoin.

Ocean Falls, een kleine stad in het westen van British Columbia en alleen bereikbaar per boot of vliegtuig, werd gedreven door de plaatselijke papierfabriek. Nadat de fabriek zijn deuren sloot, liep het stadje leeg en werd het er stil. Daar lijkt nu verandering in te zijn gekomen, nu de fabriek weer geluid produceert. Het geluid van honderden kleine ventilatoren.

De komst van deze ventilatoren, die vastzitten aan machines die bitcoins minen, is te danken aan de aanwezigheid van een stuwdam. De dam kan door de kracht van het stromende water 13 megawatt elektriciteit opwekken. Er werd slechts een fractie van dit vermogen gebruikt door de omwonenden, waardoor energie beluste industrie maar al te graag het overschot af wilden nemen. Geen onbekend fenomeen; op afgelegen plaatsen in China doken ook bitcoinmines op, daar waar er een overcapaciteit aan opgewekte elektriciteit was. Hierdoor gaat de overcapaciteit dus niet verloren.

wwwtrujillonlonesomecowboy

Waar de afgelegen en ruige condities van Ocean Falls veel bedrijven afschrikken, bleek dit ideaal te zijn voor bitcoinminers. Na twee en een half jaar samen te hebben gewerkt met de operationeel manager van de beheerder van de oude fabriek, om deze weer gebruiksklaar te krijgen, heeft Kevin Day afgelopen juli de eerste miners aan kunnen zetten.

Het hele verhaal over Ocean Falls en de missie van Day voor het opzetten van een bitcoinmine lees je hier.

Mining, hoe zit het eigenlijk?

We hebben eerder geschreven over de rol van proof-of-work in bitcoin en hoe het digitale schaarste creëert door energie om te zetten in hashes. Maar waar werkt al die rekenkracht precies aan?

Het doel van proof-of-work is het genereren van een stukje data dat moeilijk is om na te maken maar makkelijk voor anderen om te verifiëren. Het produceren van een geldig stukje proof-of-work, een geldige hash, is een willekeurig proces. Hierdoor valt er geen algoritme te bedenken dat sneller of slimmer de oplossing kan vinden. Een geldig proof-of-work is een waarde die lager is dan het huidige target. In dit artikel leggen we uit hoe dit in elkaar steekt.

We hashen erop los

Het zijn termen die al vaker zijn langsgekomen: hashen, een hash, hashes en hashfuncties. Een hashfunctie is een algoritme dat, gegeven een bepaalde input, een unieke output genereert. Vanuit de gegenereerde output kan niet terug berekend worden wat de input was, maar het is wel mogelijk om, gegeven de input, te controleren dat de eerder getoonde output klopt door het algoritme nogmaals uit te voeren met de input. In dit geval is de unieke output een hash.

Het hashen van data is een veelgebruikt principe dat overal in de computerwetenschap terug te vinden is. Je gebruikt het, op de achtergrond, ook dagelijks bij het browsen op het internet. Wanneer je bijvoorbeeld een nieuw wachtwoord aanmaakt, dan wordt deze gehashed opgeslagen; geheel onherkenbaar. Hierdoor kan de partij waarbij jij jouw wachtwoord opslaat jouw wachtwoord niet zien en kan een potentiële hacker er niet zomaar met jouw wachtwoord vandoor gaan.

miningscreencap

De gecombineerde rekenkracht van het bitcoinnetwerk (hierboven en hier) is geheel bezig met het uitvoeren van een enorme hoeveelheid aan hashes. Dit wordt gedaan door gespecialiseerde hardware, hier te zien. Dit doen zij teneinde het vinden van een geldige hash van een block, waardoor zij de beloning van vers aangemaakte bitcoins kunnen claimen. Een geldige hash is er een die voldoet aan een aantal voorwaarden.

Doelwit?

De belangrijkste van deze voorwaarden is het vinden van een waarde die lager is dan het huidige target. Het huidige target is een indicatie van de huidige moeilijkheidsgraad. We kunnen dit het beste uitleggen aan de hand van een simpel voorbeeld.

We gaan een simpel stukje data hashen met het SHA-256 algoritme, een veelgebruikt algoritme en tevens het algoritme dat de bitcoinminers gebruiken. De data die we gaan hashen is de zin "Hello, world!" en het beoogde target dat we onszelf stellen is het vinden van een hash die begint met vier nullen. Je zou dus kunnen zeggen dat de moelijkheidsgraad "4" is. Wanneer we de zin simpelweg een keer hashen komt er de volgende reeks uit:

315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3

Helaas, deze begint niet met vier nullen. Maar wat kunnen we nog doen om deze hash te veranderen? Elke input heeft echter maar één unieke output. Bitcoin gebruikt hiervoor een nonce, dit is een gewoon getal dat toegevoegd wordt aan de originele data. Bijvoorbeeld: "Hello, world!1". Door een willekeurig getal toe te voegen verandert de hash volledig:

e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8

Helaas levert dit wederom geen hash die begint met vier nullen op. We zullen het getal moeten veranderen en het nogmaals moeten proberen, dit doen we door systematisch het getal op te hogen; "Hello, world!2", "Hello, world!3", … , "Hello, world!500", enzovoorts. Dit doen we totdat we de gewenste hash tegenkomen. In dit geval moeten we het getal ophogen tot en met 4250. De data "Hello, world!4250" geeft de hash:

0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9

Nu hebben we ons doel bereikt. Het vinden van een geldig proof-of-work in bitcoin werkt vrijwel hetzelfde, alleen is de ingegeven data anders en verandert het target regelmatig.

Eens per 10 minuten

De data die bij het minen gebruikt wordt om de geldige hash te berekenen is de data die in het huidige block gaat en dus uniek. Onderdeel van deze data is de hash van het vorige block. Hierdoor is het dus niet mogelijk om vast een voorsprong te nemen en vast vooruit te rekenen aan het volgende block. Er moet gewacht worden tot de oplossing van het laatste block bekend is voordat de miners kunnen beginnen met het volgende block. Dit helpt om de boel eerlijk te houden.

De moeilijkheidsgraad van het vinden van een geldige hash is zodanig dat het gemiddeld 10 minuten duurt voor de volgende oplossing gevonden wordt. Maar wat nu als een miner heel veel extra rekenkracht toevoegt aan het netwerk, dan wordt de oplossing toch veel sneller gevonden? Dit zou inderdaad het geval zijn. Als oplossing hiervoor is de moeilijkheidsgraad zo ontworpen dat deze zichzelf automatisch aanpast aan de hoeveelheid rekenkracht in het netwerk.

Is er veel rekenkracht in het netwerk waardoor de oplossingen gemiddeld sneller dan eens per 10 minuten gevonden worden, dan wordt de moeilijkheidsgraad verhoogd. Dit gebeurt eens per 2016 blocks, ongeveer elke twee weken. Bij het verhogen van de moeilijkheidsgraad wordt het target verlaagd. Dit wil zeggen dat de waarde van de hash die gevonden moet worden kleiner wordt gemaakt. Waar dit voorheen in ons voorbeeld vier nullen was, wordt het target nu een hash die begint met vijf nullen. Hierdoor moeten er weer een stuk meer pogingen gedaan worden voordat de geldige oplossing gevonden wordt. Op dezelfde manier kan de moeilijkheidsgraad verlaagd worden. Wanneer er minder rekenkracht in het netwerk is dan voorheen, dan wordt het target verhoogd van bijvoorbeeld een hash die begint met vijf nullen terug naar een hash die begint met vier nullen.

Op deze manier wordt het vinden van een nieuwe block beperkt tot gemiddeld eens per 10 minuten. Dit is van belang om onder andere mining eerlijk te houden voor alle deelnemers, maar ook om te zorgen dat de rest van het netwerk de tijd heeft om de meeste recente blocks te ontvangen en te verwerken. Er wordt zo voorkomen dat sommige deelnemers in het netwerk op achterstand komen en deze wellicht niet meer in kunnen halen.

Eitje, toch?

Nogmaals in het kort: men neemt de data voor het volgende block, de hash van het laatste block en begint deze te hashen in combinatie met een extra getal dat bij elke poging stapsgewijs ophoogt. Wanneer de hash gevonden is met het juiste aantal nullen, op dit moment 18 nullen, is het recht om verse bitcoins te claimen gewonnen en gaan alle miners aan de slag met het volgende block. Doordat de hash van het laatste block steeds wordt opgenomen in het volgende block ontstaat er een ketting van hashes: de blockchain.

Dat minen? Simpel gokwerk dus, gebaseerd op willekeur en een geheel zelfregulerend systeem waar geen mens invloed op heeft. Misschien niet het interessantste onderdeel van bitcoin, met al die hashes en andere technische termen, maar tegelijkertijd van grote impact op bitcoin als geheel.

Het belang van achterwaartse compatibiliteit

Eerder schreven we kort over het verschil tussen een hard fork en een soft fork en het belang van het voorkomen van een hard fork. Dit alles staat in het teken van het behouden van de achterwaartse compatibiliteit.

Niet zomaar buitengesloten

Wanneer iemand er voor kiest mee te doen met bitcoin, dan gaat men akkoord met de regels van het protocol. Deze regels kunnen vervolgens niet zomaar gebroken worden, want dit zou betekenen dat een deel van de gebruikers ineens niet meer mee kunnen doen of ineens deel uitmaken van een systeem van afspraken waar zij het niet mee eens zijn.

Het 'upgraden' van bitcoin is daarom lastig: sommige nieuwe features die men graag toegevoegd ziet kunnen gevolgen hebben voor de regels die in het verleden zijn afgesproken. Zo komt het bij een gedwongen upgrade, een hard fork, voor dat iemand die ervoor kiest een nieuwe feature niet te gebruiken niet meer mee kan doen in het systeem. Bij een systeem als bitcoin moet dit voorkomen worden, omdat het schade toericht aan de betrouwbaarheid en stabiliteit van bitcoin.

Als opfrisser, even snel het verschil tussen een hard fork en een soft fork. Bij een upgrade via hard fork worden de bestaande regels uitgebreid, de nieuwe regels vallen dus niet binnen de huidige afspraken. Dit zorgt voor een breuk in de achterwaartse compatibiliteit. Bij een upgrade via soft fork word er binnen de bestaande regels geopereerd. Hiermee wordt de achterwaartse compatibiliteit behouden.

Een andere manier van ontwikkelen

Er wordt daarom in de ontwikkeling van bitcoin veel moeite gedaan om nieuwe toevoegingen zoveel mogelijk zodanig te implementeren dat een upgrade optioneel is; via een soft fork. Door de upgrade optioneel te maken wordt er niemand buitengesloten. Er kan niet verwacht worden dat men de nieuwste versie van 'de regels’ download voordat zij verder gaan. Tevens kan er niet verwacht worden dat iedereen het zomaar eens is met nieuwe regels. Een bitcoin is een bitcoin, en de definitie daarvan moet vandaag hetzelfde zijn als over 100 jaar. Door het toepassen van een conservatief beleid is het vandaag mogelijk om je wallet of node van vijf jaar geleden te openen en een transactie uit te voeren. Deze wordt zonder problemen geaccepteerd door het bitcoinnetwerk.

Zij die gebruik willen maken van de nieuwe feature kunnen dat en zij die dit niet willen kunnen gewoon doorgaan met het doen van betalingen zoals zij dit altijd hebben gedaan. Een voorbeeld van een dergelijke vrijwillige upgrade is de segregated witness soft fork, waar tot op heden ongeveer 40% van de transacties gebruik van maakt. De andere 60% heeft geen hinder ondervonden. Wanneer segregated witness doorgevoerd was als hard fork, dan zouden er dus twee verschillende blockchains ontstaan zijn met elk hun eigen regels. Het doorvoeren van upgrades middels een hard fork zorgt dus voor een reeks eindeloze splitsingen van het netwerk.

segwit

Veiligheid, decentraliteit en weerbaarheid voorop

Wanneer er gedebatteerd wordt of een verandering wel of niet doorgevoerd moet worden gaat dit debat vaak niet eens geheel over de verandering zelf, maar over het behouden van achterwaartse compatibiliteit. Als het toevoegen van een bepaalde feature ten koste gaat van de achterwaartse compatibiliteit, dan wordt er gekozen voor het behouden van de achterwaartse compatibiliteit.

Wanneer dit niet gedaan wordt kunnen oude versies van de software zich niet meer verenigen met het huidige netwerk en worden de regels die nieuwe software aanhoudt als ongeldig gezien door de oude software. Een systeem waarbij dat mogelijk is, is geen stabiel platform om een wereldwijd betaalmiddel op te draaien. Alleen wanneer het écht noodzakelijk is dat een verandering door wordt gevoerd wordt een hard fork overwogen. Bijvoorbeeld als blijkt dat de huidige cryptografie niet meer veilig is en deze vervangen moet worden.

Daarnaast zou de mogelijkheid tot het doorvoeren van een verandering die de achterwaartse compatibiliteit breekt gevoelig zijn voor allerlei invloeden van verschillende partijen met verschillende belangen: het maakt bitcoin kwetsbaar. Wie bepaalt welke verandering gedwongen doorgevoerd wordt? In een decentraal systeem als bitcoin is hier geen autoriteit voor. Alleen het netwerk als geheel kan een verandering doorvoeren.

Het voeren van een beleid waarbij de achterwaartse compatibiliteit koste wat kost behouden wordt komt wellicht over als een rigide beleid voor een softwareproject, maar het dient als manier om het project te coördineren zonder dat het project kwetsbaar wordt voor overname door een enkele partij. Hiermee wordt de continuïteit van bitcoin gegarandeerd.