Bitcoinin lohkokokokiista – Mistä siinä on kysymys?

Niin kutsuttu lohkokokokiista on aiheuttanut suuren määrän keskustelua Bitcoin-käyttäjien ja Bitcoinista kiinnostuneiden keskuudessa. Se on myös aiheuttanut pelkoa ja epävarmuutta. Mistä oikein on kysymys, ja mikä on kiistan tilanne tällä hetkellä? Tässä artikkelissa perehdymme aiheeseen.

Aloitetaan perusasioista. Kaikki Bitcoin-siirrot talletetaan yhteiseen kirjanpitoon, jota kutsutaan lohkoketjuksi. Lohkoja luodaan ja liitetään lohkoketjuun keskimäärin 10 minuutin välein.

Bitcoin-protokollassa on sisäänrakennettu sääntö, joka rajoittaa yhden lohkon korkeintaan 1 megatavun kokoiseksi. Tämä sääntö otettiin aikanaan käyttöön eräänlaisena turvana tietynlaisia palvelunestohyökkäyksiä vastaan, mutta jo silloin ymmärrettiin, että rajaa täytyy joskus tulevaisuudessa nostaa.

Ongelman ydin on se, että 1 megatavun maksimikoosta johtuen Bitcoin-verkko kykenee tällä hetkellä käsittelemään käytännössä korkeintaan 3 siirtoa sekunnissa. Se on kohtalaisen vähän, kun verrataan esimerkiksi PayPaliin, joka käsittelee noin 60 siirtoa sekunnissa tai VISA-verkkoon, joka käsittelee parhaimmillaan tuhansia siirtoja sekunnissa.

Bitcoin-verkon käyttöaste on kasvanut vuosi vuodelta. Tällä hetkellä Bitcoin-siirtoja tehdään keskimäärin 1,2 kappaletta sekunnissa (kesäkuussa), mutta Bitcoinin käyttö lisääntyy kokoajan. TradeBlockin analyysin mukaan 1 megatavun raja saavutetaan vuoden 2016 loppupuolella, mutta ongelmia alkaa näkyä jo vuoden 2016 puolivälissä.

Lohkojen täyttyminen johtaa siihen, että käyttäjien siirrot hidastuvat ja/tai kallistuvat. Kaikkien käyttäjien siirrot eivät mahdu seuraavaan lohkoon, ja jos haluaa oman siirtonsa vahvistuvan yhteiseen kirjanpitoon nopeasti, täytyy siitä maksaa lisää. Bitcoin-verkon ajoittaista ruuhkaantumista nähdään jo nyt, vaikka käyttöaste ei ole vielä lähellekään 100%.

Tämä ongelma ei ole välttämättä katastrofi, mutta se heikentää Bitcoinin käytettävyyttä. Mitä enemmän siirtoja on, mitkä eivät mahdu seuraavaan lohkoon, sitä ongelmallisemmaksi tilanne menee.

Ongelman ratkaiseminen

Tästä ongelmasta on keskusteltu Bitcoin-yhteisössä jo useita vuosia. Ongelman lievempään versioon on törmätty aiemminkin. Vuonna 2013 Bitcoin-verkko alkoi törmätä 250 kilotavun lohkorajaan, koska louhijat oli ohjelmoitu tekemään enintään niin isoja lohkoja. Verkko ruuhkaantui välillä pahasti. Lopputuloksena louhijat alkoivat kiinnittämään huomiota siihen, miten he rajoittavat luomiensa lohkojen kokoa. Nykyään pääosalla louhijoista on raja 750 kilotavun ja 1 megatavun välissä.

Ratkaisu oli helppo, koska se vaati ainoastaan sen, että louhijat päivittävät omia ohjelmistojaan. Nykyinen ongelma on erilainen – Bitcoin-protokollan säännöt kieltävät yli 1 megatavun lohkot. Tämän muuttaminen vaatii kaikkien Bitcoin-palveluiden ja Bitcoin-lompakoiden päivittämistä – ei pelkästään louhijoiden.

