Tänään vietetään Bitcoin-ydin 0.12.0, Bitcoinin referenssiohjelman kahdestoista sukupolvi, jonka Satoshi Nakamoto käynnisti ensimmäisen kerran seitsemän vuotta sitten. Lähes 100 avustajaa on kehittänyt seitsemän kuukauden aikana, ja viimeisin Bitcoin Core -versio sisältää yli 20 parannusta erityisesti suorituskyvyn, turvallisuuden ja käytettävyyden suhteen..

Nämä ovat kuudes merkittävin muutos.

Muistipoolin rajoittaminen

Muistipoolit ovat vahvistamattomien tapahtumien kokoelmia, jotka kaikki kokonaiset solmut ovat tallentaneet yksitellen. Muistipoolit täyttyvät lohkojen välillä, kun uudet tapahtumat lähetetään Bitcoin-verkon kautta ja ne loppuvat, kun nämä tapahtumat sisällytetään lohkoihin. Mutta jos sarja seuraavia lohkoja pysyy täyteen pitkään – joko laillisten tapahtumien tai roskapostihyökkäysten vuoksi -, muistivarastot eivät ehkä ehty kokonaan, ja viivästyksiä voi muodostua. Ilman enimmäisrajaa takaus saattaa jopa kasvaa siihen pisteeseen, jossa solmujen muisti loppuu ja kaatuu. (Tämä on “pakkolasku”Skenaario entinen Bitcoin XT: n johtava kehittäjä Mike Hearn pelkäsi.)

Muistipoolin rajoittaminen, kuten nimestä voi päätellä, pakottaa kovan rajan muistivarastojen enimmäiskoolle tämän skenaarion estämiseksi. Jos maksimimäärä saavutetaan, solmut hylkäävät tai tyhjentävät muistipoolinsa tapahtumista, jotka tarjoavat pienimmän määrän palkkia tavua kohden.

Täyden solmun operaattorit voivat määrittää rajoituksensa, mutta Bitcoin Core 0.12.0: n oletuskoko on 300 megatavua.

Blockchain-karsiminen lompakon käyttäjille

Yksi täyden solmun suorittamisen rasitteista on vaatimus koko lohkoketjun tallentamisesta. Tämä lisää 55 gigatavua tämän kirjoituksen aikaan ja voi kasvaa vielä 50 gigatavua vuodessa nykyisen 1 megatavun lohkokoon rajoissa.

Tämän vaatimuksen vähentämiseksi Bitcoin Core 0.12.0 antaa käyttäjille mahdollisuuden karsia estoketju, mikä tarkoittaa, että he voivat päästä eroon vanhemmista tiedoista, kun solmu on vahvistanut sen. Säilytettävien tietojen määrä on määritettävissä, vaikka Bitcoin Core 0.12.0 vaatii silti vähintään 2 gigatavua levytilaa.

Lohkoketjun karsiminen tarkoittaa, että nämä solmut eivät enää pysty jakamaan kaikkia lohkoketjutietoja ikäisensä kanssa, kuten täysi solmu synkronoidaan verkon kanssa ensimmäistä kertaa.

(On huomattava, että lohkoketjun karsiminen otettiin ensin käyttöön Bitcoin Core 0.11.0: ssa, mutta se ei ollut vielä saatavilla käyttäjille, jotka käyttävät Bitcoin Coreia lompakkona.)

Lähetä liikenteen rajoitus

Täydet solmut lähettävät ja välittävät jatkuvasti tapahtumia ja estävät toisiaan Bitcoinin vertaisverkossa. Tämä edellyttää tyypillisesti vaatimattoman määrän tietojen lataamista, mutta samojen tietojen jakaminen useiden ikäisensä kanssa samanaikaisesti voi lisätä merkittäviä latauskustannuksia.

Bitcoin Core 0.12.0 esittelee konfiguroitavan datakaton latausliikenteelle. Jos tämä korkki on ulottuvilla, solmu tarttuu yli viikkoa vanhempiin latauslohkoihin, joita solmut yleensä pyytävät ensin verkon kanssa. Lisäksi kaikki kevyet asiakkaat irrotetaan, eivätkä ne enää tarjoa mitään lohkotietoja.

Vaihtoehtoinen korvaaminen palkkiona

Bitcoin-verkon tapahtumien määrän kasvaessa kaikki tapahtumat eivät välttämättä sovi lohkoihin. Sellaisena kaivostyöläiset todennäköisesti valitsevat käyttäjien lähettämät tapahtumat, jotka sisälsivät eniten palkkioita. Tämä tarkoittaa, että jotkin liikaa tapahtumia – käyttäjiltä, ​​jotka maksoivat liian matalan maksun – eivät koskaan voineet vahvistaa lainkaan. Ja koska monet täydet solmut ja kaivostyöläiset hylkäävät ristiriitaisia ​​tapahtumia (lähetetään samoista syötteistä kuin aikaisempi tapahtuma), matalamaksuiset liiketoimet voivat juuttua verkkoon.

