Bitcoin-ova tehnična skupnost še vedno pluje naprej, ki je bila zaradi norosti leta 2020 na videz nemotena in v veliki meri nezadovoljna zaradi divjih nihanj cen bitcoinov, ki so se decembra zaključile z novimi najvišjimi vrednostmi. Bitcoinovo programsko opremo in številne projekte okoli nje so postopoma izboljševali skozi vse leto, saj so programsko opremo optimizirali, odpravili napake in popravili uhajanje zasebnosti. Glavnina tega dela, najpomembnejšega je, ne pritegne naslovov.
Vendar ptičji pogled na tehnološki razvoj Bitcoina v enem letu pomaga poudariti nove mejnike v trenutnem tehnološkem koraku Bitcoinov naprej. Tudi leta 2020 je stalno rastoča Bitcoin razvojna skupnost uvedla številne uporabne nove funkcije, nekaj posebej pomembnih nadgradenj in nekatere posebej opazne izboljšave.
Ko se je to hlapno leto bližalo koncu, je bilo to nekaj najpomembnejšega tehničnega razvoja Bitcoina v zadnjih 12 mesecih …
Nova orodja za zasebnost z PayJoin in CoinSwap
Na področju zasebnosti Bitcoinov sta projekta PayJoin in CoinSwap letos predstavljala dva obetavna napredka.
PayJoin, znan tudi kot Pay to Endpoint (P2EP), je trik, ki prejemnikom transakcij omogoča, da sodelujejo v transakciji prek CoinJoin, da v bistvu pošljejo sredstva sebi, hkrati pa prejmejo dejansko plačilo od pravega pošiljatelja. Če bi vohljač, ki je opravljal blockchain analizo, domneval, da vsi kovanci, poslani v transakciji, pripadajo isti osebi – kot običajno bi – zmotili bi se. To že koristi zasebnosti pošiljatelja in prejemnika, saj bi vohljanje zmedlo (preteklo) lastništvo kovancev med njima. Poleg tega, če dovolj ljudi uporablja PayJoin, bi lahko ta pomembna hevristika za blockchain analizo postala popolnoma neuporabna, kar bi koristilo celo zasebnosti tistih, ki sami niso opravili transakcij PayJoin.
Čeprav so bile demo verzije orodja PayJoin že uvedene za spletne igre na srečo Bustabit in programsko opremo za mešanje kovancev JoinMarket konec leta 2018 in Samourai Wallet leta 2019 izpuščen lastna – bolj omejena – različica pod okriljem Cohoots (z nekoliko drugačnimi kompromisi glede zasebnosti) je bila PayJoin letos izvedena v več priljubljenih Bitcoin projektih. Sem je bila vključena široko uporabljena programska oprema za obdelavo plačil BTCPay v April, uporabnikom BTCPay omogoča sprejemanje transakcij PayJoin iz združljivih denarnic. Zasebnost usmerjena denarnica Wasabi je bila prva denarnica, ki je ponudila to združljivost kasneje istega meseca, medtem ko JoinMarket (September), Modra denarnica (Oktober) in Sparrow Wallet (November), ki je sledila pozneje v letu.
Medtem se je razvijalec bitcoinov Chris Belcher odločil za izvedbo CoinSwap, tehnike zasebnosti prvič predlagan leta 2013 sodelavec Bitcoin Core Gregory Maxwell. CoinSwap izkoristi atomske zamenjave (trik, ki podpira tudi Lightning Network), da uporabnikom omogoči izmenjavo kovancev, ne da bi si morali zaupati. Vsak uporabnik bi na koncu dobil kovance, ki jih ni mogoče povezati z lastno zgodovino transakcij.
Belcher, eden najpomembnejših svetovnih strokovnjakov za zasebnost Bitcoinov, leta Maj objavil podroben opis, kako je mogoče protokol CoinSwap izvajati za zagotovitev čim večje zasebnosti. Predlog bi omogočil, da se transakcije CoinSwap ne bodo razlikovale od drugih transakcij, z uporabo tehnik delitve zatemnili zneske, usmerjali plačila, da bi preprečili vohljanje udeležencev in drugo. Nekaj mesecev kasneje, junija, je Fundacija za človekove pravice objavila, da bo prva razvojna podpora za Bitcoin prejela Belcherja in njegova prizadevanja za uresničitev projekta.
Potem ko je Belcher decembra delal na njegovi izvedbi, je Belcher decembra napovedal “velik dan za zasebnost in zamenljivost bitcoinov”: opravil je prvo uspešno transakcijo CoinSwap v testni mreži Bitcoin (testnet).
Mreža strelov je postala bolj trpežna s stražnimi stolpi (in še več)
Lightning Network, Bitcoinov protokol Layer 2 za hitrejša, cenejša in bolj zasebna plačila, se je še naprej izboljševal leta 2020. Z Lightning izvedbami LND, Eclair, C-Lightning in – od Julij – Electrum je predstavil številne nove izdaje programske opreme in vse večje število projektov, ki temeljijo na protokolu, je bil Lightning razvoj bolj aktiven kot kdaj koli prej. Med opaznejšimi dogodki so Stražni stolpi razrešili eno od preostalih slabosti mreže Lightning Network, kar je povzročilo močnejši protokol.
Eden od kompromisov Lightning Network je, da morajo uporabniki paziti na svoje plačilne kanale, da bi zagotovili, da partnerji plačilnih kanalov ne poskušajo varati z oddajanjem starih držav kanalov, da zahtevajo več sredstev, kot jim je bilo dodeljeno. Uporabniki strele lahko vstopijo, če poskuša partner goljufati, vendar to zahteva spremljanje verige Bitcoin, česar navadni uporabniki morda ne bodo izvajali zelo redno.
Da bi zmanjšali tveganje, da bi bil poskus goljufije zamujen, protokol Lightning omogoča, da nadzor kanalov oddajajo nepristranskim opazovalcem, imenovanim Watchtowers. Dodatek k prvi programski opremi Watchtower, ki jo je LND predstavil konec leta 2019, Februarja letos je bila izdana alfa različica posebnega Stražnega stolpa Eye of Satoshi. Kmalu zatem, predlagano Specifikacija protokola stražnega stolpa je bil posodobljen, medtem ko je C-Lightning razvil podporo za Eye of Satoshi v Maj. Sledila je različica 1 Eye of Satoshi Julij.
Drugi pomembni dogodki Lightning v letu 2020 vključujejo nadaljnje delo na sidrni izhodi zagotoviti, da lahko uporabniki enostransko zahtevajo sredstva od kanala, tudi če so se provizije v verigi zvišale več, kot je bilo pričakovano od zadnje posodobitve plačilnega kanala, Večplačilna plačila ki uporabnikom omogočajo plačevanje z Lightningom v manjših delih, aplikacijo za sporočanje, ki izvira iz Lightning Network Juggernaut, orodje za upravljanje kanalov Faraday, beta izdaja Lightning Loop, pa tudi nekatere novo odkrite slabosti ter (predlagane) rešitve in še veliko več.
Po Miniscriptu je bilo programiranje Bitcoinov poenostavljeno z Minsc
Koda, vdelana v Bitcoin transakcije, ki določa, kateri pogoji morajo biti izpolnjeni za porabo kovancev v naslednji transakciji, je napisana v programskem jeziku, posebej zasnovanem za Bitcoin, imenovanem Script. Vendar je s skriptom težko delati: v žargonu programerjev je skript težko “razmisliti”. To pomeni, da je lahko, ker postane nekoliko bolj zapleteno, težko razumeti, kaj skript dejansko omogoča: transakcija lahko nenamerno vključuje kodo, ki omogoča porabo kovancev pod drugačnimi pogoji, kot so bili prvotno predvideni. To je eden od razlogov, zakaj se številne programske aplikacije za Bitcoin, na primer denarnice, vzdržijo uporabe celotnega potenciala skripta.
V zadnjih letih so (nekdanji) raziskovalci Blockstreama Andrew Poelstra, Pieter Wuille in Sanket Kanjalkar oblikovali “odstranjeno” različico Scripta, imenovano Miniscript. Miniscript je izbor “orodij” iz “Script toolkit”, ki so skrbno izbrana, da omogočijo praktično vse, kar je mogoče storiti s skriptom, vendar je lažje za uporabo in lažje preveriti s strani programerjev. Čeprav je vrstica Miniscripta še vedno veljavna vrstica Scripta, se v bistvu izogne človeškim napakam s preprečevanjem nepričakovanih, morda nenamernih izidov kode; Miniscript je lažje utemeljiti. V November tega leta je vodja raziskav in razvoja pri Rugged Bytes Dmitry Petukhov objavil formalno specifikacijo Miniscripta.
Da bi bilo ustvarjanje transakcij z Bitcoinom še lažje, je Wuille zasnoval tudi “jezik politike” za Miniscript, lastni programski jezik, ki ga je mogoče prevesti (pretvoriti) v Miniscript in s tem v Script. Na podlagi dela Wuille je razvijalec Bitcoinov Nadav Ivgi letos razvil nov programski jezik, imenovan Min. Prvič objavljeno leta Julij, in sledila večja nadgradnja leta 2007 November, Minsc še vedno poteka, vendar naj bi močno poenostavil ustvarjanje Bitcoin transakcij. To bi lahko pomagalo odkleniti vrsto obetavnih funkcij, ki v celoti izkoristijo vsestranskost Bitcoina, kot so interoperabilne denarnice CoinJoin, pametne pogodbene rešitve, protokoli Layer 2 in še več.
Pametne pogodbe so postale pametnejše z DLC-ji
Kadar koli so pametne pogodbe odvisne od zunanjih podatkov – podatkov, ki ne živijo v verigi blokov – se za te podatke, imenovane »preročišče«, zanašajo na zunanji vir. Če želite na primer dva uporabnika staviti na izid športne tekme, bi moral prerokalec uporabiti rezultat tekme za poravnavo stave v korist tistega, ki je pravilno napovedal (vsaj v primeru spora).
Zelo osnovna nastavitev športnih stav bi lahko bila sestavljena iz naslova dveh od treh z več podpisi (multisig), kjer imajo vsi igralci in oracle vsak po en ključ, oracle pa je obveščen o podrobnostih stave. Po tekmi sta igralca lahko sodelovala in pošiljala sredstva iz multisig-a zmagovalcu brez oraclovega ključa. Če pa poraženec noče sodelovati, lahko oracle s svojim tretjim ključem sodeluje z zmagovalcem, da jim pošlje sredstva iz multisig-a. Ta sistem deluje, vendar ima dve glavni slabosti. Prvič, oba igralca morata zaupati preročišču, da ne bo v nasprotju s svojim nasprotnikom. In drugič, oracle je treba obvestiti o stavi in morda igrati aktivno vlogo v postopku poravnave: to pomeni, da igralci nimajo zasebnosti od preročišča, medtem ko namestitev ni zelo dobra, če želi več igralcev. stava.
Boljša rešitev je bila leta 2017 predlagano raziskovalec MIT Media Lab’s Digital Currency Initiative Thaddeus Dryja: diskretne dnevniške pogodbe (DLC). DLC uporabljajo pameten matematični trik, pri katerem oracle objavi kriptografski podpis, ki ustreza izidu dogodka. V zgornjem primeru bi Oracle objavil en podpis, če zmaga prva ekipa, in drug podpis, če bi zmagala druga ekipa. Trik: pametna pogodba je zasnovana tako, da zmagovalcu omogoči, da uporabi objavljeni podpis za prevzem sredstev.
V DLC je sodelovanje Oracle-a pri pametni pogodbi omejeno na objavo podpisa; to bi lahko, na primer na primer pri športnih stavah, storila obstoječa informativna služba kot del svoje redne oddaje. To tudi pomeni, da preročišča ni treba obveščati o podrobnostih stave in pravzaprav sploh ni treba vedeti, da je stava sploh bila. Medtem lahko poljubno število ljudi s podpisi poravna stave brez nadaljnjega sodelovanja preročišča, kar močno koristi razširljivosti. In čeprav bi lahko oracle v teoriji še vedno sodeloval z nekom in predal napačen rezultat, bi bilo tako nepošteno vedenje očitno vsakomur in bi umazalo ugled preroka naprej.
V Januarja tega leta je izvršni direktor Chris Stewart sporočil, da je njegovo podjetje Suredbits v sodelovanju s Crypto Garage začelo delati na specifikacija za DLC. V Februarja, Inženir Suredbits Nadav Kohen je nadaljeval s prvo delovno kodo. In mimo September, Suredbits in Crypto Garage so svojo programsko opremo razvili do te mere, da jo je bilo mogoče uporabiti: razvijalec Stewart in Bitcoin Nicolas Dorier je sodeloval v Bitcoin-ovem prvem DLC-ju, ki je stavil na izid ameriških predsedniških volitev. Stewart, ki bi stavil na Bidena, je svoj dobiček zahteval leta December.
Holding postaja varnejši z Bitcoin trezorji
Dolg seznam menjalnih vlomov in drugih bitcoin plenil je dokaz, da je varno shranjevanje zasebnih ključev še vedno izziv, zlasti tam, kjer gre za veliko kovancev.
Toda bolj varne rešitve za shranjevanje kovancev so v razvoju. Bitcoin trezorji – koncept iz leta 2016 – so vrsta pametne pogodbe, ki varuje kovance, tako da je za potrditev potrebnih več potrjenih transakcij in časovni zamik. To daje potencialnim žrtvam priložnost, da razveljavijo plen, še preden bo prepozno.
Leta 2020 so izšli dve vrsti prototipov trezorjev.
Prvi prototip trezorja je leta 2008 napovedal sodelavec Bitcoin Core Bryan Bishop April. Skratka, škofov dizajn temelji na vnaprej podpisani (in še ne predvajani) transakciji, ki porabi (nekaj) kovancev iz trezorja v uporabniško običajno (“vročo”) denarnico s časovno zakasnitvijo, medtem ko alternativna možnost porabe brez časovne zapore lahko preusmeri kovance na drug naslov; morda nov in še bolj varen trezor. Pomembno je, da se zasebni ključ, ki se uporablja za podpisovanje vnaprej podpisanih transakcij, pri ustvarjanju trezorja izbriše, tako da je napadalec lahko kdaj ukradel samo predhodno podpisano transakcijo.
Namestitev napadalcu izredno otežuje prevzem kovancev. Tudi če je vnaprej podpisana transakcija ukradena, bi lahko tat kovance samo porabil za vročo denarnico, in če žrtev ne zaupa varnosti svoje vroče denarnice, lahko s pomočjo zakasnitve, ki je vnašana, kovance premakne na namesto tega zaščitite naslov. (Da bi tatu preprečil, da bi ukradel kovance s preprostim ogrožanjem vroče denarnice in potrpežljivim čakanjem, dokler uporabnik trezorja tja ne pošlje svojih kovancev, škofov dizajn takrat uporabnikom omogoča le umik iz trezorja v majhnih kosih.)
Malo kasneje v April, Razvijalec bitcoinov Antoine Poinsot je napovedal alternativni demo Vault, ki ga je zasnoval s predsednikom Chainsmiths Kevinom Loaecom, imenovanim Revault. Revault je v nekaterih pogledih podoben škofovim trezorjem, na primer pri uporabi vnaprej podpisanih transakcij, vendar je posebej zasnovan za nastavitve za več uporabnikov z uporabo naslova multisig. Revault omogoča vnaprej določeni podskupini skupine uporabnikov, da porabi kovance iz trezorja v vročo denarnico, tudi s časovno zakasnitvijo. Vsak udeleženec trezorja lahko s tem časovnim zamikom vrne sredstva v trezor, če se ne strinja s porabo, ali pa sredstva preusmeri na drug izredno varen naslov, če sploh ne zaupa dogajanju.
Poleg tega Revault zahteva, da ob umiku iz trezorja, ko se zažene časovna ključavnica, uporabniki takoj ustvarijo transakcijo iz vroče denarnice, ki zahteva tudi strežniški podpis. Strežnik je programiran za podpis kakršne koli transakcije, vendar nikoli ne nasprotujoče si transakcije, zato bi moral napadalec, če ogrozi (tako trezor kot tudi) vročo denarnico, poskusiti prevzeti kovance pred drugimi in še preden poteče časovna zapora. To bi moralo biti očitno, če je vroča denarnica ogrožena, vznemirjanje skupine uporabnikov Revaulta in omogočanje preusmeritve sredstev pred iztekom časovne zapore.
Taproot je zdaj dober, saj se o aktivaciji razmišlja
Taproot naj bi bil prva nadgradnja protokola Bitcoin, odkar se je Segregated Witness aktiviral avgusta 2017. Prva predlagano januarja 2018, ki ga je prispeval Bitcoin Core Gregory Maxwell, uporabnikom Taproot omogoča, da pametne pogodbe “skrijejo” v Bitcoin-ovih transakcijah na videz: zapletene multisig konstrukcije ni mogoče ločiti od preprostega plačila.
Nadgradnja Taproot bi vključevala tudi algoritem Schnorr Signature. Številni kriptografi menijo, da je Schnorrjeva shema podpisa najboljša na tem področju, saj njene matematične lastnosti ponujajo visoko stopnjo pravilnosti, ne trpi zaradi gibljivosti in jo je razmeroma hitro preveriti. Schnorrjeva “linearna matematika” bi omogočila tudi vrsto novih možnosti, kot so bolj kompaktne vrste multisig rešitev, izvrstne pametne nastavitve pogodb in seveda sam Taproot.
Po nadaljnjem razvoju v letu 2020 je bila koda Taproot oktobra združena v kodno bazo Bitcoin Core in bo del Bitcoin Core 0.21.0, ki naj bi izšel vsak dan, trenutno pa so na voljo kandidati za sprostitev. Bitcoin Core 0.21.0 pa ne vključuje logike aktiviranja za Taproot. To bo verjetno vključeno v prihajajočo manjšo izdajo Bitcoin Core (verjetno Bitcoin Core 0.21.1).
Aktivacijska logika je bila sama tema razprav v večjem delu leta 2020, vendar z vrsto potenciala aktivacijski mehanizmi Obravnavani. Večina teh bi sprva izkoristila koordinacijo hash power, da bi sčasoma dosegla rok, ko se nadgradnja aktivira tudi brez podpore hash power. Toda kot Oktober anketa, ki jo je objavil sodelavec Bitcoin Core AJ Towns, je jasno pokazala, da se vsi sodelujoči v Bitcoin Core ne strinjajo, da je treba rok predhodno programirati ali kako daleč mora biti rok (kot tudi nekatera manjša nesoglasja).
Toda ne glede na to, kateri mehanizem aktivacije je končno izbran, se zdi vse bolj verjetno, da se Taproot lahko gladko aktivira s koordinacijo razpršene moči. Novembra je večji rudarski bazen Poolin sprožil pobudo, s katero je spodbudil druge rudarske bazene, da izrazijo svoje mnenje o aktivaciji Taproot in Taproot. The odziv zaenkrat je zelo ugoden za Taproot, saj podpira več kot 90 odstotkov celotne razpršene moči in noben bazen ne nasprotuje predlagani nadgradnji.
Za še obsežnejši in podrobnejši povzetek tehnološkega razvoja Bitcoina 2020 si oglejte tudi Bitcoin Optech 2020 Leto v pregledu Special.