Näyttää siltä, että vuoden 2020 hulluus on häiritsemätön, ja bitcoinin villit hintavaihtelut, jotka päättyivät joulukuun uusiin kaikkien aikojen korkeimpiin kohtiin, huolehtivat Bitcoinin teknisestä yhteisöstä eteenpäin. Bitcoinin ohjelmistoja ja monia sen ympärillä olevia projekteja parannettiin asteittain koko vuoden ajan, kun ohjelmistoja optimoitiin, vikoja korjattiin ja yksityisyyden vuotoja korjataan. Suurin osa tästä työstä, niin tärkeä kuin se onkin, ei houkuttele otsikoita.
Silti lintuperspektiivi Bitcoinin tekniseen kehitykseen vuoden aikana auttaa tuomaan esiin uusia virstanpylväitä Bitcoinin meneillään olevassa teknologisessa kehityksessä. Myös vuonna 2020 jatkuvasti kasvava Bitcoin-kehitysyhteisö esitteli useita hyödyllisiä uusia ominaisuuksia, useita erityisen tärkeitä päivityksiä ja joitain erityisen merkittäviä parannuksia.
Koska tämä epävakaa vuosi on lähestymässä loppua, nämä olivat joitain Bitcoinin merkittävimmistä teknisistä kehityksistä viimeisten 12 kuukauden aikana…
Uudet tietosuojatyökalut, joissa on PayJoin ja CoinSwap
Bitcoinin yksityisyyden alalla PayJoin- ja CoinSwap-projektit edustivat tänä vuonna kahta lupaavaa edistystä.
PayJoin, joka tunnetaan myös nimellä Pay to Endpoint (P2EP), on temppu, jonka avulla tapahtuman vastaanottajat voivat osallistua tapahtumaan CoinJoinin kautta, lähinnä lähettää varoja itselleen samalla, kun he saavat myös todellisen maksun todelliselta lähettäjältä. Jos lohkoketjuanalyysiä tekevä snoop olettaa, että kaikki tapahtumassa lähetetyt kolikot kuuluvat samalle henkilölle – kuten he normaalisti olisi – he olisivat väärässä. Tämä hyödyttää jo lähettäjän ja vastaanottajan yksityisyyttä, koska snoop sekoittaa kolikon (aikaisemman) omistajuuden niiden välillä. Lisäksi, jos riittävästi ihmisiä käyttää PayJoinia, se voi tehdä tämän tärkeän heuristisen blockchain-analyysin hyödyttömäksi, mikä puolestaan hyödyttää jopa niiden yksityisyyttä, jotka eivät tehneet PayJoin-tapahtumia itse.
Vaikka PayJoin-työkalun demoversiot oli jo otettu käyttöön online-uhkapelissä Bustabit ja kolikoiden sekoitusohjelmisto JoinMarket vuoden 2018 lopulla ja Samourai Wallet vuonna 2019 vapautettu oma – rajoitetumpi – versio Cohoots-sateenvarjon alla (hieman erilaisilla yksityisyydensuoja-asioilla), PayJoin toteutettiin tänä vuonna useissa suosituissa Bitcoin-projekteissa. Tähän sisältyi erityisesti laajasti käytetty maksujen käsittelyohjelma BTCPay vuonna huhtikuu, jolloin BTCPay-käyttäjät voivat hyväksyä PayJoin-tapahtumia yhteensopivista lompakoista. Yksityisyyden suojaan keskittynyt Wasabi Wallet oli ensimmäinen lompakko, joka tarjosi tämän yhteensopivuuden myöhemmin samassa kuussa, kun JoinMarket (syyskuu), Sininen lompakko (lokakuu) ja Sparrow-lompakko (marraskuu) seurasi myöhemmin vuonna.
Samaan aikaan Bitcoin-kehittäjä Chris Belcher pyrki toteuttamaan yksityisyystekniikan CoinSwapin ensin ehdotettu vuonna 2013 Bitcoin Corein avustaja Gregory Maxwell. CoinSwap hyödyntää Atomic Swaps (temppu, joka tukee myös salamaverkkoa), jotta käyttäjät voivat vaihtaa kolikoita tarvitsematta luottaa toisiinsa. Jokainen käyttäjä päätyisi kolikoihin, joita ei voida linkittää heidän omaan tapahtumahistoriaansa.
Belcher, yksi maailman tärkeimmistä Bitcoin-yksityisyyden asiantuntijoista, vuonna saattaa julkaisi yksityiskohtaisen kuvauksen siitä, miten CoinSwap-protokolla voitaisiin toteuttaa maksimaalisen yksityisyyden takaamiseksi. Ehdotus tekisi CoinSwap-tapahtumista erottamaton muista tapahtumista, käytettäisi jakamistekniikoita summien hämärtämiseksi, reittimaksut turhauttamaan osallistujia. Muutama kuukausi myöhemmin, kesäkuussa, The Human Rights Foundation ilmoitti, että sen ensimmäinen Bitcoin-kehitysapuraha menisi Belcherille ja hänen ponnisteluilleen projektin toteuttamiseksi.
Belcher on työskennellyt suurimman osan vuodesta toteutuksensa parissa joulukuussa ilmoitti “suuri päivä bitcoinin yksityisyydelle ja vaihdettavuudelle”: hän oli tehnyt kaikkien aikojen ensimmäisen onnistuneen CoinSwap-tapahtuman Bitcoinin testiverkossa (testnet).
Salamaverkostosta tuli vahvempi vartiotorneilla (ja muilla)
Lightning Network, Bitcoinin Layer 2 -protokolla nopeampien, halvempien ja yksityisempien maksujen suorittamiseksi, jatkoi parantumistaan kaikkialla vuonna 2020. Lightning-toteutuksilla LND, Eclair, C-Lightning ja – vuodesta heinäkuu – Electrum julkisti useita uusia ohjelmistojulkaisuja ja yhä useamman projektin, joka rakennettiin protokollan päälle, Lightning-kehitys oli aktiivisempaa kuin koskaan. Merkittävimpien tapahtumien joukosta Vartiotornit ratkaisivat yhden salamaverkon jäljellä olevista heikkouksista, mikä johti vankempaan protokollaan.
Yksi Lightning Networkin kompromisseista on, että käyttäjien on seurattava maksukanaviaan varmistaakseen, että maksukanavakumppanit eivät yritä huijata lähettämällä vanhoja kanavatiloja vaatiakseen enemmän varoja kuin heille osoitetaan. Salaman käyttäjät voivat astua sisään, jos kanavakumppani yrittää huijata, mutta tämä vaatii Bitcoin-lohkoketjun seurantaa, jota tavalliset käyttäjät eivät ehkä tee kovin säännöllisesti.
Huijausyrityksen epäonnistumisen riskin vähentämiseksi Lightning-protokolla sallii kanavavalvonnan ulkoistamisen puolueettomille tarkkailijoille nimeltä Vartiotornit. Lisätään ensimmäiseen Vartiotornin ohjelmistoon, jonka LND esitteli vuoden 2019 loppuun mennessä, helmikuu Tämän vuoden alussa julkaistiin vartiotornin erityistoteutus Eye of Satoshi. Pian sen jälkeen ehdotettu Vartiotornin protokollan määrittely päivitettiin, kun taas C-Lightning otti käyttöön Eye of Satoshin tuen vuonna saattaa. Eye of Satoshin versio 1 seurasi heinäkuu.
Muita merkittäviä salamakehityksiä vuonna 2020 ovat jatkuva työ ankkurilähdöt varmistaa, että käyttäjät voivat vaatia kanavalta varoja yksipuolisesti myös silloin, kun ketjupalkkiot ovat nousseet odotettua enemmän viimeisimmän maksukanavan päivityksen jälkeen, Usean polun maksut jonka avulla käyttäjät voivat suorittaa Lightning-maksuja pienempinä paloina, joka on Lightning Network -natiivi viestintäsovellus Juggernaut, kanavanhallintatyökalu Faraday, Lightning Loop -betajulkaisu, mutta myös joitain äskettäin löydettyjä heikkouksia sekä (ehdotettuja) ratkaisuja ja paljon muuta.
Miniscriptin jälkeen Bitcoin-ohjelmointi tehtiin helpommaksi Minsc: n kanssa
Bitcoin-tapahtumiin upotettu koodi, joka määrittää, mitkä ehdot on täytettävä kolikoiden käyttämiseen seuraavassa tapahtumassa, kirjoitetaan ohjelmointikielellä, joka on erityisesti suunniteltu Bitcoinille, nimeltään Script. Komentosarjan kanssa työskentely voi kuitenkin olla hankalaa: ohjelmoijien ammattikiellossa Scriptia on vaikea “perustella”. Tämä tarkoittaa, että varsinkin kun siitä tulee hieman monimutkaisempi, voi olla vaikeaa ymmärtää, mitä komentosarja todella sallii: tapahtuma voi tahattomasti sisältää koodin, jonka avulla kolikot voidaan käyttää erilaisissa olosuhteissa kuin alun perin oli tarkoitettu. Tämä on yksi syy siihen, miksi monet Bitcoin-ohjelmistosovellukset, kuten lompakot, pidättyvät käyttämästä Scriptin koko potentiaalia.
Viime vuosina (entiset) Blockstream-tutkijat Andrew Poelstra, Pieter Wuille ja Sanket Kanjalkar suunnittelivat “riisutun” version Scriptistä, nimeltään Miniscript. Minikirjoitus on valikoima “työkaluja” “Script-työkalupakista”, jotka on valittu huolella, jotta käytännössä kaikki mitä voidaan tehdä Scriptillä, mutta se on helpompi käyttää ja ohjelmoijat voivat helpommin tarkistaa. Joten vaikka Miniscript-rivi on edelleen kelvollinen komentosarjan rivi, se välttää olennaisesti inhimillisiä virheitä estämällä koodin odottamattomat, ehkä tahattomat tulokset; Pienikokoinen on helpompi perustella. Sisään marraskuu tämän vuoden tutkimus- ja kehityspäällikkö Rugged Bytes Dmitry Petukhov julkaisi virallisen erittelyn Miniscriptistä.
Jotta Bitcoin-tapahtumien luominen olisi vieläkin helpompaa, Wuille oli suunnitellut Miniscriptille myös “toimintakielen”, oman ohjelmointikielensä, joka pystyi kääntämään (muuntamaan) Miniscriptiksi ja siten Scriptiksi. Wuillen työn pohjalta Bitcoin-kehittäjä Nadav Ivgi kehitti tänä vuonna toisen uuden ohjelmointikielen nimeltä Minsc. Ilmoitettiin ensimmäisen kerran vuonna heinäkuu, ja seurasi merkittävää päivitystä vuonna marraskuu, Minsc on edelleen keskeneräinen työ, mutta sen on tarkoitus yksinkertaistaa huomattavasti Bitcoin-tapahtumien luomista. Tämä voi auttaa avaamaan useita lupaavia ominaisuuksia, jotka hyödyntävät täysin Bitcoinin monipuolisuutta, kuten yhteentoimivat CoinJoin-lompakot, älykkäät sopimusratkaisut, Layer 2 -protokollat ja paljon muuta.
Älykkäät sopimukset tulivat älykkäämpiä DLC: n avulla
Aina kun älykkäät sopimukset riippuvat ulkoisista tiedoista – tiedoista, jotka eivät asu lohkoketjussa -, ne luottavat ulkoiseen lähteeseen tuota tietoa varten, jota kutsutaan “oraakkeliksi”. Jos kaksi käyttäjää haluaa lyödä vetoa esimerkiksi urheilukilpailun lopputuloksesta, oraakkelin on käytettävä ottelun tulosta vedon ratkaisemiseksi sen puolesta, joka on tehnyt oikean ennusteen (ainakin riitatapauksissa).
Hyvin yksinkertainen vedonlyönnin kokoonpano voi koostua kahdesta kolmesta multisignature (multisig) osoitteesta, jossa molemmilla pelaajilla ja oraakkelilla on kummallakin yksi avain, ja oraakkelille ilmoitetaan vedon yksityiskohdista. Ottelun jälkeen nämä kaksi pelaajaa voisivat tehdä yhteistyötä lähettääksesi varoja multisig-voittajalta ilman oraakkelin avainta. Mutta jos häviäjä kieltäytyy yhteistyöstä, oraakkeli voi käyttää kolmatta avainta yhteistyössä voittajan kanssa lähettääkseen heille varoja multisigiltä. Tämä järjestelmä toimii, mutta sillä on kaksi päähaittapuolta. Ensinnäkin, molempien pelaajien on luotettava oraakkeliin olemaan salaamattomia vastustajansa kanssa. Ja kaksi, oraakkelille on kerrottava vedosta ja ehkä osallistuttava aktiivisesti ratkaisuprosessiin: tämä tarkoittaa, että pelaajilla ei ole yksityisyyttä oraakkelista, kun taas kokoonpano ei skaalaudu kovin hyvin, jos useampi kuin muutama pelaaja haluaa veto.
Parempi ratkaisu oli vuonna 2017 ehdotettu MIT Media Labin Digital Currency Initiative -tutkija Thaddeus Dryja: huomaamattomat lokisopimukset (DLC). DLC: t käyttävät fiksua matemaattista temppua, jossa oraakkeli julkaisee salauksen allekirjoituksen, joka vastaa tapahtuman lopputulosta. Yllä olevassa esimerkissä oraakkeli julkaisi yhden allekirjoituksen, jos ensimmäinen joukkue voittaa, ja toisen allekirjoituksen, jos toinen joukkue voittaa. Temppu: älykäs sopimus on suunniteltu antamaan voittavan pelaajan käyttää julkaistua allekirjoitusta varojen hakemiseen.
DLC: ssä oraakelin osallistuminen älykkääseen sopimukseen minimoidaan allekirjoituksen julkaisemiseen; tämän voisi esimerkiksi urheiluvedonlyönnissä tehdä nykyinen uutispalvelu osana säännöllistä lähetystään. Tämä tarkoittaa myös sitä, että oraakkelille ei tarvitse ilmoittaa vedon yksityiskohdista, eikä oikeastaan tarvitse edes tietää, että veto oli lainkaan. Sillä välin mikä tahansa määrä ihmisiä voi käyttää allekirjoituksia vedonlyönnin tekemiseksi ilman oraakkelin lisäosuutta, mikä hyödyttää suuresti skaalautuvuutta. Ja vaikka oraakkeli voisi teoriassa silti olla yhteistyössä jonkun kanssa ja lähettää väärän tuloksen, tällainen epärehellinen käyttäytyminen olisi ilmeistä kenellekään ja vahingoittaisi oraakelin mainetta eteenpäin.
Sisään tammikuu tämän vuoden toimitusjohtaja Chris Stewart ilmoitti, että hänen yrityksensä Suredbits aloitti yhteistyössä Crypto Garagen kanssa DLC: n eritelmä. Sisään helmikuu, Suredbits-insinööri Nadav Kohen seurasi ensimmäisen käyttökoodin. Ja syyskuu, Suredbits ja Crypto Garage olivat kehittäneet ohjelmistonsa siihen pisteeseen, jossa sitä voitiin käyttää: Stewart ja Bitcoin-kehittäjä Nicolas Dorier harjoittivat Bitcoinin kaikkien aikojen ensimmäistä DLC: tä lyödä vetoa Yhdysvaltain presidentinvaalien lopputuloksesta. Stewart, joka olisi lyönyt vetoa Bidenistä, väitti voittonsa joulukuu.
Pitäminen on turvallisempaa Bitcoin-vikojen avulla
Pitkä luettelo vaihtohakkeista ja muista bitcoin-heisteistä on osoitus siitä, että yksityisten avainten turvallinen tallentaminen on edelleen haaste, varsinkin kun kyseessä on monet kolikot.
Mutta turvallisempia kolikoiden säilytysratkaisuja on kehitteillä. Bitcoin-holvit – käsite, joka juontaa juurensa 2016 – ovat eräänlainen älykäs sopimus, joka suojaa kolikoita siten, että niiden todellinen kuluttaminen vie useita vahvistettuja tapahtumia ja viive. Tämä antaa potentiaalisille uhreille mahdollisuuden peruuttaa kallistuksensa ennen kuin on liian myöhäistä.
Vuonna 2020 julkaistiin kahden tyyppiset holviprototyypit.
Ensimmäisen holvin prototyypin ilmoitti Bitcoin Corein avustaja Bryan Bishop vuonna huhtikuu. Lyhyesti sanottuna Bishopin suunnittelu perustuu ennalta allekirjoitettuun (ja vielä lähettämättä) tapahtumaan, joka kuluttaa (osa) kolikoita holvista käyttäjän tavalliseen (“kuumaan”) lompakkoon aikalukituksen viiveellä, kun taas vaihtoehtoinen käyttövaihtoehto ilman aikarajaa voi ohjata kolikot vaihtoehtoiseen osoitteeseen; ehkä uusi ja vieläkin turvallisempi holvi. Tärkeää on, että ennalta allekirjoitettujen tapahtumien allekirjoittamiseen käytetty yksityinen avain poistetaan, kun holvi luodaan, joten hyökkääjä voi koskaan varastaa vain itse allekirjoitetun tapahtuman.
Asennus vaikeuttaa hyökkääjän kolikoiden lunastamista. Vaikka ennalta allekirjoitettu kauppa varastettaisiin, varas voisi vain kuluttaa kolikot kuumaan lompakkoon, ja jos uhri ei luota kuuman lompakonsa turvallisuuteen, hän voi käyttää paistettua aikaviivettä kolikoiden siirtämiseen sen sijaan erittäin turvallinen osoite. (Estääkseen varasta varastamasta kolikoita yksinkertaisesti vaarantamalla kuuma lompakko ja odottamalla kärsivällisesti, kunnes holvin käyttäjä lähettää kolikonsa sinne, Bishopin suunnittelun avulla käyttäjät voivat vetäytyä holvista vain pieninä paloina.)
Hieman myöhemmin huhtikuu, Bitcoin-kehittäjä Antoine Poinsot ilmoitti vaihtoehtoisesta Vault-demosta, jonka hän suunnitteli yhdessä Chainsmithsin toimitusjohtajan Kevin Loaecin kanssa nimeltä Revault. Revault muistuttaa Bishop’s Vaultsia joillakin tavoin, kuten ennalta allekirjoitettujen tapahtumien käyttämistä, mutta se on suunniteltu erityisesti monen käyttäjän asetuksiin, käyttäen multisig-osoitetta. Revault antaa ennalta määrätyn osajoukon käyttäjäryhmistä käyttää kolikoita holvista kuumaan lompakkoon myös aikaviiveellä. Jokainen varasto-osallistuja voi käyttää tätä aikaviivettä palauttaakseen varat holviin, jos hän ei kuitenkaan ole samaa mieltä kulutuksen kanssa, tai hän voi ohjata varat vaihtoehtoiseen erittäin turvalliseen osoitteeseen, jos he eivät luota lainkaan.
Lisäksi Revault vaatii, että vetäytyessään varastosta, kun aikalukitus käynnistyy, käyttäjät luovat välittömästi tapahtuman kuumasta lompakosta, mikä edellyttää myös palvelimen allekirjoittamista. Palvelin on ohjelmoitu allekirjoittamaan mikä tahansa tapahtuma, mutta ei koskaan ristiriitaista tapahtumaa, joten jos hyökkääjä vaarantaa (sekä holvin että) kuuman lompakon, heidän on yritettävä lunastaa kolikot ennen muita ja ennen aikalukon päättymistä. Tämän pitäisi tehdä selväksi, jos kuuma lompakko vaarantuu, mikä huolestuttaa Revault-käyttäjien ryhmää ja antaa heille mahdollisuuden ohjata varoja ennen aikalukon päättymistä.
Taproot on nyt hyvä mennä, koska aktivointia harkitaan
Taproot on asetettu ensimmäiseksi Bitcoin-protokollapäivitykseksi sen jälkeen, kun erillinen todistaja aktivoitiin elokuussa 2017. Ensimmäinen ehdotettu kirjoittanut Bitcoin Core avustaja Gregory Maxwell tammikuussa 2018, Taproot antaa käyttäjille mahdollisuuden “piilottaa” älykkäät sopimukset säännöllisen näköisillä Bitcoin-tapahtumilla: monimutkainen multisig-rakenne voi olla erotettavissa yksinkertaisesta maksusta.
Taproot-päivitys sisältäisi myös Schnorr Signature -algoritmin. Monet kryptografit pitävät Schnorr-allekirjoitusjärjestelmää alan parhaimpana, koska sen matemaattiset ominaisuudet tarjoavat vahvan oikeellisuuden, se ei kärsi muokattavuudesta ja on suhteellisen nopea tarkistaa. Schnorrin “lineaarinen matematiikka” antaisi myös joukon uusia mahdollisuuksia, kuten kompaktimpia multisig-ratkaisuja, hienoja älykkäitä sopimuksia ja tietysti itse Taproot.
Kehityksen jatkuessa koko vuoden 2020, Taprootin koodi yhdistettiin Bitcoin Core -koodikantaan lokakuussa, ja se on osa Bitcoin Core 0.21.0 -versiota, joka on tarkoitus julkaista joka päivä nyt, ja julkaisukandidaatteja on tällä hetkellä saatavilla. Bitcoin Core 0.21.0 ei kuitenkaan sisällä Taprootin aktivointilogiikkaa. Tämä sisältyy todennäköisesti tulevaan pieneen Bitcoin Core -julkaisuun (todennäköisesti Bitcoin Core 0.21.1).
Aktivointilogiikka on itsessään ollut keskustelunaihe koko vuoden 2020 ajan, mutta sillä on monenlaisia mahdollisuuksia aktivointimekanismit harkittavana. Suurin osa näistä hyödyntäisi aluksi hajautusvoiman koordinointia saavuttaakseen lopulta määräajan, jolloin päivitys aktivoituu myös ilman hajautusvoiman tukea. Mutta kuten lokakuu kysely, jonka on julkaissut Bitcoin Corein avustaja AJ Towns, teki selväksi, että kaikki Bitcoin Corein avustajat eivät olleet samaa mieltä siitä, että määräaika olisi ohjelmoitava ennalta tai kuinka pitkälle sen tulisi olla (samoin kuin joitain muita pieniä erimielisyyksiä).
Mutta riippumatta siitä, mikä aktivointimekanismi lopulta valitaan, näyttää yhä todennäköisemmältä, että Taproot voidaan aktivoida sujuvasti hajautusvoiman koordinoinnin avulla. Marraskuussa suuri kaivosallas Poolin käynnisti aloitteen, joka kannusti muita kaivosaltaita ilmaisemaan mielipiteensä Taprootin ja Taprootin aktivoinnista. vastaus toistaiseksi Taproot on erittäin suotuisa, sillä yli 90 prosenttia koko hajautusvoimasta on tuettu, eikä mikään kaivosaltaat vastustaneet ehdotettua päivitystä.
Saat vielä kattavamman ja yksityiskohtaisemman yhteenvedon Bitcoinin vuoden 2020 tekniikan kehityksestä Bitcoin Optech 2020 -katsaus Special.