Tänään vietetään Bitcoin-ydin 0.20.0, Satoshi Nakamoton yli 11 vuotta sitten julkaisema Bitcoinin alkuperäisen ohjelmistoasiakkaan 20. merkittävä julkaisu.
Valvoo Bitcoin-ydin johtava ylläpitäjä Wladimir van der Laan, tämän viimeisimmän suuren julkaisun kehitti yli 100 avustajaa noin kuuden kuukauden aikana. Yli 500 yhdistetyn vetopyynnön tulos, Bitcoin Core 0.20.0, puhdistaa ja kovettaa enimmäkseen Bitcoin Core -koodipohjan, edistää laitteistolompakon integraatiota, parantaa verkon luotettavuutta ja sisältää useita muita parannuksia.
Tässä on joitain merkittävimpiä muutoksia.
Laitteiston lompakon lisäintegraatio käyttöliittymässä
Bitcoin Core on ollut yhteensopiva laitteistolompakoiden kanssa versiosta 0.18.0 lähtien. Käyttäjät eivät kuitenkaan voi vielä tehdä tapahtumia laitteistolompakolla Bitcoin Corein graafisella käyttöliittymällä (GUI); heidän on sen sijaan käytettävä komentoriviliitäntää (CLI).
Bitcoin Core 0.20.0 on ottamassa askelta kohti laitteiston lompakon integrointia graafiseen käyttöliittymään. Käyttäjät voivat nyt luoda tapahtuman ilman allekirjoitusta Bitcoin Core -käyttöliittymässä käyttämällä osittain allekirjoitettua bitcoin-tapahtuman (PSBT) muotoa ja kopioida sen leikepöydälle. Kopioinnin jälkeen he voivat siirtää tapahtuman laitteiston lompakkoon allekirjoittamaan sen – tätä siirtoa ei kuitenkaan ole vielä automatisoitu, ja tapahtuman lähettäminen vaatii edelleen CLI: n käyttöä.
Tulevat Bitcoin Core -julkaisut edistävät edelleen laitteiston lompakon integrointia.
Suunnittele luotettavampi verkkoyhteys
Bitcoin Core muodostaa yhteyden useisiin vertaisverkkoihin (muihin Bitcoin-solmuihin) Bitcoin-verkossa. Bitcoin Core kartoittaa muut solmut IP-osoitteidensa perusteella tarkoituksenaan luoda yhteyksiä eri alueiden ikäisensä ja Internet-palveluntarjoajien (ISP) kanssa. Jos solmu vastaanottaa lohkoja ja tapahtumia ympäri maailmaa sijaitsevilta vertaisilta, se vähentää riskiä, että tiettyjä tietoja (kuten tiettyä tapahtumaa) pidätetään.
Bitcoin Core kartoittaa tällä hetkellä IP-osoitteet Verkko-operaattorien ryhmät. Useat näistä ryhmistä ovat kuitenkin osa samaa Autonominen järjestelmä (AS): Verkko-operaattoriryhmien klusterit, jotka jakavat tärkeimmät Internet-reitit ja jakavat siten mahdollisesti samat reitityspullonkaulat, joissa tietoja voidaan mahdollisesti suodattaa.
Bitcoin Core 0.20.0 sisältää uuden määritysvaihtoehdon nimeltä Asmap, joka kartoittaa IP-osoitteet autonomisten järjestelmien numeroilla (ASN). Tämä varmistaa, että solmu muodostaa yhteyden vertaisryhmiin useista eri tukiasemista, mikä vähentää mahdollisia verkon pullonkauloja ja siten rajoittaa edelleen tiettyjen tietojen pidättämisen riskiä. (IP-osoitteiden yhdistäminen verkko-operaattoreiden ryhmiin on kuitenkin toistaiseksi oletusmääritys.)
BIP61-hylkäysviestien poisto
Hylkää viestit (BIP61) ovat ilmoituksia, jotka solmu palauttaa, kun vertaisilta saamansa tapahtuma hylätään, ja miksi. (Ehkä siksi, että kauppa on pätemätön, ehkä siksi, että sen ei katsota sisältävän riittävää maksua, ehkä hylkäämiseen on toinen syy.)
Bitcoin Core -kehittäjät eivät kuitenkaan pidä hylkäysviestejä kovin hyödyllisinä. Mikä tärkeintä, ikäisensä ei pitäisi olettaa palauttavan Hylkäviesti luotettavasti. Toisin sanoen, jos solmu ei saa hylkäysviestiä, se ei välttämättä tarkoita tapahtuman hyväksymistä. Tämä rajoittaa viestien hyödyllisyyttä, kun taas on olemassa parempia ratkaisuja tarkistaa, että tapahtuma on pätevä ja sisältää riittävästi maksuja. Samaan aikaan viestit tekivät peer-to-peer -protokollasta monimutkaisemman ja vievät kaistanleveyden.
BIP61-hylkäysviestit oli siis oletusarvoisesti poistettu käytöstä Bitcoin Core 0.18.0: ssa. Bitcoin 0.20.0 on nyt poistanut ominaisuuden kokonaan.
BIP70-maksuprotokollan (ja OpenSSL) poistaminen
Maksuprotokolla (BIP 70) on suunniteltu useita vuosia sitten parantamaan Bitcoinin maksukokemusta. Käyttäjä ja kauppias voivat välittää lisätietoja maksusta, kuten ihmisen luettavissa oleva kohdeosoite (kauppiaan nimi) ja hyvitysosoite, jos jotain meni pieleen ostoksen yhteydessä.
Vaikka Bitcoin Core integroi maksuprotokollan, standardia ei koskaan käytetty laajalti. Sen sijaan useimmat lompakot käyttävät edelleen perustavaa URI-järjestelmää (BIP21): Napsautettava linkki tai skannattava QR-koodimuoto, joka esimerkiksi ilmoittaa maksuosoitteen ja summan.
Ehkä tärkeämpää kuin hyväksymisen puuttuminen, kärsi BIP70-maksupöytäkirja useita tietoturva- ja tietosuojahaavoittuvuuksia vuosien saatossa. Erityisesti sen riippuvuus salaustoimintojen OpenSSL-ohjelmistokirjastosta vaati useita lyhyitä varoituspäivityksiä. Jotkut Bitcoin-lompakot ovat näistä syistä, hylätty toteuttamalla BIP70 kokonaan.
Bitcoin Core 0.19.0 poisti maksuprotokollan käyttöliittymästä, mutta käyttäjät voivat silti koota solmunsa erityisellä kokoonpanolla ominaisuuden käyttämiseksi. Bitcoin Core 0.20.0 on nyt poistanut maksuprotokollan kokonaan.
Kun BIP70 on poissa (ja joitain muita ohjelmistomuutoksia riippuvuuden poistamiseksi), Bitcoin Core on myös pystynyt poistamaan OpenSSL: n kokonaan koodekastaan.
Dumptxoutset ensimmäisenä askeleena kohti Assumeutxoa nopeaan käynnistykseen
Uuden etäkäyttökutsun (RPC) avulla Bitcoin Core 0.20.0 luo tilannekuvan UTXO-sarjasta, mikä heijastaa Bitcoin-omistustilaa, joka on kirjattu lohkoketjuun tiettynä ajankohtana (lohkon korkeus). Tämä tilannekuva voidaan jakaa.
Tulevat Bitcoin Core -julkaisut jakavat tällaisen tilannekuvan, kun ikätoverit liittyvät ensimmäistä kertaa verkkoon. Tämän avulla uudet solmut voivat alkaa heti osallistua verkkoon siitä hetkestä lähtien, kun tilannekuva tehtiin, kun taas lohkoketjun koko historia tarkistetaan taustalla. (Kuten Assumevalid, vastaava pikakuvake, Assumeutxo mukana luottamuksen kompromisseja ennen kuin koko lohkoketju on tarkistettu, ja sitä pitäisi käyttää siihen saakka nämä kompromissit mielessä.)
Laajempi luettelo päivityksistä, katso myös Bitcoin Core 0.20.0 -julkaisutiedot.
Kiitos Sjors Provoostille tiedoista ja palautteesta.