Pintapuolisesti tarkasteltuna ratkaisu näyttää päivänselvältä. Nostetaan lohkon maksikokoa, ja asia on sillä selvä. Tämä ratkaisu on kuitenkin jakanut Bitcoin-kehittäjien mielipiteitä, eikä päätöstä asiasta ole saatu aikaan.

Osa Bitcoin-kehittäjistä on pitänyt lohkokoon nostoa ongelmallisena ja riskialttiina muutoksena. Lisäksi Bitcoin-protokollan sääntömuutoksia pidetään ylipäätään enemmän tai vähemmän riskialttiina, koska niissä on se riski että Bitcoin-verkko jakautuu kahteen osaan, jotka eivät ole keskenään yhteensopivia.

Keskeisin kiistakapula kietoutuu ominaisuuteen, joka erottaa Bitcoinin sitä edeltäneistä maksuverkoista. Nimittäin siihen, että kenenkään ei tarvitse luottaa, että jokin kolmas osapuoli tekee asiat oikein, vaan jokainen voi itse tarkistaa, että asiat tehtiin oikein. Kun puhutaan Bitcoinin “hajautustasosta”, kyse on tästä.

Mikäli verkossa aletaan käsittelemään kooltaan suurempia lohkoja, tämän tarkistamisen kustannukset nousevat ennen pitkää niin isoksi, että yksittäiset ihmiset eivät siihen enää kykene. Tällaisessa tilanteessa tarkistaminen jää kolmansille osapuolille ja Bitcoinin etu perinteisiin järjestelmiin verrattuna pienenee. Tämä on kriitikoiden huolenaihe #1.

Toinen huolenaihe liittyy Bitcoin-verkon pitkän tähtäimen turvallisuuteen. Se ei ole kriitikoiden keskuudessa yhtä keskeinen huolenaihe kuin hajautustaso, mutta silti tärkeää ottaa esiin.

Kyse on siitä, että Bitcoin-verkkoa ja sen turvallisuutta rahoitetaan tällä hetkellä pääasiassa luomalla lisää bitcoineja. Louhija saa 25 uutta bitcoinia palkkioksi lohkon luomisesta. Mutta tämä on väliaikaista – lohkopalkkio puolittuu 4 vuoden välein ja ennen pitkää verkon turvallisuus rahoitetaan pelkästään siirtokuluilla.

Joidenkin mielestä lohkokokoa pitäisi keinotekoisesti rajoittaa, jotta saamme aikaan siirtokulumarkkinan, jonka avulla Bitcoin-verkon turvallisuus olisi jatkossakin taattu.

Lisäksi monet kehittäjistä (ja tämän allekirjoittaa myös lähes kaikki lohkokoon nostoa kannattavat kehittäjät) ovat sitä mieltä, että Bitcoinin lohkoketjumalli ei yksinkertaisesti ole suunniteltu käsittelemään jokaista kahvikuppiostosta, vaan tarvitaan muitakin ratkaisuja Bitcoinin rinnalle, mitkä kykenevät skaalaamaan Bitcoinin VISA-verkon siirtomääriin. Yksi potentiaalinen ratkaisu on tekeillä, ja sitä kutsutaan salamaverkoksi (Lightning Network). Myös rinnakkaisketjuja on ehdotettu ratkaisuksi.

Salamaverkko on erittäin lupaava tapa skaalata Bitcoin-järjestelmää, mutta siinä on yksi olennainen ongelma – se ei ole käyttövalmis. Rinnakkaisketjut ja salamaverkko eivät kykene ratkaisemaan Bitcoinin skaalaamista lyhyellä tähtäimellä. Bitcoinin siirtokapasiteetin rajallisuus taas on todellinen, kasvava ongelma.

Bitcoin XT

Väittely lohkokoon nostamisesta on kiihtynyt tänä vuonna aivan uusiin mittoihin. Bitcoinin käyttöaste kasvaa jatkuvasti, ja päätöstä lohkokoon nostamisesta ei ole saatu aikaan lukuisista yrityksistä huolimatta. Kehittäjien keskuudessa on käyty paikoittain aika tunteellistakin väittelyä siitä, miten kiireellinen lohkokoon nosto on, tulisiko sitä tehdä ylipäätään, ja jos tehdään, niin miten ja millä tavalla.

