Er zullen dan denk ik na verloop van tijd een aantal datacentrums op de wereld Bitcoin in de lucht houden wat weer niet echt decentraal is.
Als Bitcoin door elk bedrijf in de wereld gebruikt wordt, dan is het toch juist een stuk decentraler dan nu? Momenteel zijn het voornamelijk miners die nodes draaien en hobbyisten. Hobbyisten om resendiensiel verbindingen zijn een stuk eenvoudige te censureren dan een bedrijf met een server op een internet exchange. Daar kun je uit 20 peering partners kiezen, als er eentje je verbinding gaat cencureren kies je een andere. Een residentiele gebruiker heeft soms maar een bedrijf waar ze internet kunnen krijgen.
Wanneer elke bedrijf in de wereld Bitcoin betalingen accepteert dan hebben die allemaal een full node nodig. Particulieren draaien SPV clients. Bitcoin bied nu juist een betaal systeem aan waar de kosten door het hele netwerk gedragen worden en de individuele kosten dus lager kunnen zijn dan bij de huidige betaal systemen. Als Bitcoin die eigenschap niet heeft, dan is het geen oplossing voor het probleem dat het probeert op te lossen.
Handel op het internet vertrouwt vandaag de dag bijna uitsluitend op financiële instellingen die dienst
doen als vertrouwde derde partijen bij het verwerken van elektronische betalingen. Terwijl dit systeem
goed genoeg werkt voor de meeste transacties, lijdt het nog steeds onder de inherente zwakke plekken
van het op vertrouwen gebaseerde model. Compleet onomkeerbare transacties zijn niet echt mogelijk,
sinds de financiële instituties het niet kunnen vermijden om te bemiddelen bij disputen. De kostprijs
van deze tussenkomsten verhoogt transactiekosten, beperkt de minimum praktische transactiegrootte
en de mogelijkheid om kleine losse transacties te plegen. Daarnaast is er een bredere kost bij het
verliezen van het maken van onomkeerbare betalingen en onomkeerbare diensten. Met de
mogelijkheid voor een terugboeking, vergroot de nood voor de vertrouwensfactor. Verkopers moeten
op hun hoede zijn voor hun klanten, en hen lastigvallen voor meer informatie dan ze anders zouden
nodig hebben. Een zeker percentage aan fraude wordt aanvaard als onvermijdelijk. Deze kosten en
onzekerheden bij betalingen kunnen worden vermeden wanneer iemand in persoon fysieke valuta
gebruikt, maar er bestaat geen enkel mechanisme om betalingen te maken via een communicatiekanaal
zonder een vertrouwde partij.
Maar de vraag is, moet je perse élke transactie voor eeuwig op willen nemen in de blockchain? Elk ijsje wat iedereen koopt, elke zak chips die over de toonbank gaat, etc. Moet dat forever een eeuwig vast gelegd worden in de blockchain?
Maar hier presenteer je opnieuw een fout beeld van hoe Bitcoin werkt. De chain kan gepruned worden en hoeft niet door elke node voor eeuwig opgeslagen te worden.
Naast pruning kunnen er ook merkle trees worden toegepast. De details van de betalingen gaan dan verloren maar er is wel bewijs dat ze hebben plaats gevonden. Er kan prima een markt komen voor archival nodes, waar hoe langer geleden een transactie heeft plaats gevonden, hoe duurder de prijs zal zijn om de details daar van op te vragen. Je krijgt dan binnen het systeem verschillende buffers. 10 - 20 jaar zal door meer nodes worden aangeboden dan 50 - 100 jaar.
Zodra de laatste transactie in een munt begraven is onder genoeg blokken, kunnen de bestede
transacties weggegooid worden om schijfruimte te besparen. Om dit gemakkelijker te maken zonder
de hash van een blok te breken, worden transacties gehasht in een Merkle Boom [7] [2] [5], met enkel
de wortel (root) opgenomen in de hash van het blok. Oude blokken kunnen dan compacter gemaakt
worden door het kappen van de takken van de boom. De binnenste hashes hoeven niet opgeslagen
worden.
(Transacties gehasht in een Merkle Boom) (Na Tx0-5 te snoeien van het blok)
Een blok header zonder transacties zou rond de 80 bytes zijn. Als we veronderstellen dat blokken elke
tien minuten gegenereerd worden, dan is 80 bytes * 6 * 24 * 365 = 4.2 MB per jaar. Met
computersystemen die doorgaans 2 GB RAM hebben sinds 2008 en de Wet van Moore die een huidige
groei van 1.2 GB per jaar voorspelt, zou de opslag geen probleem mogen zijn zelfs als de blok headers
in het geheugen zouden moeten worden bewaard.
an vind ik de techniek van Lightning Network toch wel interessanter: Jij en ik openen samen een soort wallet die we samen versleutelen. We doen er allebei 1 bitcoin in en vervolgens kunnen wij miljarden keren, instant(!) iets uitwisselen met elkaar, maar er blijft altijd 2 bitcoin in die wallet zitten. Als 1 van ons de wallet opheft wordt de balans van dan (jij 1.75btc, ik 0.25btc bijv) verwerkt op de blockchain. Voila, alles wat wij onderling uitgespookt hebben doet niet ter zake. Er zijn van de miljarden transacties die wij hebben gedaan maar 4 transacties die de blockchain moet verwerken, het erop zetten en eraf halen.
Het probleem met het verhuizen van on chain transacties naar off chain transacties is dat de beveiliging van het netwerk dan niet in stand te houden is.
Miners worden op twee manieren betaald voor de beveiliging die ze aan het netwerk geven.
- Generation reward, ook wel block reward genoemd. Dit zijn de Bitcoins die een miner in de eerste tx in een blok aan zichzelf geeft nadat hij het lucky nummer heeft gevonden. Dit gebeurd gemiddeld ellke 10 minuten maar de hoeveelheid coins die een miner zichzelf mag geven halveert elke 4 jaar. Momenteel hebben we 50 coins gehad, toen 25 en nu zitten we bij 12,5.
- De fees die aan transacties gekoppelt worden.
Vermits de opbrengensten van generation reward steeds minder zullen worden, moeten de opbrengsten van de fees dus omhoog. Gebeurd dit niet dan zullen miners uiteindelijk stoppen met minen want ze verdienen niks meer en verdwijnt de beveiliging van het netwerk. Het is onrealistisch om te denken dat de waarde van een Bitcoin na elke halvering zal verdubbelen tot einde der tijden.
Om de ombrengsten van de fees hoger te krijgen zijn er maar twee mogelijkheden.
- Aantal transactie laten groeien aan de hand van de vraag, de fees blijven constant.
- Het aantal transacties inperken, de fees moeten dan omhoog.
Als je het aantal transacties inperkt dan moeten de fees dus omhoog en als dat gebeurt dat zal er meer en meer centralisatie in het netwerk komen omdat minder en minder mensen het zich kunnen veroorloven om rechtstreeks Bitcoin te gebruiken.
Het idee om de on chain groei van Bitcoin dus te beperken en alle verdere groei op het Lightning Network te doen is dus niet realistisch.
Wat wel realistisch is, en ook een stuk vrijer. Is om zo wel on chain groei als off chain groei te hebbben. Dit is de aanpak van Bitcoin Cash, zoals die ook beschreven staat in de white paper en zoals Satoshi ook altijd heeft duidelijk gemaakt dat het systeem zo werkt.
Er zijn al verschillende off chain oplossingen voor Bitcoin Cash, iedereen kan er zelf eentje maken. Maar on chain gebruik moet betaalbaar blijven voor elke persoon, anders verdwijnt het decentrale character.
Daarbij bied het Lightning Network niet dezelfde gebruiks vriendelijkheid aan als on chain transacties.
Bij LN moet je om geld te kunnen ontvangen online zijn. Bij onchain hoef je niet online te zijn om geld te ontvangen.
Bij LN zijn je private keys dus altijd via het internet te benaderen. Bij on chain kun je een cold wallet systeem hebben.
Bij on chain moet je alleen maar je private keys veilig houden en er kan geen geld van je gestolen worden zolang het netwerk uit eerlijke miners bestaat. Bitcoin werkt vanuit socio economisch redenen omdat de regels van het netwerk magnitudes meer financieel voordeel oplevert dan het aanvallen van het netwerk.
Bij LN moet je continue monitoren want als de entities waarmee je je channels hebt geopend een oudere channel state broadcasten moet je node daarom antwoorden.
Bij LN moet elke gebruiker, zelf een persoon die maar een keer per week een betaling doet een node draaien en deze node moet zijn channel continue in te gaten houden.
Dus geen zware load voor de blockchain, geen achterlijk grote block sizes en instant payments. Het valt of staat imho alleen bij de implementatie van die wallets. Alles moet op de achtergrond uitgevoerd worden zodat niemand daar iets van ziet.
Het klinkt goed maar dit zijn de denkfouten.
Zware load voor de blockchain is helemaal niet zwaar, zelfs met 20 jaar oude hardware kun je momenteel tussen twee blokken in alle transactie verifieren.
Achterlijke blocksizen zijn helemaal niet achterlijk, zo is het systeem nu eenmaal ontworpen. Het is echt geen probleem bedrijven om elke jaar een TB aan data vol te schrijven.
En LN is gewoon geen vervanging voor on chain, wel een aanvulling.
De technologie van LN is bruikbaar wanneer er een groot aantal microtransacties tussen twee bedrijven gedaan word, die elkaar semi vertrouwen. Gaat er iets mis dan kan een van de twee zich terug trekken en een settlement actie on chain doen.
LN word flink misbruikt door Bitcoin Core, die heel erg veel misinformatie verspreiden over hoe Bitcoin nu precies werkt.
LN en andere off chain systemen zijn ook prima mogelijk bij Bitcoin Cash. Yours.org voordat ze overschakkelden naar Bitcoin Cash en alles on chain gingen doen hadden zelf al een vergelijkbare routed mictro transactie systeem gebouwd dat geen segwit nodig had om tx malleability op te lossen.
LN heeft ook nog een routerings probleem. Als je weet hoe LN werkt dan weet je dat het werkt met door geef stapjes. Als ik bijvoorbeeld een betaling van 10 dollar wil routeren dan moet elke kanaal waarover ik routeer minstens 10 dollar groot zijn.
Door die eigenschap zul je dus op LN automatisch een situatie krijgen waar er een kleiner aantal kanalen zijn die een grote liquiditeit hebben waar dan heel erg veel nodes een kanaal mee openen.
Dit is dan LN centralisatie.
Nee, de toekomst van Bitcoin is Bitcoin met een grotere blocksize die zowel of chain als on chain toe laat.