I dag, den 2. maj 2019, markeres den officielle frigivelse af Bitcoin Core 0.18.0, den 18. generation af Bitcoins originale softwareklient, der blev lanceret af Satoshi Nakomoto for næsten 10 år siden, og stadig den dominerende Bitcoin-implementering på netværket i dag. Overvåget af Bitcoin Core-leadholder Wladimir van der Laan, blev denne seneste store frigivelse udviklet over et tidsrum på omkring seks måneder af over hundrede bidragydere.

Bitcoin Core 0.18.0 inkluderer det typiske udvalg af ydeevneforbedringer og fejlrettelser samt nogle nye funktioner.

Her er en oversigt over nogle af de mest betydningsfulde ændringer.

Kompatibilitet med hardware-tegnebog

En af de mest forventede ændringer i Bitcoin Core 0.18.0 giver brugerne mulighed for at forbinde deres hardware-tegnebog (Ledger, Trezor, Digital BitBox, KeepKey og Coldcard) gennem værktøjet Hardware Wallet Interaction (HWI). Dette kombinerer en af ​​de sikreste måder at gemme dine private nøgler med den sikreste måde at interagere med blockchain på.

Hardware-tegnebøger betragtes som sikre, fordi brugerens private nøgler aldrig forlader enheden. Nøglerne udsættes aldrig for internettet eller computeren, som de er tilsluttet, hvilket gør hardware-tegnebøger immune over for fjernhacking.

Mens det allerede er muligt at forbinde en hardware-tegnebog til en Electrum-tegnebog, der er tilsluttet din fulde node ved hjælp af Electrum Personal Server, vil HWI være den første indbyggede hardware-til-node-mulighed som en del af Bitcoin Core-projektet. Indtil videre er HWI-scripts stadig kun kommandolinje, og der kræves en manuel proces for at forbinde hardware-tegnebogen.

GUI-support til multiwallet-funktion

Et andet fremskridt fra den seneste opdatering giver brugerne mulighed for at parre med flere tegnebøger. Dette bygger på noget af det arbejde, der er udført i Bitcoin Core 0.17.0, hvor brugerne ikke længere blev begrænset af kun at oprette tegnebøger, når de startede deres node, og i stedet kunne oprette og bruge nye tegnebøger, når de vil. I Bitcoin Core 0.18.0 kan brugerne parre disse flere tegnebøger, de har oprettet, og tilslutte funktionen til den grafiske brugergrænseflade (GUI).

Denne funktion vil fortsat blive forbedret med senere opdateringer, da der stadig er nogle kendte problemer med at bruge GUI til at få adgang til “multiwallet” -kommandoen. Det mest bemærkelsesværdige er, at du ikke kan bruge møntkontrolfunktioner med flere tegnebøger, ellers vil du sandsynligvis beholde den forkerte tegnebog, når du forsøger at skifte tegnebog.

Møntkontrolfunktionen giver brugeren mulighed for at kontrollere, hvilke mønter i tegnebogen der skal bruges, når du sender en transaktion. Denne funktion er et vigtigt aspekt ved opretholdelse af brugernes privatliv, da visse ubrugte transaktionsoutputs (UTXO) muligvis afslører mere end andre, enten ved den adresse, de sendes fra, eller det beløb, de er værd. (Hvis du f.eks. Har en UTXO, der er 1.000 BTC værd, og en, der er 0,1 BTC værd, foretrækker du måske at bruge 0,1 UTXO for at forhindre, at den person, du betaler, lærer, at du ejer mindst 1.000 BTC.)

Forbedringer af Output Script Descriptors Language

Foreslået af Blockstream-ingeniør og Bitcoin Core-bidragyder Pieter Wuille, output-scriptbeskrivelsessproget debuterede i Bitcoin 0.17.0. Hovedbrugen af ​​dette sprog er at give brugerne mulighed for at navngive deres forskellige typer offentlige og private nøgler tilknyttet deres tegnebøger og gøre det lettere at flytte disse nøgler fra en tegnebog til en anden. I henhold til hans oprindelige forslagsdokument er Wuilles ultimative mål en dag “at fjerne behovet for at importere scripts og nøgler helt og i stedet gøre tegnebogen bare til at være en liste over disse beskrivere og deres tilknyttede metadata.”

Da Wuille og andre udviklere fortsætter med at arbejde hen imod at udvide denne liste med deskriptorer, forfiner den seneste opdatering nogle af det eksisterende sprog ved at levere nye kommandoer, der giver brugerne mulighed for at begynde at importere menneskelig læsbare deskriptorer til hvert script, som Bitcoin Core kan underskrive..

Bitcoin Mining fremmer adskilt adskilt adfærd

Getblocktemplate (GBT) var det første forsøg på en decentral, open source, Bitcoin minepuljeprotokol og blev udviklet af Bitcoin-samfundet i 2012. Nogle af de poolspecifikke mineprotokoller på det tidspunkt udstedte simpelthen blokoverskrifter til en minearbejder at løse, uden viden om, hvad der faktisk var i blokken, og gav i det væsentlige kontrol blindt til pooloperatøren. Ligesom den meget nyere BetterHash-protokol decentraliserede GBT denne proces ved at returnere strømmen tilbage til minearbejderen (“hasher”) ved at flytte blokering (transaktionsvalg) til ham.

Hvis du er en minearbejder, der ønsker at deltage i en understøttet pool, skal minearbejderen kontakte poolserveren for at begynde at bruge protokollen og anmode om en indledende skabelon, som inkluderer reglerne for deltagelse i poolen. Disse regler er tilpasset af minepuljen og kan variere fra coinbase- og nonce-parametre til min / max gange hashing. Men i den seneste opdatering mislykkes opkald til at modtage denne skabelon, der ikke aktiverer SegWit, og minearbejderen modtager en fejlmeddelelse. ((Imidlertid er en minearbejder, der ringer til getblocktemplate uden SegWit specificeret, sandsynligvis en brugerfejl under alle omstændigheder, da dette ville resultere i lavere belønninger for minearbejderen.)

SegWit, implementeret i 2017, betragtes som den største protokolopdatering, der nogensinde er foretaget til Bitcoin-softwaren. Den største ændring som følge af SegWit var at rette smidbarhedsfejlen og erstatte blokstørrelsesgrænsen med en blok “vægt” grænse, der tillod op til 4 megabyte transaktionsdata og gav et betydeligt løft i netværkets transaktionskapacitet.