Keväällä 2015 käydyt väittelyt olivat eräille kehittäjille viimeinen pisara. Väittely sai täysin uuden käänteen, kun vuodesta 2010 saakka Bitcoinin kehityksessä mukana olleet veteraanikehittäjät Gavin Andresen ja Mike Hearn kyllästyivät paikallaan pyöriviin väittelyihin, ja päättivät viedä keskustelun laajemmaksi tekemällä käytännön toteutuksen lohkokoon nostamisesta. He päättivät lisätä lohkokoon nostoon tähtäävän päivityksen Hearnin ylläpitämään vaihtoehtoiseen versioon Bitcoin Coresta, mikä kulkee nimellä Bitcoin XT.

Andresen ja Hearn ovat vahvasti sitä mieltä, että lohkokokoa voidaan nostaa paljonkin ilman, että Bitcoinin hajautustaso heikkenee vakavasti. He ovat sitä mieltä, että Bitcoinin lohkoketjun turvallisuus tulisi pitkällä tähtäimellä turvata suurella määrällä pienen siirtokulun maksuja, ei niinkään keinotekoisella siirtokulumarkkinalla, jota pidettäisiin yllä keinotekoisen pienellä lohkokoolla. He eivät myöskään pelkää Bitcoinin protokollasääntöjen päivittämistä, vaan pitävät sitä olennaisena Bitcoinin kehityksen kannalta.

Ongelman teknistä ratkaisua varten Gavin Andresen kehitti menetelmän nostaa lohkokokoa, mikä kulkee koodinimellä BIP 101. Andresenin ehdotus nostaisi lohkokoon ensin 8 megatavuun, jonka jälkeen se kasvaisi tasaisesti tuplautuen kerran kahdessa vuodessa. Lohkokokoon maksimi kasvaisi vuoteen 2036 saakka (20 vuoden ajan), jonka jälkeen se jäisi 8 gigatavuun.

Andresen yritti ensin saada BIP 101 -implementaatiota Bitcoin Coreen, joka on Bitcoinin referenssitoteutuksen nimi. Ehdotus ei saanut hyväksyntää Bitcoin Coren kehittäjätiimin keskuudessa. Bitcoin XT on yksi BIP 101:n sisältävistä Bitcoin-toteutuksista. Bitcoin XT sisältää muitakin muutoksia kuin tämän, mutta ne eivät liity lohkoketjun sääntöihin.

Bitcoin XT:n julkaisu sai paljon pelkoa aikaan Bitcoin-käyttäjissä ja jopa kurssilaskua, mutta tässä kohtaa täytyy todeta, että kärpäsestä on tehty härkänen. Bitcoin XT on protokollan nykyisten sääntöjen kanssa täysin yhteensopiva ohjelmisto. Andresenin kehittämä lohkokoon nosto on säädetty toimimaan niin, että se tulee käyttöön vain jos Bitcoin-verkon louhintatehosta vähintään 75 % luo kyseiseen päivitykseen pohjautuvia lohkoja.

Mahdollisuus kilpailevan Bitcoin-ohjelmiston julkaisemiseen on aina ollut olemassa. Kuka tahansa voi sen tehdä, koska Bitcoin on avointa lähdekoodia. Se on Bitcoin-käyttäjien tapa valita mitä sääntöjä he kannattavat, ja sillä varmistetaan Bitcoinin todellinen, aito demokratia. Kenelläkään, edes kehittäjätiimillä, ei ole absoluuttista valtaa Bitcoinin sääntöihin, ja se on hyvä asia.

Tällä hetkellä Bitcoin XT:n kannatus on marginaalista, ja se elää rauhanomaista yhteiseloa Bitcoin Coren kanssa. Täysin rauhanomaista Bitcoin XT:n alkutaipale ei tosin ole ollut, sillä Bitcoin XT:n käyttäjiä kohtaan on havaittu viime viikkoina palvelunestohyökkäyksiä. Eli jokin taho / henkilö yrittää saada niitä pudotettua pois verkosta.

