Schimbările de consens și peer-to-peer din spatele SegWit ating 1486 de linii de cod, plus alte 3338 de linii de teste. Testarea a mers de la versiunea lui Pieter Wuille pe sidechainul Elements, în 2015, prin segnet, până la testnetul obișnuit al Bitcoin, în mai 2016. Semnăturile Schnorr și MAST figurează ca upgrade-uri ulterioare pe care SegWit le-ar ușura.
Minerii au timp până la blocul 419328: soft forkul CSV a ajuns la lock-in la blocul 417312, după ce 1946 din 2016 blocuri (96,53%) au semnalizat pentru BIP68, BIP112 și BIP113. Toate nodurile de minerit și de rezervă trebuie să ruleze Bitcoin Core sau Knots 0.12.1, iar cine are versiunea de bloc scrisă direct în cod trebuie să dezactiveze bitul 0.
BIP9 le permite minerilor să semnalizeze pregătirea pentru până la 29 de soft forkuri simultane, prin biți din headerul blocului. O propunere ajunge la lock-in când 95% din blocurile unei ferestre de 2016 semnalizează, apoi se activează după încă o ajustare, sau eșuează la expirare. Spre deosebire de IsSuperMajority, nu lasă orfan un bloc care nu semnalizează, dar respectă noile reguli.
Peerii care folosesc compact block relay (BIP152) schimbă o schiță a fiecărui bloc nou, de circa 9 KB pentru un bloc mediu de 1 MB, plus un supliment pentru tranzacțiile pe care destinatarul nu le are. În experimente live în modul high-bandwidth, cu până la 6 tranzacții preumplute, mult peste 90% din blocuri s-au propagat fără nicio cerere suplimentară.
Semnalizarea pentru soft forkul CSV începe la miezul nopții de 1 mai 2016 cu Bitcoin Core 0.12.1, prima lansare prin version bits BIP9. Include BIP68, BIP112 și BIP113; OP_CHECKSEQUENCEVERIFY permite înghețarea monedelor pe o durată stabilită după confirmare, lucru de care va depinde Lightning Network. Sistemul de alerte p2p e acum dezactivat implicit.
Marco Falke este noul maintainer Testing & QA al Bitcoin Core, a anunțat Wladimir van der Laan. El preia integrarea pull requesturilor pentru cadrul de testare, un pas firesc după un an petrecut cu teste unitare, acoperire și verificarea muncii altor contributori.
Problemele de securitate și versiunile noi au acum o listă proprie de anunțuri Bitcoin Core, cu înscriere opțională și numai pentru anunțuri. Utilizatorii ceruseră o cale de a primi doar notificările critice, iar proiectul se așteaptă la un volum foarte mic.
O soluție de Sudoku 16x16 s-a vândut cu 0,10 BTC în prima Zero-Knowledge Contingent Payment reușită pe Bitcoin, demonstrată live la Financial Cryptography 2016, în Barbados. Sean Bowe, din echipa Zcash, a fost vânzătorul și a făcut aproape toată partea de inginerie. Conform protocolului, datele își schimbă proprietarul doar dacă plata se face, fără vreun terț care să arbitreze.
OpenSSL iese din verificarea semnăturilor în Bitcoin Core 0.12.0, înlocuit de libsecp256k1, care reduce reindexarea și validarea blocurilor noi la mai puțin de jumătate din timpul vechi. Mempoolurile primesc un plafon implicit de 300 MB, ceea ce închide o cale prin care atacatorii puteau prăbuși nodurile cu puțin RAM. Tot nou: Replace-by-Fee opt-in (BIP 125) și -maxuploadtarget pentru limitarea traficului de upload.
Bitcoin Core precizează că site-ul care a găzduit prima dată lucrarea Bitcoin nu este afiliat proiectului, care are propriul site oficial. Dezvoltarea se desfășoară pe IRC, GitHub și lista de discuții bitcoin-dev. Proiectul nu își asumă responsabilitatea pentru alte forumuri și le cere membrilor comunității să nu facă brigading și să nu lanseze atacuri denial-of-service.
Bitcoin Core
Buletin de securitateDezvoltare13 minute de lectură
Maleabilitatea cauzată de terți dispare la tranzacțiile ale căror intrări sunt toate cheltuieli SegWit, pentru că semnăturile se mută într-un witness care nu mai intră în txid. Câștigă atât autorii de portofele, cât și Lightning Network. Hash-uirea semnăturilor devine liniară, fiecare octet fiind hash-uit de cel mult două ori; sub vechea schemă, validarea unui singur bloc a ajuns să dureze 25 de secunde.
Dezvoltatorii pot testa acum Segregated Witness pe o rețea proprie, compilând ramura segwit și adăugând -segnet la bitcoind și bitcoin-cli. Ledger, Trezor, Electrum și Bitgo au anunțat că vor suporta SegWit, iar mSIGNA și Green Address oferă previzualizări timpurii.
Un videoclip arată activitatea de commituri din 2015 în depozitul Bitcoin Core, an cu 2 versiuni majore, 5 versiuni de mentenanță și două soft forkuri activate: BIP66 și BIP65, ultimul adăugând CHECKLOCKTIMEVERIFY. Cei care fac review, testele și traducerile nu apar în datele de commit, atrage atenția proiectul.
Regulile de consens nu sunt la latitudinea echipei Bitcoin Core, spun contributorii săi; decid utilizatorii, alegând ce software rulează, și de aceea programul vine fără actualizare automată. Preferă soft forkurile, păstrează hard forkurile pentru cazuri rare cu acord aproape unanim și văd în straturile suplimentare peste protocol drumul către o scară extrem de mare.
Blocurile cu noua limită de cost din SegWit pot ajunge la puțin sub 4 MB, dar calculele lui Anthony Towns plasează un bloc de tranzacții P2PKH cu o singură semnătură aproape de 1,6 MB și unul de multisig 2-din-2 aproape de 2,0 MB. Calendarul provizoriu din FAQ prevede SegWit în 0.13.1, în octombrie 2016, iar blocurile slabe, IBLT sau Lightning ar urma în 2017.
Cele 57 de persoane care au semnat foaia de parcurs pentru capacitate, printre care Pieter Wuille, Gregory Maxwell și Wladimir J. van der Laan, o numesc cea mai bună continuare a muncii lor de scalabilitate în Bitcoin Core. Lista rămâne deschisă pentru alte semnături.
Foaia de parcurs a lui Gregory Maxwell, trimisă pe lista bitcoin-dev la încheierea Scaling Bitcoin Hong Kong, se sprijină pe libsecp256k1, versionbits BIP9 și Segregated Witness de la Pieter Wuille. El raportează că ConnectTip rulează de 7 ori mai repede în 0.12 și descrie SegWit ca pe un soft fork care scoate semnăturile din limita actuală de dimensiune a blocului, ceea ce echivalează, în cel mai rău caz, cu o creștere de 4 MB.
Contributori tehnici, printre care Wladimir J. van der Laan și Pieter Wuille, au semnat o scrisoare în care cer comunității să nu judece dinainte propunerile de scalare. Semnatarii trimit în schimb la procesul de consens și la două ateliere deschise Scaling Bitcoin: Montreal, pe 12-13 septembrie, și Hong Kong, pe 6-7 decembrie.