Včeraj v nedeljo je nastopila uradna posodobitev Bitcoin Core 0.19.0, devetnajsta velika posodobitev originalne kriptovalute bitcoin, ki jo je pred skoraj 11 leti zagnal Satoshi Nakamoto in je še vedno glavna programska implementacija za interakcijo z vodilnim kriptovalutnim omrežjem. Trenutna različica se uradno imenuje Bitcoin Core 0.19.0.1, saj so se na zadnji stopnji izdaje 0.19.0 pojavile nepredvidene težave.
Kot doslej je razvoj Bitcoin Core-a nadziral Wladimir van der Laan, pri pripravi najnovejše različice pa je sodelovalo več kot sto ljudi. Skupno je bilo v šestih mesecih izdanih 550 zahtevkov za dodajanje različnih kod, kar je pripeljalo do številnih izboljšav delovanja, nadgradnje, popravkov in drugih sprememb.
Privzeti naslovi bech32 v GUI
Format naslova bech32 je bil vključen v posodobitev Bitcoin Core 0.16.0, ki je nastopila v začetku leta 2018, zdaj pa je bila prvič aktivirana kot privzeta možnost v grafičnem uporabniškem vmesniku (GUI).
Bech32 naslovi se začnejo s predpono »bc1« in delujejo na podlagi tehnologije SegWit.
Ker trenutno pošiljanja sredstev na naslove bech32 ne podpirajo vse bitcoin denarnice, lahko uporabniki Bitcoin Core 0.19.0 s pomočjo možnosti v grafičnem vmesniku še vedno ustvarijo naslove PS2H za sprejemanje transakcij.
Zagotavljanje dodatne povezljivosti z zunanjimi vozlišči
Omrežje Bitcoin je lahko podvrženo različnim napadom. Če napadalec nadzoruje zadostno število vozlišč, bi potencialno lahko »odrezal« določena vozlišča in tako preprečil sodelovanje pri oblikovanju soglasja. Nato lahko ločeni del omrežja prenese v manjšo verigo, kar odpre možnosti za ponavljanje transakcij oziroma dvojno porabo sredstev.
Težavo je mogoče rešiti, če ločeno vozlišče vzdržuje povezavo z vsaj enim poštenim vozliščem v glavnem omrežju. Prav to omogoča Bitcoin Core 0.19.0, kjer vozlišče privzeto vzdržuje povezavo z dvema drugima udeležencema omrežja, ki mu pošiljata samo podatke o blokih, ne pa tudi o transakcijah in drugih informacijah. Tako je mogoče občutno zmanjšati tveganje napadov.
Onemogočanje filtrov Bloom
Bitcoin Core je izvedba celotnega vozlišča, ki prenese in preveri vse bloke v omrežju. Ima optimalno raven varnosti, ni pa primerna za naprave z nizko zmogljivostjo, kot so denimo mobilni telefoni. Mobilne denarnice praviloma prenesejo samo transakcije, ki so neposredno povezane z njimi.
Za rešitev te težave se uporablja kriptografska tehnika imenovana »Bloom filtri«, ki lahko manjšim odjemalcem poda več informacij iz več ali manj naključnih vozlišč v omrežju. Sčasoma je postalo jasno, da ima ta pristop negativne posledice v okviru zasebnosti, saj razkrije vse naslove uporabnikov iz celotnega vozlišča.
Zaradi tega je bilo odločeno, da se v Bitcoin Core 0.19.0 privzeto onemogoči podporo za zahteve Bloom filtra.
Izboljšana podpora za Copact Client-side Block Filtering
Namesto Bloom filtrov je novejša rešitev imenovana »kompaktno filtriranje na strani odjemalca«. Ta popolnoma spremeni koncept Bloom filtrov in prisili polna vozlišča, da ustvarijo filtre za vsak blok.
Bitcoin Core 0.19.0 razširja možnosti tega pristopa in uporabnikom omogoča ustvarjanje takšnih filtrov s klicem na daljavo (RPC) za aplikacije, kot so denarnice, ki delujejo na podlagi celotnega vozlišča.
Onemogočanje plačilnega protokola BIP 70 v GUI
Plačilni protokol BIP 70 je bil ustvarjen pred nekaj leti z namenom izboljšanja uporabniške izkušnje pri izvajanju plačil z bitcoini. Potrošnik ali prodajalec lahko poleg samega plačila predloži še povezane podatke, na primer naslov za vračilo v primeru težav.
Razvijalci Bitcoin Core so plačilni protokol integrirali v grafični vmesnik, vendar standard ni bil široko sprejet. Poleg tega so bile s posodobitvijo povezane številne ranljivosti v okviru varnosti in zasebnosti. Kljub temu, da je protokol sprejel priljubljeni plačilni servis BitPay, je v posodobitvi Bitcoin Core 0.19.0, BIP 70 odstranjen iz grafičnega uporabniškega vmesnika. Za njegovo aktiviranje je potrebna posebna nastavitev vozlišča.
Druge izboljšave
Poleg že omenjenih posodobitev je v Bitcoin Core 0,19,0 vključenih še veliko manjših izboljšav in nadgradenj.
Zdaj je denimo mogoče od trenutka namestitve takoj zagnati omejeno vozlišče, kar bo zanimalo uporabnike s trdim diskom manjših kapacitet. Bitcoin Core 0.19.0 ponuja nove funkcije za Partially Signed Bitcoin Transactions (PSBT), ki so lahko uporabne pri transakcijah z več podpisi in CoinJoin transakcijami. Za razvijalce aplikacij pa so bili predstavljeni dodatni opisniki za izdelavo digitalnih denarnic.
Celotna dokumentacija Bitcoin Core 0.19.0 je na voljo tukaj.