Danes zaznamujemo uradno izdajo Bitcoin Core 0.14.0, štirinajste generacije originalnega odjemalca programske opreme Bitcoin, ki ga je pred osmimi leti začel Satoshi Nakamoto. Nadzoruje Bitcoin jedro vodilni vzdrževalec Wladimir van der Laan, to zadnjo veliko izdajo je v šestmesečnem obdobju razvilo skoraj 100 sodelavcev.
Bitcoin Core 0.14.0 vsebuje pomemben seznam izboljšav. V primerjavi z nekaterimi prejšnjimi izdajami pa se večina teh nanaša na “notranje elemente” programske opreme: izboljšave zmogljivosti, ki se izvajajo pod pokrovom, vendar za vsakdanje uporabnike morda niso zelo opazne.
Kljub temu je tu nekaj opaznejših sprememb.
Bloki “Predpostaviti veljavnost”
Kadarkoli se novo vozlišče zažene v omrežju, sinhronizira celotno verigo blokov. Prenese in preveri vse bloke, ki so bili kdaj minirani, in preveri vse transakcije v vseh teh blokih. Na žalost lahko to traja kar nekaj časa. Tudi novi prenosniki višjega razreda pogosto zahtevajo več kot cel dan, da jih dohitite. Pri starejših ali nižjih strojih traja še dlje.
“Assumevalid” bistveno pospeši ta postopek. V bistvu vozlišča Bitcoin Core 0.14.0 predvidevajo, da so veljavne vse transakcije do določenega bloka. Medtem ko sinhronizacijsko vozlišče še vedno preverja dokazilo o delu za vse bloke in beleži celotno zgodovino transakcij, ne preverja več podpisov in podobnih podatkov za vsako posamezno transakcijo.
Predpostavka, kateri blok je veljaven, je nastavljiva. Privzeto je blok 453354 za Bitcoin Core 0.14.0. Toda uporabniki, ki želijo v celoti preveriti vsako posamezno transakcijo, tudi tiste, ki segajo v preteklost, še vedno lahko.
Omeniti velja tudi, da v nasprotju s sistemom kontrolnih točk, ki določa, da mora biti določen blok del verige blokov, domnevno veljaven blok ni nujno zavezujoč. Vozlišče Bitcoin Core 0.14.0 bo zlahka preklopilo na alternativni blockchain brez domnevno veljavnega bloka, če je ta alternativni blockchain daljši.
Izboljšana ocena pristojbin
Ker se bloki Bitcoinov polnijo, zlasti v zadnjem letu, se vse transakcije, poslane prek omrežja, ne ujemajo z naslednjim blokom. Kot rezultat, rudarji običajno dajo prednost transakcijam, ki vključujejo največ provizij. Transakcije, ki vključujejo več provizij, imajo večje možnosti, da bodo vključene v naslednji blok ali kmalu zatem. Transakcije, ki vključujejo nižje provizije, so presežne in jih je treba potrditi dlje.
Seveda vsi ne potrebujejo svojih transakcij za tako hitro potrditev. Uporabnikom, ki zaradi hitrega gibanja cen na borzo pošljejo bitcoin, se lahko mudi, da jim potrdijo transakcije. Medtem so uporabniki, ki bitcoin premikajo med lastnimi denarnicami, lahko bolj potrpežljivi.
Od Bitcoin Core 0.10.0 lahko uporabniki ustrezno prilagodijo svoje provizije. Če se jim bolj mudi, lahko ročno vključijo višje honorarje in, če jih ne, nižje. Bitcoin Core 0.11.0 in 0.12.0 sta izpopolnila programsko opremo za ocenjevanje provizij, Bitcoin 0.14.0 pa zdaj vključuje še en nabor izboljšav, zaradi česar je algoritem še posebej trpežen v robnih primerih..
Poleg tega je bil privzeti cilj potrditve zmanjšan s 25 blokov na 6 blokov; večina transakcij z Bitcoin Core naj bi se potrdila v eni uri, tudi če se uporabnik ne dotakne nastavitev provizije.
Za pošiljanje se odločite za nadomestilo za nadomestilo
Poleg izboljšane ocene provizije imajo uporabniki Bitcoin Core 0.14.0 še eno možnost, da pospešijo svoje transakcije.
Bitcoin transakcije so bile prvič uvedene pred letom dni z izdajo Bitcoin Core 0.12.0 in so lahko označene z zastavico »nadomestite s plačilom«. Pošiljatelji transakcije lahko prvotno transakcijo nadomestijo z novejšo transakcijo, ki vključuje višjo provizijo. To jim omogoča, da “preskočijo črto” in hitreje potrdijo svojo transakcijo.
Do tega trenutka je Bitcoin Core v vedenje vozlišča vključeval le možnost nadomestila za nadomestilo: sprejemal je in posredoval transakcije z zastavicami nadomestitve (namesto da bi jih zavrnil kot dvojne porabe). Toda uporabniki Bitcoin Core niso mogli uporabiti možnosti za nadomestilo za nadomestilo, da bi povečali svoje provizije; zaenkrat samo uporabniki denarnic, kot je Electrum ali GreenAddress lahko.
Zdaj je bila v Bitcoin Core 0.14.0 dodana možnost nadomestitve plačila kot možnost oddaljenega klica (RPC). To pomeni, da lahko uporabniki, ki delajo iz ukazne vrstice ali v aplikacijah, zgrajenih na Bitcoin Core, uporabijo tudi nadomestilo za nadomestilo.
Ročno obrezovanje
Bitcoinov blok-veriga je več kot 100 gigabajtov po svoji velikosti in s sedanjo hitrostjo raste približno 50 gigabajtov vsako leto. Vse te podatke je treba shraniti, kar lahko pomeni veliko breme za uporabnike, ki uporabljajo celotno vozlišče.
Zato je Bitcoin Core 0.11.0 uvedel obrezovanje blokov. Uporabniki se lahko znebijo starejših blokov, ko so preverjeni, zato zagon celotnega vozlišča ne zahteva toliko prostora na disku.
Toda do zdaj so lahko uporabniki obrezovali le z določenim številom blokov. Z obrezovanjem, nastavljenim na 1000 blokov, je na primer Bitcoin Core obdržal natanko zadnjih 1000 blokov. Vsakič, ko je bil dodan nov blok, je bil najstarejši blok zavržen, tako da je bil skupni znesek 1000.
Na žalost je to pomenilo, da nekatere aplikacije, ki se zanašajo na Bitcoin Core, v resnici niso mogle uporabiti obrezovanja. Na primer, aplikacija za obdelavo plačil – za trgovce, ki želijo sprejeti bitcoin, vendar se raje ne zanašajo na zunanje storitve, kot sta BitPay ali Coinbase – bo v nekaterih primerih morda morala ugotoviti, ali je bilo veljavno plačilo izvedeno v starejšem bloku. Če je ta blok že obrezan, aplikacija ne more opraviti svojega dela.
Bitcoin Core 0.14.0 torej omogoča natančnejše obrezovanje. Namesto da bi obdržali določeno število blokov, lahko uporabniki obrezujejo verigo blokov, začenši z določenim trenutkom, določeno višino bloka, in obdržijo vse bloke, ki so bili ustvarjeni od.
V kombinaciji z novo funkcijo, imenovano “importmulti”, lahko Bitcoin Core 0.14.0 naslove in časovne žige uvozi na primer iz zgoraj omenjene aplikacije za obdelavo plačil. Z uporabo časovnih žigov za ugotavljanje, kdaj je bil ustvarjen določen naslov, Bitcoin Core ve, od kdaj so časovni bloki pomembni za aplikacijo, in teh blokov ne bo obrezoval.
Izboljšave blok releja
Vsakič, ko je nov blok izkopan, se prenaša po Bitcoin-ovem peer-to-peer omrežju, dokler ga ne prejme vsako vozlišče. Na žalost lahko latenca v tem omrežju koristi združenemu rudarstvu in tudi geografskim skupinam rudarjev, kar spodbuja bolj centralizirano rudarsko topologijo.
Povečanje hitrosti širjenja blokov je zato že nekaj let osrednja točka osredotočenja razvojne ekipe Bitcoin Core, Bitcoin Core 0.14.0 pa vključuje še en sklop izboljšav.
Morda je najpomembnejše, da Bitcoin Core 0.14.0 vozlišča prej posreduje bloke svojim vrstnikom. Kadar bi vozlišča predhodno v celoti preverila blok, preden bi ga poslala povezanim vozliščem, Bitcoin Core 0.14.0 začne postopek posredovanja takoj, ko se preveri dokazilo o delu.
Čeprav danes mnogi rudarji uporabljajo tudi alternativna relejna omrežja, povečevanje hitrosti Bitcoin-ovega omrežja enakovrednih omrežij zmanjšuje odvisnost od teh omrežij in celo koristi tem relejnim omrežjem, kjer se povežejo z omrežjem peer-to-peer.
In …
Kot smo že omenili, so zgoraj naštete izboljšave v resnici le vrh ledene gore. Bitcoin Core 0.14.0 vključuje seznam dodatnih izboljšav zmogljivosti, ki segajo od sprememb RPC na nizki ravni, do sprememb v grafičnem uporabniškem vmesniku (GUI) in vsega vmes. Za celoten pregled vseh izboljšav glejte Opombe ob izdaji Bitcoin Core 0.14.0.
Lahko prenesete Bitcoin Core 0.14.0 iz bitcoincore.org ali bitcoin.org.