Tämän ratkaisemiseksi Bitcoin Core 0.12.0 ottaa käyttöön korvaavan korvauksen korvauksen. Jos tapahtuma lähetetään opt-in-korvaushinnalla, käyttäjät voivat korvata oman tapahtuman uudemmalla tapahtumalla sisällyttämällä korkeamman maksun. (Tämä tarkoittaa myös, että kaivostyöläiset voivat lisätä tulojaan, kun he valitsevat liiketoimet, jotka sisältävät korkeammat palkkiot.)

“Opt-in” -osa opt-in-korvaushinnasta tarkoittaa, että tämäntyyppiset liiketoimet eivät ole oletusarvoisia, ja ne merkitään korvaaviksi tapahtumiksi Bitcoin-verkossa. Niiden, jotka luottavat nollavahvistustapahtumiin, tulisi haluta seurata näitä korvaavia maksutapahtumia, koska ne voidaan helposti peruuttaa, kunnes ne vahvistetaan. (Tietysti nollavahvistustapahtumat olivat älä koskaan turvaa.)

Se, onko korvaamisen korvaaminen todella hyödyllinen, riippuu Bitcoin-kaivostyöläisistä; he lopulta päättävät, mitkä liiketoimet sisällytetään lohkoihin ja minkä politiikan mukaisesti.

Tor oletuksena

Vaikka Bitcoinin väitetään usein antavan käyttäjille nimettömyyden, tämä ei ole täysin totta. Bitcoin-käyttäjät voidaan poistaa nimettömyydestä esimerkiksi vertaisverkon kautta. Jos selvitetään, mistä IP-osoitteesta tapahtuma on alkanut, näitä tietoja voidaan käyttää tunnistamaan Bitcoin-käyttäjät.

Käyttäjien yksityisyyden suojaamiseksi Bitcoin Core 0.12.0 muodostaa automaattisesti yhteyden Bitcoin-verkkoon anonymisointityökalun Tor (The Onion Router) avulla – jos Tor on asennettu samaan tietokoneeseen. Tor salaa tiedot ja reitittää ne useiden solmujen kautta ympäri maailmaa ennen niiden lähettämistä. Tämän vuoksi on vaikea – ehkä mahdotonta – jäljittää, mistä Bitcoin-tapahtuma on alkanut.

(On huomattava, että Torin käyttö sinänsä ei välttämättä riitä suojaamaan Bitcoin-käyttäjän henkilöllisyyttä. Katso lisätietoja Bitcoin Magazinen Beginners Guide to Bitcoin Privacy -oppaasta.)

Nopeampi allekirjoituksen vahvistus

Allekirjoitukset ovat salaustemppu, jossa yksityiset avaimet “yhdistetään” muihin tietoihin yksilöllisen numerosarjan laskemiseksi. Vastaavia julkisia avaimia voidaan käyttää varmistamaan, että allekirjoitukset luotiin yksityisillä avaimilla. Bitcoinin tapauksessa allekirjoituksia käytetään tosiasiallisesti todistamaan bitcoinin omistaminen ja sellaisenaan tapahtumien vahvistamiseksi.

Mutta on useita tapoja suorittaa tämä salaustemppu, joka voi johtaa erilaisiin allekirjoituksiin – kaikki voimassa omalla tavallaan. Ja jos eri Bitcoin-solmut soveltavat eri menetelmiä validointiin, jotkut solmut saattavat pitää tiettyjä tapahtumia kelvollisina, kun taas muut solmut eivät, mikä voisi jakaa Bitcoin-verkon.

Seuranta a pehmeä haarukka Tämän ongelman ratkaisemiseksi viime vuonna Bitcoin Core 0.12.0 vaihtaa nyt kaikki validoinnit ”OpenSSL” -salauskirjastosta “libsecp256k1” -ohjelmaan, jonka ovat kehittäneet Dr. Pieter Wuille, Gregory Maxwell ja muut Bitcoin Core -kehittäjät..

Lisäetuna tämä uusi allekirjoituksen validointijärjestelmä vaatii vähemmän CPU-tehoa, mikä alentaa koko solmun käyttökustannuksia ja vähentää merkittävästi lohkon vahvistusaikaa.

Täydellinen luettelo parannuksista on Bitcoin Core 0.12.0: n julkaisutiedoissa GitHub.

Kiitos Bitcoin Corein pääkehittäjälle Wladimir van der Laanille ja Ciphrex Toimitusjohtaja ja Bitcoin Core -kehittäjä Eric Lombrozo oikolukemiseen ja lisättyyn palautteeseen.