Segregated Witness (SegWit) har aktiverats på Bitcoin. Från och med idag verkställer alla SegWit-klara noder i Bitcoin-nätverket de nya reglerna, vilket markerar Bitcoins största protokolluppgradering hittills.
Men aktivering blev inte lätt och det kom inte snabbt.
Det här är en återblick på den långa vägen till SegWit.
Problemet
Bitcoin-transaktioner består av två huvuddelar. En del är “bastransaktionsdata.” Det täcker vilka bitcoins som flyttas och vart de flyttas till, liksom vissa andra data. Den andra delen kallas ”vittnet”. Detta innehåller lite kod med kryptografisk signaturdata, vilket bevisar att ägaren av en bitcoin verkligen ville spendera bitcoin.
Det är denna signaturinformation som ger en liten komplikation med den. I det som kallas “smidighetsfel” kan Bitcoin-signaturer ändras något av vem som helst, även efter att dessa signaturer har skapats och utan att ogiltigförklara signaturerna. Detta i sin tur innebär att hela transaktionens utseende, och mer specifikt transaktionsidentifieraren, kan ändras av de som vidarebefordrar transaktioner över Bitcoin-nätverket eller av gruvarbetare som inkluderar transaktioner i block.
Statistik från smidighetsattacken 2015 på Bitcoin. De röda linjerna representerar ungefär mallade transaktioner i nätverket
Detta behöver inte vara ett stort problem i sig. Transaktioner är fortfarande giltiga och kommer att flytta bitcoins från samma plats till samma plats, under alla samma förhållanden. Det komplicerar dock att skapa nyare transaktioner beroende på obekräftade transaktioner: Nya transaktioner måste känna till transaktionsidentifieraren de är beroende av. Detta i sin tur gör det betydligt svårare att bygga vissa protokoll från andra lagret ovanpå Bitcoin, som dubbelriktade betalningskanaler.
Idén
Den allmänna idén att lösa smidighetsfelet genom att “separera” signaturdata från andra transaktionsdata har flera år tillbaka.
Så långt tillbaka som 2012, liknande Bitcoin Core bidragsgivarna Russell O’Connor, Matt Corallo, Luke Dashjr och Gregory Maxwell, samt Bitcointalk-moderator “Theymos” diskuterades frågan om IRC Bitcoin-utvecklingskanaler – men vid den tiden såg de inte ett hållbart sätt att ta bort det i Bitcoin-nätverket.
Russell O’Connor, Gregory Maxwell, Luke Dashjr och Theymos diskuterar smidighetsfel på IRC redan 2012
Ett år senare, i augusti 2013, utgåvan återupptäcktes, som Bitcoin Core-bidragsgivare Peter Todd och Gregory Maxwell hade liknande diskussioner om IRC. Men nu gjorde de två framsteg med sina idéer för att motverka smidighet. “Jag pratar om att göra [helheten] av scriptsig till stor del [separat]”, skrev Maxwell. “Jag skulle till och med föreslå att transaktionen används som [transaktions-ID] utan scriptsigs.”
Annan månad senare, Maxwell och den här gången den välkända kryptografen Dr. Adam Back diskuterade återigen smidighetsfrågan på IRC. Nu föreslog Back att beräkna transaktions-ID: t genom att utelämna signaturen. Maxwell kommenterade dock att “att få sig ut ur texten kan hjälpa men det skulle vara en mycket djup förändring … och det är faktiskt knepigt att säkra.”
Sidkedjan
Blockstreams ursprungliga förslag om sidokedjetillägg för Bitcoins blockchain
I augusti 2014, blockchain-teknikföretag Blockstream grundades av samma Adam Back och Gregory Maxwell, samt entreprenör och investerare Austin Hill och flera Bitcoin Core-utvecklare, inklusive Dr. Pieter Wuille. Företaget skulle fokusera på sidokedjor: alternativa blockkedjor som effektivt kan kopplas till Bitcoin.
I början av 2015 beslutade Blockstream-ingenjörer att implementera en ny funktion i företagets prototyp sidokedja Element, som tillkännagavs offentligt i juni samma år. Den här funktionen skulle slutgiltigt lösa problemet med smidighet på sidokedjan – genom att separera bastransaktionsdata från vittnesdata i olika datastrukturer.
Namnet på den här nya funktionen var naturligtvis, Segregerat vittne.
Tvist om blockstorlek
Det hade vävt under en tid, tekniskt sedan dess Oktober 2010, mer konkret sedan Februari 2013 och slutligen offentligt, spricker på scen till våren 2015: tvist om blockstorleksgräns.
Tidigare Bitcoin Core-utvecklare Gavin Andresen och Bitcoinj framför allt huvudutvecklaren Mike Hearn trodde att Bitcoins gräns för 1 megabyte blockstorlek borde ökas med en hård gaffel, en oförenlig protokolländring som skulle kräva nästan hela Bitcoin-ekosystemet för att uppgradera. Ingen lätt uppgift – ännu mer eftersom det inte fanns något samhällsövergripande samförstånd för denna förändring.
Oavsett, av sommaren 2015, Andresen och Hearn meddelade att de skulle gå vidare med sina planer och använda alternativet Bitcoin XT programvaruklient. Den kontroversiella karaktären av insatsen sätter Bitcoin-utvecklingssamhället och industrin i något undantagstillstånd.
I ett försök att lösa klyftan och potentiellt hjälpa till att räkna ut en lösning på blockstorlekstvisten organiserades två konferenser (eller workshops) snabbt under senare hälften av 2015: Skalning av Bitcoin Montreal och Skalning av Bitcoin Hong Kong.
Ett av de mest lovande skalningsförslagen presenteras i Montreal var blixtnätverket, en sofistikerad skalningslösning i andra lager som beskrivs i en vitt papper publicerad av Joseph Poon och Thaddeus Dryja bara månader tidigare. Det enda problemet: den här lösningen kräver en smidighetskorrigering.
Skalning av Bitcoin dag 2 – Morgonsession
Titta på den här videon på YouTube
Den mjuka gaffeln
Eric Lombrozo (CodeShark), Wladimir van der Laan (wumpus), Luke Dashjr (luke-jr) och Dr. Pieter Wuille (sipa) diskuterar SegWit som en mjuk gaffel på IRC
Vid denna tidpunkt var utvecklarna fortfarande inte säkra på om och hur smidighetsfelet kunde åtgärdas. De flesta trodde fortfarande att Segregated Witness inte kunde implementeras på Bitcoins huvudkedja utan en hård gaffel.
Men inte Bitcoin Core-bidragsgivare (och Bitcoin knop underhållare) Luke Dashjr.
I oktober 2015, mellan de två Scaling Bitcoin-konferenserna, bidrog Bitcoin Core-bidragsgivarna Eric Lombrozo, Pieter Wuille, Wladimir van der Laan och Luke Dashjr diskuterades en potentiell ny modell för mjuka gafflar på IRC. Under denna chatt påpekade Dashjr att den föreslagna mekanismen inte skulle fungera för alla potentiella mjuka gafflar, som en SegWit mjuk gaffel.
Intressant nog, vad Dashjr ansåg självklart – alternativet att distribuera SegWit som en mjuk gaffel – hade inte ens övervägts av andra alls. Och till och med Dashjr tycktes inte först inse konsekvenserna av denna möjlighet.
För att distribuera SegWit som en mjuk gaffel måste vittnesdata placeras i en ny del av ett Bitcoin-block. Och “ankaret” för alla dessa vittnesuppgifter (“Merkle-roten”) måste flyttas till en något okonventionell del av ett Bitcoin-block: myntbastransaktionen som belönar gruvarbetare nya mynt.
Även om okonventionella skulle Bitcoin Core-bidragsgivarna under de dagar och veckor som följde också inse att denna metod öppnade en intressant “bonus”. Genom att skapa en ny del av ett Bitcoin-block för vittnesdata kan Bitcoins blockstorlek ökas på ett sådant sätt att icke-uppgraderade noder inte märker. Detta kan faktiskt öka Bitcoins blockstorlek utan att öka Bitcoins befintliga blockstorleksgräns.
Några veckor innan den andra skalnings Bitcoin-workshopen trodde flera Bitcoin Core-bidragsgivare att de äntligen kunde ha hittat åtminstone en tillfällig lösning för tvisten om blockstorlek. Segregated Witness skulle effektivt öka gränsen på ett bakåtkompatibelt sätt, samtidigt som det långvariga smidighetsfelet fixades och därigenom möjliggjorde mer avancerade skalningslösningar som blixtnätverket.
En win-win-win-lösning – eller så trodde de.
Presentationen
Segregated Witness – som en mjuk gaffel – presenterades först av Pieter Wuille år December 2015, vid den andra upplagan av Scaling Bitcoin-workshops i Hong Kong. Många hörde först om förslaget där, och det verkade initialt välkomnas med entusiasm.
Skalning av Bitcoin – Hongkong
Titta på den här videon på YouTube
Strax efter att denna andra upplaga av Scaling Bitcoin hade avslutats föreslog Gregory Maxwell det som har blivit känt som färdplan, som presenterade SegWit som en mittpunkt. Denna färdplan var snabbt godkändes av Bitcoin Core-utvecklingsteamet, liksom andra utvecklare och användare i det bredare Bitcoin-ekosystemet.
Kritiken
Men trots inledande spänning hade Segregated Witness också kritiker.
Oron för den föreslagna protokolluppgraderingen varierade. Jeff Garzik, den tidigare Bitcoin Core-bidragsgivaren – som snart skulle hitta sitt eget utvecklingsföretag Bloq – tänkte inte SegWit en tillräcklig kortvarig skalningslösning. Bitcoin XT-ledande utvecklare Mike Hearn var under tiden inte alls övertygad om förslaget: Han avfärdade lösningen som en ”redovisningstrick”Och helt sluta med Bitcoin-utveckling strax efter.
Jonathan Toomim, utvecklare för alternativ programvaruklient Bitcoin Classic, argumenterade att förslaget var “ful och besvärligt”, vilket tyder på att det skulle genomföras bättre som en hård gaffel. Till och med Bitcoin Core-bidragsgivare Peter Todd hade hans oro, särskilt relaterad till gruvdrift.
De flesta av dessa frågor ansågs dock vara lösbara, övertygande eller värda avvägningen av Bitcoin Core-utvecklingsteamet i stort. Utvecklingen av mjukgaffeluppgraderingen påbörjades.
Utvecklingen
Även om en version av Segregated Witness redan implementerades på Elements, skulle koden för Bitcoin-huvudkedjeversionen oftast ännu inte skrivas, inte bara för att den behövde implementeras som en mjuk gaffel utan också för att SegWit för Bitcoin skulle njuta utbud av nya funktioner som inte finns i Elements: till exempel “vittnesrabatt” som är nödvändigt för att öka blockstorleken, ny kompatibilitet för peer-to-peer-nätverket och mer.
Det konkreta Bitcoin-förbättringsförslaget för SegWit, BIP141, författades av Pieter Wuille, Ciphrex VD Eric Lombrozo och oberoende Bitcoin Core-bidragsgivare Dr. Johnson Lau. I början av januari 2016, mitt i en uppvärmd skalningsdebatt, lanserade dessa och andra Bitcoin Core-bidragsgivare ett första dedikerat testnätverk för protokolluppgraderingen, som fick namnet SegNet. Ytterligare två veckor senare offentliggjordes detta testnät för det bredare utvecklingssamhället för Bitcoin att experimentera med. Och i mars uppgraderades SegNet för att stödja testversioner av blixtnätverket.
Utvecklingen fortsatte under de kommande månaderna, med feedback från Bitcoins utvecklingsgemenskap, fixade buggar, förbättrade kodbasen i enlighet därmed och lanserade flera andra iterationer av SegNet (s).
SegWit GitHub-sidan, där utveckling och andra frågor är offentligt synliga för alla att hålla reda på och bidra till
Samtidigt nådde Bitcoin Core-bidragsgivare också den bredare Bitcoin-industrin, vilket över tiden ledde till a konsekvent växande lista av företag och projekt som åtar sig att stödja Segregated Witness.
I juni räknade koden för segregerat vittne 4 743 kodrader (inklusive testkod) och föreslog att 554 befintliga rader med Bitcoin Core-kod skulle tas bort eller modifieras. Efter mer granskning från flera bidragsgivare slog Bitcoin Core-huvudansvarig, Wladimir van der Laan, det samman till Bitcoin Cores “huvudfilial” i slutet av den månaden.
Mötena
Samtidigt som SegWit utvecklades återuppvärmdes spänningarna i blockstorleken i Bitcoin-communityn. Den här gången ledd av Bitcoin Classic dök ett antal Bitcoin-företag och gruvarbetare upp fast besluten till hård gaffel för att öka blockstorleksgränsen till 2 megabyte.
I det som kanske bäst beskrivs som ett nödmöte, återigen i Hong Kong, träffades flera Bitcoin Core-bidragsgivare, gruvpooloperatörer och andra medlemmar i Bitcoin-industrin för att diskutera skalningsfrågan..
Mötet ledde till ett avtal som blev känt som ”Bitcoin Roundtable Consensus”(Eller” Hongkongavtalet ”). De Bitcoin Core-bidragsgivare som var närvarande vid mötet enades om att arbeta med en blockstorleksgräns för att öka hårdgaffeln för att föreslås för Bitcoin Core-utvecklingsgruppen och det bredare Bitcoin-samhället. Gruvarbetarna gick i sin tur med på att köra en SegWit-release i produktion när en sådan hård gaffel skulle släppas i en version av Bitcoin Core. Krisen tycktes avvärjas – även om det snabbt blev klart Inte Alla var glad över avtalet.
Flera månader senare träffades en ännu större grupp av Bitcoin Core-bidragsgivare och gruvpooloperatörer i Kalifornien. De Bitcoin Core-bidragsgivare som var närvarande vid detta möte lämnade övertygade om att Segregated Witness skulle aktiveras av gruvarbetarna.
Befrielsen
Ungefär sex månader efter det ursprungliga schemat – utgåvan var ursprungligen inställd på april – Segregated Witness introducerades officiellt oktober 2016, i Bitcoin Core version 0.13.1. Protokolluppgraderingen implementerades också i flera andra Bitcoin-implementeringar, som Bitcoin Knots och Bcoin.
Använda en aktiveringsmetod som kallas “VersionBits” (BIP9), utformad för att minimera nätverksstörningar, var 95 procent av gruvarbetarna (med hashkraft) tvungna att signalera stöd för SegWit för att aktiveras i Bitcoin-nätverket. Denna mineralsignalering skulle börja den 15 november. Under tiden uppmuntrades användarna att uppgradera sina kunder, vilket med tiden tycktes det, många gjorde.
Från och med augusti 2017 består den stora majoriteten av Bitcoin-nätverket av SegWit-klara noder (källa: luke.dashjr.org)
Baserat på mötena med gruvpooloperatörer, liksom en allmän övertygelse om att SegWit skulle vara en välsignelse för Bitcoin, förväntade sig många att den mjuka gaffeln skulle aktiveras ganska snabbt.
Politiken
Men det var inte det som hände. Det visade sig att flera deltagare i Hong Kong Roundtable Consensus var oense om vad de faktiskt hade skrivit på.
Bitmain-VD, Jihan Wu, indikerade särskilt att han bara skulle vara villig att aktivera SegWit om Bitcoin Core-utvecklingsteamet också implementerade en hård gaffel för att öka blockstorleksgränsen i deras kodbas. Andra gruvpooler, inklusive F2Pool, HaoBTC och bitcoin.com, signalerade inte heller stödet för den mjuka gaffeln.
Bitmain (och dotterbolaget AntPool) kräver en ökning av blockstorlek för hård gaffel i utbyte mot SegWit-aktivering.
Dessutom uppstod en ny kinesisk gruvpool: ViaBTC. Med nära band till Bitmain fick ViaBTC ensam tillräckligt med hashkraft för att ensam blockera SegWit-aktivering. Och dess operatör, Haipo Yang, positionerade sig som en stark kritiker av den föreslagna protokolluppgraderingen.
SegWit-aktivering verkade långt borta.
UASF
Avataren för pseudonym Bitcoin och Litecoin-utvecklaren Shaolinfry
I februari 2017, drygt tre månader efter det officiella släppet av SegWit, presenterade sig en ny möjlighet.
Den pseudonyma utvecklaren “Shaolinfry”, som tidigare hade bidragit till Litecoin, tappade ett nytt förslag i Bitcoin utvecklings e-postlista och det populära bitcointalk.org forum: en “användaraktiverad mjukgaffel” eller “UASF.”
Shaolinfry hävdade i sitt e-postmeddelande att hashkraftsaktiveringsmekanismen som hade blivit standard för mjuka gafflar aldrig var avsedd att vara en “röst”. “[D] signaleringsmetoden tolkas allmänt för att betyda att hashkraften röstar om ett förslag och det verkar svårt att rätta till detta missförstånd i samhället i stort”, skrev han.
Shaolinfry föreslog ett alternativ: en användaraktiverad mjukgaffel (UASF). Istället för hashkraftsaktivering skulle en användaraktiverad mjukgaffel ha en “” flaggaktivering “där noder börjar verkställas vid en förutbestämd tid i framtiden.” Så länge en sådan UASF verkställs av en ekonomisk majoritet, bör detta tvinga en majoritet av gruvarbetare att följa (eller aktivera) den mjuka gaffeln.
Idén genererade omedelbart surr i Bitcoin-forum och sociala medier. Och när tidigare BTCC COO och uttalad SegWit-förespråkare Samson Mow uppstart en bounty-fond för utveckling av en UASF-programvaruimplementering, det verkade som om förslaget kunde bli verklighet.
Den patenterade tekniken
Under den första veckan i april 2017, Gregory Maxwell tappade vad som allmänt ansågs vara en bombupptäckt på Bitcoin-utvecklingslistan.
Maxwell hävdade att han omarbetade ett specialiserat ASIC-gruvchip och fann att det inkluderade patenterad AsicBoost-teknik. Dessutom avslöjade Maxwell att dold användning av tekniken skulle vara oförenlig med en mjukgaffelversion av SegWit. “En inkompatibilitet skulle gå långt för att förklara något av det mer oförklarliga beteendet från vissa parter i gruvekosystemet”, noterade han.
Medan ingen specifik ASIC-tillverkare nämndes i Maxwells e-post, Bitmain erkänd att den hade implementerat den patenterade tekniken i sina gruvchips – även om den förnekade att ha använt den på Bitcoins mainnet.
Hur som helst, för vissa användare ökade uppenbarelsen till önskan att ha den mjuka gaffeln Segregated Witness aktiverad i Bitcoin-nätverket. Och eftersom hashkraftaktivering verkade ännu mindre troligt nu, såg en användaraktiverad mjukgaffel alltmer ut som lösningen för att uppnå det.
BIP148-förslaget
Strax efter att ha föreslagit den allmänna idén om en UASF öppnade Shaolinfry och ungefär ett dussin andra medlemmar av Bitcoin-communityn en UASF-kanal på Bitcoin Core Community Slack.
Kanalen blev en central diskussions- och organisationspunkt för initiativet. Ett flaggdatum valdes, ursprungligen för 1 oktober, flyttade sedan senare till 1 augusti för att bättre redogöra för potentiellt lågt hashkraftsstöd. Shaolinfry författade ett konkret Bitcoin-förbättringsförslag: BIP148. Öppna krona grundare Rodolfo Novak grundade också en informationswebbplats för att främja idén.
Den ursprungliga planen var att få utbyten och andra företag ombord med UASF. Om dessa företag stöder förslaget och verkställer den mjuka gaffeln, skulle det gå långt för att uppnå en önskad ekonomisk majoritet.
Men UASF fick inte den dragkraft som några av dess förespråkare hoppades på. Medan ett antal företag och lite utvecklare verkade ombord med BIP148, inga större börser eller andra företag förklarade stöd och några till och med talade emot initiativet.
Och i mitten av april, Gregory Maxwell på Bitcoin-utvecklingslistan anges att han trodde att BIP148 också var en dålig idé. Kommer från en av de mest respekterade och inflytelserika Bitcoin Core-bidragsgivarna, hans avslag på initiativet hade en inverkan: Den här versionen av en UASF verkade tappa all fart..
Istället började vissa arbeta med en alternativ UASF: BIP149.
Altcoins
Många altcoins är baserade på Bitcoins kodbas. Detta innebär att SegWit-koden, även om den är utvecklad för Bitcoin, till stor del är kompatibel med dessa alternativa kryptovalutor. Inte överraskande bestämde sig därför flera altcoins för att implementera SegWit. Den första som aktiverade Segregated Witness var Groestlcoin så tidigt som Januari 2017.
Men andra mynt kämpade. Litecoin, Vertcoin och Viacoin verkade alla ha fastnat i Bitcoins politiska spel. Dessa mynt litade till stor del på samma gruvarbetare som Bitcoin, och de flesta signalerade inte stöd för uppgraderingen.
Detta berodde påstås på tekniska problem eller av andra uttalade skäl, men som Viacoins ledande utvecklare Romano påpekade, ”Det verkar mer troligt att de vill avstå från att aktivera Segregated Witness på altcoins eftersom det skulle ge dem ännu mindre anledning att avstå från att aktivera Bitcoin . ”
I april 2017 ledde denna inställning Litecoin-skaparen Charlie Lee till förespråkare för en användaraktiverad mjuk gaffel på “hans” mynt. Hans initiativ var ivrigt plockade upp bland Litecoin-användare; det tog inte lång tid för Litecoin-gruvarbetare, Lee och andra medlemmar i Litecoin-ekosystemet att ordna ett online-möte, vars resultat var Litecoin Global Roundtable Resolution. I utbyte mot vissa åtaganden från Lee gick gruvarbetare överens om att aktivera SegWit. ShaolinFry och andra ansåg UASF-ansträngningen a Framgång.
Om du stöder SegWit på Litecoin, prata med dina plånböcker och utbyten om att stödja UASF. Ser https://t.co/DfkvXw9QYA för mer information. https://t.co/xmwagBNbKt
Charlie Lee
Om du stöder SegWit på Litecoin, prata med dina plånböcker och utbyten om att stödja UASF. Ser https://t.co/DfkvXw9QYA för mer information. https://t.co/xmwagBNbKt
– Charlie Lee [LTC⚡] (@SatoshiLite) 9 april 2017
Inom en vecka efter SegWit-aktivering på Litecoin gjorde en okänd person ett djärvt drag. Han (eller hon) skickade 1 miljon dollar av kryptovalutan till en SegWit-skyddad adress, utmanar någon att stjäla pengarna om de kunde. Till detta datum har frikostighet förblir orörd, vilket ytterligare stärker förtroendet för tekniken.
New York-avtalet
Under tiden rasade blockstorleksdebatten. En annan mjukvaruklient för att öka Bitcoins blockstorleksgräns per hård gaffel, Bitcoin Unlimited fick dragkraft bland Bitcoins gruvsamhälle. Speciellt av Bitmain’s Wu, verkade projektet vara på väg mot en potentiell (och kontroversiell) hård gaffel.
Detta hotande hot, och möjligheten till en “split” i Bitcoins blockchain, var anledning till DCG grundare och VD Barry Silbert för att organisera ett möte före Konsensus 2017 konferens i New York. Inledningsvis tillkännagavs på en privat e-postlista för Bitcoin-entreprenörer och andra framstående branschmedlemmar, mötet skulle samla en betydande del av Bitcoin-industrin, inklusive gruvarbetare – men särskilt inga Bitcoin Core-bidragsgivare.
Resultatet av mötet kallas vanligtvis ”New York-avtalet.”Deltagarna kom överens om vad de ansåg vara en kompromiss mellan de som ville öka Bitcoins blockstorlek med en hård gaffel och de som föredrog SegWit. Baserat på en idé som ursprungligen föreslogs av RSK grundare Sergio Demian Lerner, skulle SegWit aktiveras under specifika förhållanden, medan det också skulle finnas en hård gaffel för att fördubbla Bitcoins “basblockgräns för bas.”
New York-avtalet och dess två konkreta handlingspunkter
Men medan det räckte att säga inte alla i Bitcoin-ekosystemet stödde överenskommelsen stod särskilt ett särskilt problem. Villkoren för SegWit-aktivering var till stor del oförenliga med de som föreslogs av Bitcoin Core-utvecklingsteamet, för vilket koden redan var allmänt antagen av Bitcoin-användare.
Den intoleranta minoriteten
Bilder av Samson Mow till stöd för BIP148 UASF
Medan BIP148 UASF verkade ha tappat mycket ånga till förmån för BIP149, hade inte alla gett upp detta första UASF-förslag helt.
Shaolinfry hade föreslagit konceptet under antagandet att det skulle stödjas av en ekonomisk majoritet och ansåg att det skulle avbrytas före flaggdagen annars. Men en grupp användare på UASF Slack-kanalen hade en annan idé. Några av dem – inklusive Bitcoin Core och Bitcoin Knots-utvecklare Luke Dashjr – funderade på att aktivera den mjuka gaffeln oavsett vad resten av Bitcoin-ekosystemet skulle göra. Även om de var en minoritet, och även om de effektivt skulle göra sig av med ett nytt altcoin, skulle de gå vidare med uppgraderingen.
Runt mitten av maj kopplade Alphonse Pace denna beslutsamhet till ett spelteoretiskt koncept som beskrivs av statistikern och författaren Nassim Nicholas Taleb: den “intoleranta minoriteten.” Kort sagt förutsätter denna idé att även en ekonomisk minoritet skulle kunna tvinga gruvarbetare att aktivera den mjuka gaffeln Segregated Witness. De skulle i onödan förlora en bit av sin “kundbas” (Bitcoin-användare) annars.
Verkligen drivs av AsicBoost-skandalen, SegWit-aktiveringen på Litecoin och missnöje angående New York-avtalet – och den här gången med stöd av spelteori – BIP148-support började snöboll till något av ett viralt fenomen på sociala medier och anslagstavlor igen.
Flera Mer artiklar diskuterade UASF: s växande potential och mycket debatt på sociala medier, YouTube-kanaler följde andra diskussionsplattformar. Under tiden Eric Lombrozo också kastade sin vikt bakom ansträngningen, och UASF hattar distribuerad av Samson Mow blev ilska. Inspirerad av kodnamnet för en kommande lansering av Electrum Wallet, Den 1 augusti kallades “Bitcoin självständighetsdag.”
Det enda problemet: aktiveringsmetoder för BIP148 och New York-avtalet var lika oförenliga som New York-avtalet var med aktiveringsmetoderna som föreslogs av Bitcoin Core-utvecklingsgruppen.
Kludge
Det var Bitmain-garanti ingenjör James Hilliard som kom till undsättning. Hilliard föreslog en lite komplex men smart lösning som skulle göra allt kompatibelt: Segregated Witness-aktivering som föreslagits av Bitcoin Core-utvecklingsteamet, BIP148 UASF och New York-avtalets aktiveringsmekanism. Hans BIP91 kunde hålla Bitcoin hel – åtminstone under hela SegWit-aktivering.
Så länge som en majoritet av gruvarbetare skulle aktivera BIP91 före den 1 augusti, bör alla Bitcoin-noder förbli en del av samma nätverk. Det var ett relativt litet tidsfönster, eftersom lösningen endast föreslogs i slutet av maj, men Jeff Garzik, huvudutvecklaren kopplad till New York-avtalet, antog förslaget och planerade att släppa mjukvaruklienten till följd av avtalet veckor före den 1 augusti. Det var genomförbart.
Aktiveringen
Informativ webbplats XBT.eu vid BIP91-låsning
I mitten av juli hade Bitcoin-gruvarbetare missat sitt fönster för att aktivera SegWit genom den metod som Bitcoin Core-utvecklingsgruppen föreslog i tid för att vara kompatibel med BIP148. Som ett resultat verkade marknaderna bli nervösa för en potentiell ”split” mellan en BIP148-kedja och en icke-BIP148-kedja. På bara en vecka tumlade bitcoins växelkurs från cirka 2500 dollar till 1900 dollar: det lägsta som det hade varit på över en månad.
Möjligen uppskakad av dessa marknadsrörelser började Bitcoins gruvsamhälle snabbt signalera stöd för BIP91, även före det schema som anges i New York-avtalet. Och den 20 juli, tio dagar före BIP148: s flaggdag den 1 augusti för aktivering, låste BIP91 in. Den aktiverades drygt två dagar senare.
Med BIP91 låst in, var det bara en tidsfråga innan Segregated Witness själv skulle låsa in. Detta hände slutligen den 9 augusti – ingen återvändandepunkt nåddes den 8 augusti..
Bitcoin skulle “officiellt” få SegWit efter ytterligare två veckors respitperiod.
Adoptionen
Segregated Witness-logotyp designad av Albert Dros
Det sista steget för Segregated Witness är naturligtvis det faktiska användandet av användare. Eftersom SegWit bara har aktiverats när denna artikel publiceras är det omöjligt att veta hur snabbt och hur mycket uppgraderingen faktiskt kommer att användas. Vissa kritiker, kanske framför allt Garzik, förutspår att en utbredd adoption kan ta upp till ett år eller ännu längre. Andra, inklusive ett antal plånbok- och biblioteksutvecklare, tror att de kan använda funktionen inom några veckor, eller så är de det redan förberedd. Och andra tekniker som är beroende av uppgraderingen, till exempel Lightning Network, men också Merkelized Abstract Syntax Trees (MAST), atombyten, snabbare transaktionssignering för hårdvaruplånböcker, den effektivare Schnorr-signaturalgoritmen och TumbleBit i betalningsprocessormod är också i olika utvecklingsstadier.
Det har varit en lång väg, men alla som vill använda segregerat vittne borde nu kunna göra det från och med idag.