Tänään vietetään Bitcoin Core 0.15.0, viidentoista sukupolven Bitcoinin alkuperäisen ohjelmistoasiakkaan, jonka Satoshi Nakamoto käynnisti melkein yhdeksän vuotta sitten. Valvoo Bitcoin-ydin johtava ylläpitäjä Wladimir van der Laan, tämän viimeisimmän suuren julkaisun kehitti lähes 100 avustajaa kuuden kuukauden aikana, ja Ketjukoodilaboratoriot, Blockstream ja MIT: n Digital Currency Initiative.
Bitcoin Core 0.15.0 tarjoaa merkittäviä suorituskyvyn ja käytettävyyden parannuksia ohjelmiston aiempiin versioihin verrattuna. Se esittelee myös useita uusia ominaisuuksia verkon nykyisen tilan käsittelemiseksi paremmin.
Nämä ovat joitain merkittävimpiä muutoksia.
Chainstate-tietokannan rakenne
Yksi suurimmista muutoksista verrattuna aiempiin ohjelmistoversioihin liittyy siihen, kuinka Bitcoinin lohkoketjun tila tallennetaan. Tämä “ketjutila” tai “UTXO-sarja” tallennetaan erilliseen tietokantaan, kun taas aikaisemmin se oli luokiteltu tapahtumakohtaisesti. Jos yksi tapahtuma lähetti bitcoineja useaan lähtöön (“osoitteet”), nämä eri lähdöt tallennettiin yhtenä tietokantamerkintänä viittaamalla siihen yhteen tapahtumaan.
Bitcoin Core 0.15.0: n avulla nämä lähdöt tallennetaan sen sijaan kumpaankin yhteen tietokantamerkintään. Jos yksittäinen tapahtuma lähettää bitcoineja eri lähtöihin, jokainen lähtö tallennetaan erikseen. Vaikka tämä menetelmä vaatii enemmän levytilaa, se vaatii vähemmän laskennallisia resursseja, jos yksi näistä lähdöistä käytetään myöhemmin.
Tämän uuden tietorakenteen konkreettisin etu on, että uusien solmujen alkuperäinen synkronointiaika lyhenee noin 40 prosenttia. Se tuo myös käyttöön yksinkertaisemman koodin, vähentää muistin käyttöä ja paljon muuta. Lisäksi se korjaa virheen, joka voi teoriassa kaataa Bitcoin Core -solmut, kiistelty viime viikonlopun Breaking Bitcoin -konferenssissa Pariisissa.
Parempi maksun arviointi
Koska Bitcoin-lohkot ovat täyttyneet viimeisen kahden vuoden aikana, kaikki tapahtumat eivät sovi ensimmäiseen kaivettuun lohkoon. Sen sijaan kaivostyöläiset asettavat yleensä etusijalle liiketoimet, jotka sisältävät eniten palkkioita. Jos käyttäjä haluaa vahvistaa tapahtumansa nopeasti, hänen tulee sisällyttää riittävän korkea maksu. Jos hänellä ei ole kiire, matalan maksun pitäisi riittää.
Bitcoin-verkko käsittelee kuitenkin luontaista arvaamattomuutta lohkojen löytämisen nopeuden tai milloin tahansa lähetettävien tapahtumien määrän suhteen. Tämän vuoksi oikean transaktiomaksun sisällyttäminen on vaikeaa.
Bitcoin Core 0.15.0 vähentää tätä epävarmuutta: Ohjelmiston uusin versio sisältää huomattavasti parempia maksun estimointialgoritmeja. Tämä johtuu lähinnä siitä, että ohjelmisto ottaa arvioita tehtäessä huomioon enemmän tietoja, kuten vanhempiin vahvistettuihin tapahtumiin sisältyvät palkkiot sekä vahvistamattomien tapahtumien palkkiot – palkkiot, jotka osoittautuivat riittämättömiksi.
Lisäksi käyttäjät voivat nauttia enemmän joustavuudesta. Ensinnäkin Bitcoin Core 0.15.0 antaa käyttäjille mahdollisuuden sisällyttää maksuja, joiden vahvistaminen voi kestää jopa viikon. Ja vasta käyttöön otetut käyttäjät voivat halutessaan hyväksyä suuremman tai pienemmän riskin siitä, että heidän tapahtumansa saattaa viivästyä äkillisten tapahtumien tulon vuoksi.
Vaihda maksu kerrallaan käyttöliittymässä
Jopa parannetun maksuennusteen avulla on mahdollista, että käyttäjien on silti odotettava kauemmin kuin he haluavat, että tapahtumansa vahvistuvat, ehkä siksi, että verkossa tapahtuu äkillistä tapahtumia tai ehkä siksi, että käyttäjä muutti mieltään ja mieluummin pyydä tapahtumaa vahvistamaan nopeammin kuin alun perin maksettiin, tai muista syistä.
Näissä tapauksissa jotkut lompakot antavat käyttäjille mahdollisuuden lisätä “korvaa palkkiona” -tunniste tapahtumiinsa. Tällaisella tagilla verkon solmut ja kaivostyöläiset tietävät, että lähettäjä saattaa haluta korvata tapahtuman uudemmalla tapahtumalla, joka sisältää korkeamman maksun. Tämä antaa käyttäjille mahdollisuuden kolahtaa tapahtuma linjassa saadakseen sen vahvistettua nopeammin.
Bitcoin Core -solmut ovat tukeneet korvaamista korvauksella jo yli vuoden ajan: Ne korvaavat jo “korvaa maksu” -tagit, jos uusi tapahtuma sisältää enemmän maksuja. Mutta sitä ei ollut koskaan helppoa hyödyntää itse Bitcoin Core -lompakon käyttäjille.
Tähän asti.
Bitcoin Core 0.15.0 -lompakko tuo käyttöön korvaavan korvauksen käyttöliittymässään. Tämä antaa käyttäjille mahdollisuuden liittää asianmukainen tunniste, jonka avulla he voivat myöhemmin helposti lisätä tapahtumiensa maksuja.
Usean lompakon tuki (vain asiakas ja RPC)
Bitcoin Core 0.15.0 antaa käyttäjien luoda useita lompakoita ensimmäistä kertaa. Kaikilla näillä lompakoilla on omat erilliset Bitcoin-osoitteensa, yksityiset avaimet ja siten varat. Käyttäjät voivat käyttää erilaisia lompakoita eri tarkoituksiin; esimerkiksi yhtä lompakkoa voidaan käyttää henkilökohtaisiin päivittäisiin ostoksiin, toista yritystoimintaan ja kolmatta vain kaupankäyntiin..
Useiden lompakoiden käyttäminen voi tarjota useita etuja. Esimerkiksi se tekee kirjanpidosta helpompaa ja helpompaa. Lisäksi käyttäjät voivat hyötyä helpommin lisääntyneestä yksityisyydestä, koska eri lompakoita ei voida yhdistää toisiinsa lohkoketjuanalyysillä. On myös mahdollista käyttää erilaisia lompakoita tiettyihin sovelluksiin ja muuhun.
Toistaiseksi monilompakon tuki ei ole vielä käytettävissä tavallisille lompakon käyttäjille; vain kokeneet käyttäjät, jotka toimivat komentoriviltä tai yhdistettyjen sovellusten kautta, voivat käyttää ominaisuutta.
Muut parannukset
Edellä mainittujen merkittävien muutosten lisäksi Bitcoin Core 0.15.0 sisältää useita muita suorituskyvyn parannuksia, kuten useimmat uudet suuret Bitcoin Core -julkaisut tekevät. Konkreettisesti nämä muutokset nopeuttavat sitä, kuinka nopeasti lohkot ladataan verkosta, ne antavat solmujen käynnistyä nopeammin, ja ajan tasalla olevat solmut pystyvät validoimaan uudet lohkot nopeammin, mikä puolestaan hyödyttää verkon etenemisaikaa.
Lopuksi on syytä mainita, että Bitcoin Core 0.15.0 katkaisee yhteyden BTC1-ikäisistä verkossa. Tämä tarkoittaa, että Bitcoin-verkko kokee vähemmän häiriöitä, jos SegWit2x-haarukka jakaa verkon, koska molemmat solmutyypit löytävät helpommin yhteensopivat ikäisensä. Vaikka tämä muutos on saanut jonkin verran tiedotusvälineiden huomiota, muutoksen ei pitäisi todella olla havaittavissa.
Kiitos Chaincode Labs -kehittäjälle John Newberylle palautteesta ja ehdotuksista. Lisätietoja Bitcoin Core 0.15.0: n uusista ominaisuuksista on artikkelissa julkaisutiedot, tai katsele Bitcoin Core -edustajan Gregory Maxwellin “syvää sukellusta” esitys San Franciscon Bitcoin-kehittäjien tapaamisessa.