I dag markerer den officielle frigivelse af Bitcoin Core 0.16.0, den 16. generation af Bitcoins originale softwareklient, der blev lanceret af Satoshi Nakamoto for lidt over ni år siden. Overvåget af ledende vedligeholder af Bitcoin Core Wladimir van der Laan, blev denne seneste store frigivelse udviklet af ca. 100 bidragydere over en periode på fem måneder..
Som normalt for nye udgivelser inkluderer Bitcoin Core 0.16.0 forbedringer af ydeevnen, fejlrettelser og andre optimeringer. Denne frigivelse indeholder især flere tilføjede funktioner i tegnebogens grænseflade. Mest bemærkelsesværdigt gør Bitcoin Core 0.16.0 Segregated Witness (SegWit) fuldt tilgængeligt for tegnebogsbrugere, hvilket er, hvad det meste af indsatsen var fokuseret på, og det er også grunden til, at denne udgivelse undertiden kaldes en “SegWit-special.”
Her er en oversigt over nogle af de mest bemærkelsesværdige ændringer.
Segregated Witness in the Wallet Interface
Segregated Witness var selvfølgelig den vigtigste Bitcoin-protokolopgradering i 2017, hvis ikke den største protokolopgradering nogensinde. Det introducerede en helt ny blokdatastruktur for opgraderede noder – mens ikke-opgraderede noder kunne fortsætte med at fungere som normalt. Blandt andre fordele erstattede SegWit Bitcoins blokstørrelsesgrænse med en blokvægtgrænse, hvilket muliggør blokke med op til 4 megabyte transaktionsdata og dermed øget transaktionskapacitet på netværket.
Segregated Witness selv blev først introduceret i Bitcoin Core 0.13.1, udgivet i oktober 2016. Opgraderingen blev aktiveret i august 2017. Bitcoin Core 0.16.0 er imidlertid den første Bitcoin Core-version, der lader tegnebogbrugere generere SegWit-adresser til modtagelse af betalinger. Dette betyder, at når de penge, der modtages på disse adresser, bruges til en betaling senere, bruger Bitcoin Core-tegnebog-brugere det ekstra blokområde, der tilbydes af SegWit. Alt andet lige skal disse brugere være i stand til at betale lavere gebyrer sammenlignet med ikke-SegWit-transaktioner.
Bitcoin Core er ikke den første tegnebog, der aktiverer Segregated Witness for brugere; adskillige andre tegnebøger havde allerede introduceret denne funktion i løbet af de sidste seks måneder. Siden udviklingen af Bitcoin Core-teamet skrev og foreslog opgraderingen, var det bemærkelsesværdigt, at funktionen ikke havde været tilgængelig for brugere af Bitcoin Core-tegnebog – indtil nu.
Bech32: Bitcoins nye adresseformat
Ledsagende introduktionen af SegWit i Bitcoin Core-tegnebogen er et nyt adresseformat kendt som “bech32.” Dette adresseformat, udviklet af den tidligere Blockstream CTO Gregory Maxwell og Blockstream-udvikleren Dr. Pieter Wuille, kan genkendes, da det starter med “bc1” i stedet for den 1 eller 3, som Bitcoin adresser normalt starter med. Mere vigtigt er, at bech32-adresser bruger færre tegn end det aktuelle adresseformat, fordi der ikke længere er en skelnen mellem små og store bogstaver. Dette reducerer potentialet for menneskelige fejl (for eksempel når en adresse læses højt). Bech32-adresser er også designet til at begrænse andre typer fejl, som disse forårsaget af skrivefejl.
Derudover tilbyder bech32 fordele i forbindelse med SegWit-tegnebogssupport. Indtil videre gør de fleste tegnebøger, der tilbyder SegWit, det ved at “pakke” det ind i P2SH-udgange (med adresser, der starter med en 3). For at bruge mønter fra en sådan adresse skal brugerne afsløre et stykke kode – “indløs script” – for at vise, at mønterne virkelig var låst i en SegWit-output. Med de nye bech32-adresser kan dette trin springes over, hvilket betyder, at udgifter fra en SegWit-adresse vil kræve, at der sendes lidt mindre data over Bitcoin-netværket og inkluderes i blockchain.
Da ikke alle Bitcoin-tegnebøger understøtter bech32-adresser endnu, vil Bitcoin Core 0.16.0-brugere kunne vælge, om de vil generere en bech32-modtagelsesadresse til betalinger eller en P2SH-adresse, hvor P2SH stadig er standard for nu. Bitcoin Core-tegnebogen understøtter naturligvis afsendelse af transaktioner til enhver type Bitcoin-adresse.
Erstat efter gebyr som standardsendemulighed
Da Bitcoin-blokke er blevet fyldt op i løbet af de sidste par år, passer ikke alle transaktioner på netværket i den første tilgængelige blok, der udvindes. I stedet prioriterer minearbejdere typisk de transaktioner, der inkluderer de fleste gebyrer. Hvis brugere ønsker at få deres transaktioner bekræftet hurtigt, skal de inkludere et højt gebyr. For mindre presserende transaktioner skal et lavere gebyr være tilstrækkeligt. Mange tegnebøger inkluderer gebyrestimeringsalgoritmer til at beregne, hvilket gebyrniveau, der får en transaktion bekræftet inden for forskellige tidsrammer.
Imidlertid beskæftiger Bitcoin-netværket sig med iboende uforudsigelighed med hensyn til den hastighed, hvormed blokke findes, og antallet af transaktioner, der til enhver tid transmitteres. Dette kan gøre det vanskeligt at medtage det rigtige transaktionsgebyr, hvilket betyder, at brugerne muligvis må vente længere på en bekræftelse, end de havde tænkt sig.
Siden Bitcoin Core 0.15.0 har tegnebogbrugere været i stand til at tilføje et “udskiftningsgebyr” -tag til deres transaktioner. Med et sådant mærke ved noder og minearbejdere på netværket, at afsenderen måske vil erstatte den transaktion med en nyere transaktion, der inkluderer et højere gebyr. Dette gør det muligt for brugere af Bitcoin Core-tegnebog nemt at bumpe deres transaktioner i kø for at få det bekræftet hurtigere.
Bitcoin Core 0.16.0 gør udskiftning af gebyr til standardindstillingen for afsendelse for første gang. Brugere kan stadig fravælge at tilføje et udskiftningsgebyr til deres transaktioner ved at fjerne markeringen i en boks, men deres transaktioner kan udskiftes, hvis de ikke fjerner afkrydsningen. Dette bør forhindre brugere i uforvarende at fratage sig deres muligheder og kun bemærke, når det er for sent, at de let kunne have bumpet deres transaktioner.
For flere detaljer om, hvad der er nyt i Bitcoin Core 0.16.0, se udgivelses noter. Du kan downloade Bitcoin Core 0.16.0 fra bitcoincore.org.