Taproot er i øjeblikket den mest sandsynlige næste opgradering til Bitcoin. Det er en af få opgraderinger, der i øjeblikket arbejdes med, som brugere og udviklere håber på i sidste ende at blive aktiveret på netværket.
Alle disse opgraderinger deler et generelt tema, som sandsynligvis også vil være temaet for mange fremtidige opgraderinger. Dette tema er at gøre kontrakter til unicast, eller mere enkelt sagt, flytte kontraktlogik uden for kæden og lade det være op til brugeren i stedet for netværket at validere og håndhæve deres kontrakt. Flytning til et mere unicast-system vil gøre Bitcoin meget mere privat og skalerbart, mens Bitcoins stadig vigtigere egenskaber forbliver intakte.
Disse typer opgraderinger og systemer er perfekte til Bitcoin. Bitcoin er simpelthen et monetært netværk, ikke et beregningsnetværk. At være et monetært netværk, bør dets primære funktion være at validere, at dets monetære system håndhæves korrekt. I Bitcoin-termer bør det være systemets primære funktion at kontrollere, at brugerne korrekt har underskrevet transaktionen, og at de ikke overtræder den monetære politik, og alt mere skal flyttes til højere lag og kun gøres mellem de brugere, der bruger Bitcoin i mere end økonomisk afvikling.
MuSig og Unicast-kontrakter
MuSig er en af de bedst forståede anvendelser af flytning af kontraktlogik for at være unicast. MuSig giver brugerne mulighed for at få et multisig-output til at ligne en standardbrugeres single sig-output. Dette gøres ved at lade brugerne konstruere nøgler og underskrifter uden for kæden og lade dem udføre nogle kryptografiske operationer, der resulterer i en enkelt offentlig nøgle og signatur. Dette er en enorm forbedring sammenlignet med en normal multisig, hvor brugerne har brug for at udsende alle deres offentlige nøgler og underskrifter. Ved at udføre en normal multisig aflaster brugerne deres kontraktvalidering til netværket, hvilket kræver, at den valideres og gemmes på ubestemt tid. I stedet for med en MuSig udfører brugerne selv håndhævelsen ved at konstruere underskrifter indbyrdes, hvilket resulterer i en enkelt endelig signatur, der kun kan være gyldig, hvis den rigtige mængde af parter var ærlige, hvilket kun krævede, at netværket validerede og lagrede en enkelt signatur.
Flytning af kontraktlogik, der skal udføres på en unicast-måde, gør Bitcoin mere privat. I dag har de fleste kontrakter deres forbrugslogik eksplicit i transaktionens output-scripts. Dette betyder, at en ekstern observatør er i stand til at se, hvad brugerens nøjagtige udgiftsbetingelser er. At have brugeren afsløre deres nøjagtige udgiftsforhold skader ikke kun den enkelte bruger, men påvirker også resten af brugerne på netværket. Ved at afsløre alle tilgængelige udgiftsveje udsender en bruger ikke kun sig selv for at bruge dem, men afslører også, at de ikke bruger andre udgiftsbetingelser. Dette synes åbenlyst, men har vigtige konsekvenser. Da en bruger afslører, at de ikke har visse udgiftsbetingelser, udelukker det dem fra at dele et anonyme sæt fra brugere, der bruger de andre udgiftsbetingelser. Dette betyder, at de andre brugere ikke vil have vores bruger i deres anonymitetssæt, hvilket giver dem en mindre skare at gemme sig blandt. Hvis brugeren flyttede deres kontrakthåndhævelse uden for kæden, kunne brugeren få deres transaktioner og output til at se det samme ud som en standardbruger og dermed dele et anonymitetssæt med et større sæt brugere og hjælpe sig selv såvel som de andre brugere.
At gøre kontraktudførelse til Unicast ikke kun gør Bitcoin mere privat, det gør det også mere skalerbart. Flytning af validerings- og eksekveringslogik off-chain, der skal udføres af de enkelte brugere i kontrakten, sikrer, at de ikke længere har brug for at sende hele deres kontrakt til hele netværket. Ved at gøre dette behøver netværket ikke længere at foretage den faktiske verifikation af, hvad der kan være en kompleks kontrakt, og i stedet kun udføre den minimale verifikation, sandsynligvis kun en enkelt signaturcheck. Da kontrakten ikke længere udsendes til netværket, lagrer netværket heller ikke de krævede data til denne kontrakt. På grund af Bitcoins blokvægtgrænse er det en velsignelse for netværket at reducere de nødvendige data til enhver transaktion, da det direkte øger transaktionens gennemløb, hvilket gør det muligt at gøre mere med den samme mængde ressourcer.
Afvejninger
Fjernelse af behovet for at kontrollere og gemme kontraktdata kan have betydelig indvirkning på, hvordan brugerne bruger Bitcoin. Med enhver Bitcoin-transaktion skal brugeren betale et minerydningsgebyr for at blive inkluderet i en blok. Dette minearbejdsgebyr er direkte korreleret med de nødvendige ressourcer til at verificere og gemme transaktionen. Når vi ved dette, kan vi konkludere, at brugerne er utilfredse med at bruge komplekse scripts og udgiftsforhold. Dette kan have dårlige konsekvenser – for eksempel bliver en bruger, der forsøger at forbedre deres sikkerhed ved at bruge noget som multisig til at distribuere deres nøgler, nu straffet af netværket for at gøre det ved at lade dem betale højere gebyrer. Eventuelle forbedringer, der kan foretages i dette, bør være forudgående for Bitcoin-brugere og -udviklere.
Brug af unicast-lignende kontrakter inkluderer også nogle andre afvejninger. Fordi brugeren ikke længere aflaster deres kontraktvalidering og udførelse til netværket, vil de i stedet blive forpligtet til at gøre dette selv, eller rettere, den software, de bruger, vil være. Dette betyder generelt, at brugeren bliver nødt til at sende og gemme flere data mellem deres modparter. Dette kræver mere kompleks software og protokoller for brugeren. Det kan gøre sikkerhedskopier mere kritiske og sværere at gøre; hvis brugeren mister disse data, kan deres modpart muligvis overtræde deres kontrakt, eller i det mindste kan brugeren muligvis ikke udføre deres kontrakt uden deres modparts samarbejde. Disse er dog velkendte problemer, og der foreslås smarte løsninger for at gøre tab af data sikrere og endda skabe måder at skjule for en modpart, at der var tab af data.
Afslutningsvis, i dag eksisterer Bitcoin-kontrakter primært som et udsendelsessystem, der kræver, at netværket validerer og gemmer alles kontraktudførelseslogik. Opgraderinger, der sandsynligvis kommer til Bitcoin, er i stand til at give os et perspektiv, der flytter kontrakter til i stedet at håndhæves mellem individuelle brugere, da Bitcoin først er et monetært netværk og primært skal håndhæve sine monetære egenskaber. Ting som Taproot, Lightning, DLC’er og PTLC’er eksemplificerer alle dette perfekt og viser, at Bitcoinere bygger økosystemet for at forbedre Bitcoins privatliv og skalerbarhed.