Danes zaznamujemo uradno izdajo Bitcoin Core 0.20.0, 20. večja izdaja originalnega odjemalca programske opreme Bitcoin, ki jo je pred več kot 11 leti začel Satoshi Nakamoto.
Nadzoruje Bitcoin jedro vodilni vzdrževalec Wladimir van der Laan, je to zadnjo večjo izdajo v približno šestih mesecih razvilo več kot 100 sodelavcev. Rezultat več kot 500 združenih zahtev za vlečenje Bitcoin Core 0.20.0 večinoma očisti in utrdi kodno bazo Bitcoin Core, pospeši integracijo strojne denarnice, izboljša zanesljivost omrežja in vključuje številne druge izboljšave.
Tu je nekaj opaznejših sprememb.
Nadaljnja integracija strojne denarnice v GUI
Bitcoin Core je združljiv s strojno denarnico od različice 0.18.0. Vendar uporabniki še ne morejo opravljati transakcij s strojno denarnico iz grafičnega uporabniškega vmesnika (GUI) Bitcoin Core; namesto tega morajo uporabiti vmesnik ukazne vrstice (CLI).
Bitcoin Core 0.20.0 naredi korak k integraciji strojne denarnice v GUI. Uporabniki lahko zdaj ustvarijo transakcijo brez podpisa v grafičnem uporabniškem vmesniku Bitcoin Core z uporabo delno podpisane bitcoin transakcije (PSBT) in jo kopirajo v svoje odložišče. Ko so kopirani, lahko transakcijo prenesejo v svojo strojno denarnico, da jo podpišejo – vendar ta prenos še ni avtomatiziran in oddajanje transakcije še vedno zahteva uporabo CLI.
Prihodnje izdaje Bitcoin Core bodo še naprej pospeševale integracijo strojne denarnice.
Asmap za bolj zanesljivo omrežno povezljivost
Bitcoin Core se poveže z več vrstniki (drugimi Bitcoin vozlišči) v Bitcoin omrežju. Bitcoin Core preslika druga vozlišča glede na njihove naslove IP z namenom vzpostavitve povezav z vrstniki iz različnih regij in ponudniki internetnih storitev (ISP). Če vozlišče prejme bloke in transakcije od vrstnikov po vsem svetu, to zmanjša tveganje, da bodo nekateri podatki (na primer določena transakcija) zadržani..
Bitcoin Core trenutno naslove IP naslovi po Skupine omrežnih operaterjev. Vendar je več teh skupin pravzaprav del iste Avtonomni sistem (AS): grozdi skupin omrežnih operaterjev, ki si delijo ključne internetne poti in si zato potencialno delijo enaka ozka grla za usmerjanje, kjer bi lahko podatke filtrirali.
Bitcoin Core 0.20.0 vključuje novo konfiguracijsko možnost, imenovano Asmap, ki naslove IP naslika v avtonomne sistemske številke (ASN). To zagotavlja, da se vozlišče poveže z enakovrednimi različicami različnih AS-jev, kar zmanjša potencialna ozka grla v omrežju in s tem dodatno omeji tveganje zadrževanja določenih podatkov. (Preslikava naslovov IP v skupine omrežnih operaterjev za zdaj ostaja privzeta konfiguracija.)
Odstranjevanje sporočil o zavrnitvi BIP61
Zavrni sporočila (BIP61) so obvestila, da se vozlišče vrne, ko je transakcija, ki jo je prejela od enakovredne naprave, zavrnjena in zakaj. (Morda zato, ker transakcija ni veljavna, morda zato, ker se šteje, da ne vključuje zadostne provizije, morda obstaja še en razlog za zavrnitev.)
Razvijalci Bitcoin Core pa menijo, da zavrnjena sporočila niso zelo uporabna. Najpomembneje je, da ne smemo domnevati, da vrstniki zanesljivo vrnejo zavrnjeno sporočilo. Z drugimi besedami, če vozlišče ne prejme sporočila o zavrnitvi, to ne pomeni nujno, da je bila transakcija sprejeta. To omejuje uporabnost sporočil, medtem ko obstajajo boljše rešitve za preverjanje veljavnosti transakcije in vključuje dovolj provizij. Medtem so sporočila zapletala medsebojni protokol in zajemala pasovno širino.
Sporočila o zavrnitvi BIP61 so bila zato že privzeto onemogočena v Bitcoin Core 0.18.0. Bitcoin 0.20.0 je zdaj funkcijo popolnoma odstranil.
Odstranitev plačilnega protokola BIP70 (in OpenSSL)
Protokol o plačilu (BIP 70) je bil zasnovan pred nekaj leti za izboljšanje plačilne izkušnje Bitcoinov. Uporabnik in trgovec bi lahko sporočil dodatne podrobnosti o plačilu, na primer razumljiv ciljni naslov (ime trgovca) in naslov za vračilo kupnine, če bi pri nakupu šlo kaj narobe..
Medtem ko je Bitcoin Core integriral plačilni protokol, standard ni bil nikoli široko sprejet. Namesto tega večina denarnic še vedno uporablja bolj osnovno shemo URI (BIP21): Povezava, ki jo je mogoče klikniti, ali obliko, ki jo je mogoče optično prebrati, ki na primer sporoča naslov in znesek plačila.
Morda je še pomembneje kot pomanjkanje sprejetja plačilnega protokola BIP70 številne ranljivosti na področju varnosti in zasebnosti skozi leta. Predvsem je odvisnost od knjižnice programske opreme OpenSSL za kriptografske funkcije zahtevala vrsto hitrih nadgradenj v sili. Nekatere Bitcoin denarnice imajo iz teh razlogov, zavrnjeno izvajanje BIP70.
Bitcoin Core 0.19.0 je iz grafičnega uporabniškega vmesnika odstranil plačilni protokol, vendar so uporabniki vseeno lahko svoje vozlišče sestavili s posebno konfiguracijo, da so uporabili to funkcijo. Bitcoin Core 0.20.0 je zdaj popolnoma odstranil plačilni protokol.
Z izginotjem BIP70 (in nekaterih drugih sprememb programske opreme za odstranjevanje odvisnosti) je Bitcoin Core lahko tudi popolnoma odstranil OpenSSL iz svoje kode.
Dumptxoutset kot prvi korak k Assumeutxo za hitro zagonsko odstranjevanje
Nov klic oddaljenega postopka (RPC) omogoča Bitcoin Core 0.20.0, da ustvari posnetek nabora UTXO, ki odraža stanje lastništva Bitcoinov, kot je zabeleženo na verigi blokov v določenem trenutku (višina bloka). Ta posnetek je mogoče dati v skupno rabo.
Prihodnje izdaje Bitcoin Core bodo delile tak posnetek, ko se bodo vrstniki prvič pridružili omrežju. To omogoča, da nova vozlišča takoj začnejo sodelovati v omrežju od trenutka, ko je bil narejen posnetek, medtem ko se celotna zgodovina verige blokov preveri v ozadju. (Tako kot Assumevalid, podobna bližnjica, tudi Assumeutxo prihaja z zaupanja vrednimi kompromisi, preden se preveri celotna veriga blokov, in jih je treba do takrat uporabljati s temi kompromisi.)
Za obsežnejši seznam nadgradenj glejte tudi Opombe ob izdaji Bitcoin Core 0.20.0.
Hvala Sjors Provoost za informacije in povratne informacije.