Tällä hetkellä Bitcoin-verkon ohjelmistoista noin 11 % on Bitcoin XT -ohjelmistoja, ja 89 % ovat Bitcoin Coreen perustuvia. Verkon louhintatehosta alle 1 % luo Bitcoin XT:hen perustuvia lohkoja (lohkokoon noston käyttöönoton kannalta vain louhijoiden osuudella on merkitystä). Tämä tilanne ei ole yllättävä, koska Bitcoin XT on radikaali uusi asia, johon kestää hetki tottua, ja suurin osa vain seuraa tilannetta sivusta eivätkä halua valita asiassa puolia.

Paras ratkaisu tähän tilanteeseen onkin se, että yhteisö löytää tavan skaalata Bitcoinia, johon kaikki ovat enemmän tai vähemmän tyytyväisiä.

Tilanne nyt

Bitcoin XT:n julkaisun aiheuttama alkushokki on pitkälti laantunut, ja keskustelu on siirtynyt Bitcoin-verkon potentiaalisesta jakautumisesta oikeastaan täysin itse asiaan, eli lohkokoon nostamiseen.

Viimeisimmissä keskusteluissa mikään osapuoli ei ole enää esittänyt sellaista kantaa, että lohkokokoa ei pitäisi nostaa. Kaikki keskustelu keskittyy siihen, miten ja millä tavalla lohkokokoa tulisi nostaa.

Tällä hetkellä on kaksi merkittävää kilpailevaa ehdotusta. Gavin Andresenin BIP 101, jonka perusajatus käytiin läpi artikkelin edellisessä osiossa, ja Jeff Garzikin kehittämä BIP 100. Garzikin BIP 100 nostaisi lohkokoon maksimirajan 32 megaan, mutta määrittelee samalla louhijoille mahdollisuuden äänestää siitä mikä tulee olemaan sen hetkinen todellinen maksimikoko.

Ideana BIP 100:ssa on se, että sillä pyritään varmistamaan että Bitcoinin hajautustason näkökulmasta liian isoja lohkoja ei lähdetä luomaan. BIP 100 on saanut kritiikkiä, muun muassa louhijoiden vallan lisäämisestä, mutta lohkokoon nostaminen vaatii siinä 80 % enemmistön.

Julkisesti useat Bitcoin-yritykset ja -palvelut ovat lähteneet kannattamaan Andresenin kehittämää BIP 101 -implementaatiota, ja vastaavasti lähes kaikki louhijat kannattavat Garzikin BIP 100 -implementaatiota.

Tänä syksynä järjestetään kaksi pelkästään tähän aiheeseen perehtyvää työpajaa, jotka kulkevat nimellä “Scaling Bitcoin Workshop” – eli Bitcoinin skaalaustyöpaja. Ensimmäinen on 12.-13.9. Montrealissa. Nämä ovat tilaisuuksia, joissa on tarkoitus yrittää löytää paras tapa nostaa Bitcoinin lohkokokoa. Päätöstä asian suhteen ei voida tehdä siellä, koska päätöksen voi tehdä vain kaikki käyttäjät yhdessä, mutta kehittäjien konsensukseen tavasta ratkaista tämä ongelma, on mahdollista päästä.

Työpajan toinen osa järjestetään Hong Kongissa myöhemmin tänä vuonna, ja toivottavasti viimeistään silloin ratkaisu johon kaikki osapuolet voivat olla tyytyväisiä löydetään, ja ratkaisua lähdetään myös toteuttamaan. Vielä on aikaa kehittää ideaalia ratkaisua, sillä Bitcoinin käyttötason arvioidaan nousevan kriittisille tasoille joskus vuoden 2016 aikana.

Kaiken kaikkiaan keskustelu on nyt oikeissa asioissa ja huomattavasti rakentavammalla pohjalla, kuin aiemmin. On syytä suhtautua tilanteeseen optimistisesti. Ratkaisu löytynee, sillä Bitcoin-käyttäjillä on vahva kannustin päästä asiasta yhteisymmärrykseen ja löytää se ratkaisu, jolla Bitcoinista saadaan aikaan yhä parempi rahajärjestelmä, jota yhä useampi ihminen pystyy käyttämään.

Mikäli aihe herättää kysymyksiä, kysykää rohkeasti kommenttiosiossamme.