Perusteelliset haasteet julkisilla lohkoketjuilla

Lähde: http://www.englishblog.com/2012/02/cartoon-murdoch-walking-on-thin-ice.html#.Wi17n7A-d24

Ei ole epäilystäkään siitä, että blockchain-tekniikalla on valtava potentiaali.

Hajautetut pörssit, ennustemarkkinat ja omaisuudenhallintaympäristöt ovat vain muutamia mielenkiintoisista sovelluksista, joita blockchain-kehittäjät tutkivat.

Itse asiassa tarpeeksi jännittävä, jotta nousee yli miljardeja ICO: issa ja ajaa valtavia hintakilpailuja koko vuoden 2017 ajan. Hype on todellinen.

Älä ymmärrä minua väärin. Rakastan sitä, että blockchain “hype” auttaa popularisoimaan sitä pääkäyttäjien keskuudessa. Lopuksi, en saa tyhjiä tuoreita ihmisiä sanoessaan “Bitcoin” tai “Ethereum”.

Tässä tarinassa on kuitenkin selkeä sivu, johon ei kiinnitetä riittävästi huomiota: lohkoketjuilla on useita merkittäviä teknisiä esteitä, jotka tekevät niistä käytännöllisiä nykypäivän käyttöön.

Uskon, että pääsemme sinne, mutta meidän on oltava realistisia kehittäjinä ja sijoittajina. Ja todellisuus on, että voi kulua useita vuosia, ennen kuin luottamattomat järjestelmät ovat valmiita yleiseen käyttöön laaja-alaisesti.

Joitakin näistä teknisistä esteistä ovat:

  1. Rajoitettu skaalautuvuus
  2. Rajoitettu yksityisyys
  3. Sopimuksen muodollisen todentamisen puute
  4. Varastointirajoitukset
  5. Kestämättömät konsensusmekanismit
  6. Hallinnon ja standardien puute
  7. Riittämätön työkalu
  8. Kvanttitietouhka
  9. … ja enemmän.

Tässä postituksessa käydään läpi näitä teknisiä esteitä ja jaan esimerkkejä ratkaisuista niiden poistamiseksi.

Kehittäjinä olen sitä mieltä, että on kriittistä, että siirrämme jonkin verran keskittymistämme kiiltävistä uusista ICO: ista todellisilla tekniikan haasteilla, jotka ovat tapanamme.

HUOMAUTUS: Ei voi millään tavoin kattaa kaikkia ongelmia ja kaikkia ratkaisuja, mutta peittelin ne, jotka tunnen parhaiten. Ole hyvä ja pidättäydy kritiikoimasta minua liian ankarasti siitä, että en sisällyttänyt jotain. Rakastan sinua lähettämään kommentteihini kaiken, mitä kaipaisin, ja lisään sen, jos mielestäni sopii :)… Ja jos olen tehnyt virheitä tai vääriä väitteitä, ota meihin yhteyttä!

1. Rajoitettu skaalautuvuus

Tällä hetkellä kaikilla julkisilla blockchain-konsensusprotokolloilla on haastava rajoitus: verkon jokaisen täysin osallistuvan solmun on käsiteltävä jokainen tapahtuma.

Miksi? No, muistakaa, että lohkoketjut ovat pohjimmiltaan ”hajautettuja” - mikä tarkoittaa, että mikään keskuspuolue ei ole vastuussa järjestelmän turvaamisesta ja ylläpidosta. Sen sijaan jokainen verkon solmu on vastuussa järjestelmän turvaamisesta käsittelemällä jokainen tapahtuma ja ylläpitämällä kopiota koko tilasta.

Vaikka hajauttaminen -konsensusmekanismi tarjoaa meille kaikista välittämämme blockchain-etuja - turvallisuustakuita, poliittista puolueettomuutta, sensuurin vastustusta jne. -, se tapahtuu skaalautuvuuden kustannuksella, koska hajauttaminen määritelmän mukaan rajoittaa niiden toimien lukumäärää, joita blockchain voi prosessi verkon yhden täysin osallistuvan solmun rajoituksiin.

Kaksi käytännön vaikutusta tässä:

  1. Alhainen suorituskyky: Lohkoketjut voivat käsitellä vain rajoitetun määrän tapahtumia
  2. Hitaat tapahtumiajat: Tapahtumalohkon käsittelyyn vaadittava aika on hidas. Esimerkiksi Bitcoin-lohkoajat ovat 10 minuuttia, kun taas Ethereum-lohkoajat ovat noin 14 sekuntia. Nämä ajat ovat vielä pidempiä ruuhka-aikoina. Vertaa tätä melkein välittömiin vahvistuksiin, jotka saat, kun käytät palveluita, kuten Square tai Visa.

Seurauksena on, että julkiset ryhmäketjut pakotetaan tekemään kompromissi alhaisen transaktiokapasiteetin ja korkean keskittymisasteen välillä.

Toisin sanoen, kun ryhmäketjun koko kasvaa, myös verkon täysin osallistuvien solmujen vaatimukset tallennukselle, kaistanleveydelle ja laskentateholle kasvaa. Jossain vaiheessa siitä tulee tarpeeksi hankala, että se on mahdollista vain niille harvoille solmuille, joilla on varaa resursseihin prosessoida lohkoja - mikä johtaa keskittymisen vaaraan.

Tuolloin olemme tehneet täyden 360 asteen käännöksen ja päässeet takaisin keskitettyyn järjestelmään, joka vaatii luottamusta muutamiin isoihin toimijoihin, kun taas haluamme järjestelmän, joka käsittelee tuhansia tapahtumia sekunnissa samalla hajautustasolla. että cryptocurrency alun perin lupasi tarjota.

Skaalautuvuusratkaisut

Ihannetapauksessa haluamme lohkoketjurakenteen, jolla on samanlaisia ​​tai parempia tietoturvaominaisuuksia kuin Bitcoinilla ja Ethereumilla, samalla kun pystymme toimimaan ilman, että jokaisen solmun on käsiteltävä enemmän kuin tietty prosenttiosuus verkon kaikista tapahtumista. Toisin sanoen tarvitsemme mekanismin rajoittaaksesi niiden solmujen lukumäärää, jotka on vahvistettava jokainen tapahtuma, menettämättä verkon luottamusta siihen, että jokainen tapahtuma on pätevä ja aito. Se saattaa kuulostaa sanoilta yksinkertaiselta, mutta on teknisesti erittäin vaikeaa.

Skaalautuvuus on suuri este tukikohdan tulevaisuuden menestykseen. On olemassa muutamia ehdotettuja ratkaisuja, joita parhaillaan työskentelevät eri ekosysteemien kehitysryhmät. Olen kirjoittanut aiheesta laajasti edellisessä viestissä, jota suosittelen lukemaan, jos olet kiinnostunut. Katso lyhyt yhteenveto joistakin nykyisistä ratkaisuista alla:

Ketjun ulkopuoliset maksukanavat

Mikromaksukanavaverkon taustalla on pitää suurin osa tapahtumista poissa lohkoketjusta. Se on pohjimmiltaan mekanismi, jolla lohkoketjuvuorovaikutukset, jotka normaalisti tapahtuvat lohkoketjussa, johdetaan pois lohkoketjusta. Lohkoketjua käytetään puhtaasti selvityskerroksena vuorovaikutussarjojen viimeisen tapahtuman käsittelemiseksi lopullista selvittämistä varten, mikä auttaa nostamaan taakan alla olevasta lohkoketjusta.

Tämä ratkaisee edellä selostetun läpimeno-ongelman, koska nyt blockchain voi skaalautua suurempien transaktiomäärien suuruuteen. Lisäksi, koska tapahtuma tapahtuu heti, kun maksukanava käsittelee sen, eikä silloin, kun lohko vahvistetaan, mikromaksukanavat ratkaisevat tapahtuman nopeusongelman poistaen tyypillisen viiveen.

Joitakin esimerkkejä ekosysteemin mikromaksukanavien verkoista ovat Raiden Network ja Lightning Network.

Sharding

Varjostumisen taustalla on se, että lohkoketjun kokonaistila on jaettu erilaisiin ”sirpaleisiin” ja verkon eri solmut tallentavat ja käsittelevät tilan jokaisen osan. Jokainen sirpu käsittelee vain pienen osan valtiosta ja suorittaa sen samanaikaisesti. Blockchain-varjostus on samanlainen kuin sharding perinteisessä tietokantamaailmassa, paitsi erityisen kovalla haasteella, joka koskee turvallisuuden ja aitouden ylläpitämistä hajautetussa solmujoukossa.

Ketjun ulkopuoliset laskelmat

Tämä on samanlainen kuin valtionkanavat, paitsi laajempi. Ajatuksena on suorittaa laskelmat (eikä pelkästään rahakkeiden siirrot) ketjun ulkopuolella, mikä olisi muuten kohtuuttoman kallista suorittaa ketjussa, turvallisella ja todennettavissa olevalla tavalla. Siirtämällä laskenta- ja varmennusprosessit lohkoketjusta erilliseen protokollaan, voidaan saavuttaa korkea tapahtuman suorituskyky. Esimerkki tästä Ethereumille on TrueBit.

DAG

”DAG”, lyhenne sanoista Directed Acyclic Graph, on kuvaajadatarakenne, jossa on kärkiä ja reunoja. (Kärkipiste on kuvaajan piste ja reuna on reitti kärkipisteestä toiseen.) DAG takaa, ettei ole mitään tapaa aloittaa millään kärkipisteellä ja seurata sarjoja reunoja, jotka lopulta silmukoivat takaisin kyseiseen kärkipisteeseen ( eli ei silmukoita). Tämän avulla meillä voi olla solmujen (tai kärkipisteiden) sarja topologisessa järjestyksessä.

DAG

DAG-pohjaisten protokollien, kuten esimerkiksi IOTA: n Tangle, takana on ajaa globaali lineaarinen lohkoketju kokonaan ja käyttää sen sijaan DAG-tietorakenteita ylläpitämään järjestelmän tilaa. Verkon turvaamiseksi nämä protokollat ​​luottavat omiin uusiin lähestymistapoihin, jotka eivät vaadi jokaista solmua käsittelemään kaikkia tapahtumia lineaarisesti.

Toinen DAG-pohjainen lähestymistapa, SPECTER-protokolla, esimerkiksi käyttää lohkojen suoraa asyklista kuvaajaa (DAG) ja kaivaa DAG-lohkoja rinnakkain, jotta saadaan aikaan enemmän läpäisykykyä ja pidempi tapahtuma-aika.

Toivon voivani kirjoittaa lisää DAG-pohjaisesta lähestymistavasta tulevissa viesteissä; tosiasia on, että näitä protokollia, vielä hyvin varhaisina aikoina, ei ole vielä toteutettu ja käytetty mittakaavassa. Suoraan sanottuna heillä on joitain perustavia rajoituksia / heikkouksia, joihin on vielä puututtava, jotta niitä voidaan pitää toteuttamiskelpoisina skaalautuvina ratkaisuina.

Tarkempi kuvaus näistä skaalautuvuusratkaisuista ja muutamasta muusta ehdottaa, että luet aiemmin kirjoittamasi skaalautuvuutta koskevan viestin.

2. Rajoitettu yksityisyys

Koska blockchain-tapahtumia ei ole sidottu suoraan henkilöllisyyteesi, ne saattavat näyttää yksityisemmiltä. Kuka tahansa maailmassa voi luoda uuden lompakon nimettömästi ja tehdä kauppoja sen avulla.

Se ei kuitenkaan ole aivan niin yksinkertaista.

Toisaalta on totta, että tämän tekniikan suuri lupaus on salanimitys: tapahtumat kirjataan ja tallennetaan julkiseen pääkirjaan, mutta ne yhdistetään tiliosoitteeseen, joka koostuu yksinomaan numeroista ja kirjaimista. Koska tähän osoitteeseen ei ole liitetty reaalimaailman identiteettiä, tapahtuman alkija näyttää mahdotonta seurata.

Tämä täydellisen turvallisuuden ulkonäkö on kuitenkin harhaanjohtava. On totta, että henkilö voi säilyttää yksityisyytensä niin kauan kuin salanimeä ei ole linkitetty yksilöön, mutta heti kun joku muodostaa yhteyden, salaisuus paljastuu. Yksi esimerkki tällaisesta tapahtumasta paljastettiin, kun lainvalvontaviranomaiset tunnustivat kykenevänsä tunnistamaan tietyt Bitcoin-käyttäjät tutkimusten aikana, siten ”nimittämään” heidät ja jakautumaan blockchain-liiketoiminnan kokonaisnäkymättömyyden yleiseen lähtökohtaan.

Kuinka tämä toteutettiin?

Kauppiasivustojen verkkoseurannan ja evästeiden avulla on uskomattoman helppo vuotaa tietoja liiketoimista verkkoon, missä kuka tahansa, mukaan lukien hallitukset, lainvalvontaviranomaiset ja ilkeät käyttäjät, voivat helposti käyttää näitä tietoja.

Lisäksi Ethereumin kaltaisen blockchain-alustan kanssa käyttäjät ovat vuorovaikutuksessa älykkäiden sopimusten kanssa, jotka käsittelevät muutakin kuin pelkkää arvonsiirtoa. Kaikki nämä älykkäitä sopimuksia koskevat tiedot ovat julkisia Ethereum-lohkoketjussa, mukaan lukien lähettäjät ja vastaanottajat, itse tapahtumadata, suoritettu koodi ja sopimuksen sisälle tallennettu tila.

Kriittisten yritystietojen lataaminen lohkoketjuun, jossa hakkerit, kilpailijat tai muut luvattomat osapuolet voivat tarkastella tietoja, ei yksinkertaisesti ole vaihtoehto useimmille yrityksille. Mieti:

  • Sähköiset sairauskertomukset, jotka ovat erittäin yksityisiä ja arkaluontoisia tietoja. Ei ole hyväksyttävää, että nämä tiedot ovat aina julkisesti näkyviä julkisissa keskusketjuissa, mikä vaarantaa potilaiden luottamuksellisuuden.
  • Henkilöllisyyden todennustietoja, kuten sosiaaliturvatunnuksia, ei voida tallentaa avoimesti julkiseen älylliseen sopimukseen.
  • Tunnistetietojen hallinnalla, kuten salasanoilla ja avaimilla, ei ole sijaa avoimessa, viime kädessä suojaamattomassa älykäs sopimuksessa.
  • Rahoitusasiakirjoja, kuten e-aktivointitaulukoita tai työntekijöiden palkkoja, ei saa koskaan liittää julkisesti helposti jäljitettäviin osoitteisiin.
  • Lista jatkuu.

Tietosuoja on edelleen keskeinen este yksityisyydestä ja yksilön itsemääräämisoikeudesta huolehtiville henkilöille, organisaatioille ja toimialoille. Monet meistä, jotka ovat pakkomielle blockchainista ja salausvaluutasta, ovat kiinnostuneita luomaan luottamuksettoman ja sensuuria kestävän järjestelmän, joka tuo yksilölle taloudellista vaikutusvaltaa. Paradoksaalisesti, että käytämme julkista, helposti jäljitettävää pääkirjaa siihen. (Panee pääni menemään sivuttain, kun ajattelen sitä!)

Tietosuojaratkaisut

Tässä on muutamia esimerkkejä ratkaisuista, joihin eri kehitysryhmät ovat pyrkineet.

Elliptinen käyrä Diffie-Hellman-Merkle (ECDHM) -osoitteet

ECDHM-osoitteiden ymmärtämiseksi sinun on ymmärrettävä Diffie-Hellman Key Exchange. Diffie-Hellman-avaimenvaihdon taustalla on, että se luo yhteisen salaisuuden kahden osapuolen välillä. Tätä voidaan sitten käyttää viestien vaihtoon yksityisesti julkisen verkon välityksellä.

Miten?

Lähettäjä ja vastaanottaja voivat jakaa ECDHM-osoitteet julkisesti, käyttää sitten jaettua salaisuuttaan nimettömien Bitcoin-osoitteiden saamiseksi. Nämä Bitcoin-osoitteen voivat paljastaa vain ne, joilla on salaisuus. Ainoa julkisesti näkyvä asia on uudelleenkäytettävät ECDHM-osoitteet. Siksi käyttäjän ei tarvitse murehtia tapahtumien jäljittämisestä.

Käsitekaavio, joka kuvaa avainta vaihdon yleistä ajatusta käyttämällä värejä erittäin suurten lukujen sijasta (Lähde: https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)

Joitakin esimerkkejä ECDHM-osoitejärjestelyistä ovat Peter Toddin Stealth Addresses, BIP47: n uudelleenkäytettävät BIP47-maksukoodit, Justin Newtonin BIP75 Out of Band Address Exchange ja muut. Näiden järjestelmien toteuttaminen ja niiden tosiasiallinen käyttö on kuitenkin vähäistä.

sekoittimet

Sekoittajan idea on, että joukko ihmisiä voi yhdistää maksunsa yhdeksi pooliksi seuraamalla velkoja yksityisessä pääkirjassa. Sitten kun poolista olevat varat käytetään, kunkin maksun alkuperä hämärtyy. Jokainen ryhmäketjua tarkkaileva voi nähdä maksetut summat yhdessä vastaanottajien kanssa, mutta teoriassa henkilöä, joka nimenomaisesti hyväksyi maksun, ei voida jäljittää. Esimerkki sekoituspalvelusta on CoinJoin.

Lähde: https://en.wikipedia.org/wiki/CoinJoin

Valitettavasti sekoittimet ovat osoittautuneet epäluotettaviksi ratkaisuiksi. Esimerkiksi tutkijat pystyivät tunnistamaan CoinJoin-tapahtumat helposti ja todistivat, että kuluttamalla vain 32 000 dollaria hyökkääjä voi yksimielisellä tapahtumilla 90%: n menestyksellä. Lisäksi tutkijat osoittivat myös, että sekoittimet tarjoavat vain vähän suojaa Sybil-hyökkäyksiltä ja palvelunestohyökkäyksiltä.

Vielä huolestuttavampaa on se, että sekoittimen väitetysti yksityisen pääkirjan täytyy olla jonkin keskusyhteisön hallinnassa, mikä tarkoittaa, että se vaatii luotettavan kolmannen osapuolen "sekoittamaan" tapahtumia.

Koska CoinJoin on ratkaisu, jonka käyttäjät päättävät käyttää oletusmenetelmän sijasta, hyvin harvat ihmiset ovat historiallisesti olleet mukana tämän tyyppisissä sekoittimien poolissa, joten nimettömyys on liian pieni. Siksi on helppo tunnistaa, onko tietty tulos peräisin yhdestä näistä harvoista ihmisistä.

Toinen esimerkki sekoitusratkaisusta on CoinShuffle, joka on hajautettu sekoitusprotokolla, jonka on kehittänyt tutkijaryhmä Saarlandin yliopistossa Saksassa. CoinShuffle yritti parantaa CoinJoin-palvelua, koska se ei vaatinut luotettavaa kolmatta osapuolta järjestämään sekoitustoimia.

Monero

Toinen tapa puuttua yksityisyyteen on luoda salausvaluutta, joka on oletuksena yksityinen, kuten Monero. Toisin kuin monet altcoinit, Monero ei ole Bitcoinin haarukka. Sen sijaan Monero perustuu vaihtoehtoiseen protokollaan CryptoNote.

Ensisijainen ominaisuus, jota Monero tarjoaa, on vaihtoehtoinen ”rengaskirjoitus”.

Ring-allekirjoitukset ovat eräänlainen ryhmän allekirjoitus, ja jokaisella ryhmän allekirjoittajalla on salainen ja julkinen avain. Toisin kuin perinteiset salausalkirjoitukset, jotka todistavat, että yksittäinen allekirjoittaja “hyväksyi” tapahtuman mainittua yksityistä avainta käyttämällä, ryhmä allekirjoitus osoittaa, että kiinteän ryhmän yksi allekirjoittaja hyväksyi tapahtuman paljastamatta ketään.

Zero-tiedon todisteet

Tietämättömyys todistetaan, kun sananlasku vakuuttaa todentajan, että hänellä on jokin salainen tieto paljastamatta tietoa suoraan. Toisin sanoen ohjelmalla voi olla salaisia ​​tuloja, eikä sananlasku paljasta todentajalle mitään. Zero-information-todisteet tarjoavat perustavanlaatuisia alkeellisia piirteitä, joita voidaan käyttää rakentamaan yksityisyyttä suojaavia mekanismeja. Esimerkkejä ovat:

Esimerkki 1: Haaste- / vastauspelit

Tietoturvallisuudessa haaste-vastaus -todennus on protokollien ryhmä, jossa toinen osapuoli esittää kysymyksen (”haaste”) ja toisen osapuolen on annettava kelvollinen vastaus (”vastaus”) todennettaviksi. Tätä “peliä” voidaan käyttää lohkoketjussa tapahtuman todentamiseksi. Jos tietty tapahtuma on virheellinen, toinen solmu voi valita ”kiinnittää huomiota” kelpaamattomuuteen. Tämä edellyttää sitten todennettavan todistuksen toimittamista, joka vahvistaa tapahtuman virheellisyyden. Jos sitä ei suoriteta, tuotetaan ”haaste”, joka edellyttää tapahtuman aloittajalta ”vastauksen” todistamista, että tapahtuma on pätevä.

Katsotaanpa esimerkkiä: Sano, että ”Bobilla” on yksinomainen käyttöoikeus johonkin resurssiin (esimerkiksi hänen autoonsa). Alice haluaa nyt pääsyn myös siihen, jotta hän voi käyttää sitä mennäkseen ruokakauppaan. Bob antaa haasteen, kenties ”52w72y”. Alice on vastattava yhdellä merkkijonolla, joka sopii Bobin esittämään haasteeseen. Ainoa tapa löytää vastaus käyttämällä algoritmia, jonka tuntevat vain Bob ja Alice. Lisäksi Bob asettaa joka kerta erilaisen haasteen. Edellisen oikean vastauksen tietäminen ei siis anna Alicelle mitään etua.

Haaste- / vastauspelit ovat jo käytössä lohkoketjuissa, kuten Ethereum. Tarvitsemme kuitenkin kirjastoja ja työkaluja tekemään tämäntyyppisistä todennusjärjestelmistä paljon, paljon helpompaa käyttää.

Esimerkki 2: zkSNARK: t

Mitä tarkalleen ovat zkSNARKit? Tarkastellaan määritelmää:

  • zk = nolla tietämystä. Ei vaadi tietojen tuntemusta tiedon olemassaolon osoittamiseksi
  • SNARK: Succinct Ei-interaktiivinen Adaptive ARGument of Knowledge.
  • ”Succinct” tarkoittaa tiivistä todistetta, joka voidaan tarkistaa nopeasti.
  • ”Ei-vuorovaikutteinen” tarkoittaa, että se ei vaadi todentajaa olemaan vuorovaikutuksessa sananlaskijan kanssa. Sen sijaan sananlaskuri voi julkaista todistuksensa etukäteen, ja todentaja voi varmistaa, että se on oikein.
  • ”Adaptiivinen tiedon argumentti” tarkoittaa todistusta tietyn laskennan tiedosta.

Toivon voivani yhtenä päivänä pelata zkSNARK-tiedostot viestissä, ohitan tekniset yksityiskohdat täällä. zkSNARK-tuotteet ovat mielenkiintoinen ja lupaava yksityisyyden suoja-alue, jolla on muutama varoitus:

  1. SNARK-laitteet ovat resurssitehokkaita.
  2. SNARK-tunnisteet antavat käyttäjän todistaa, että heillä on pääsy salaisuuteen, mutta käyttäjä on vastuussa salaisuuden ylläpidosta ja pitämisestä sen saatavilla tarvittaessa.
  3. SNARK-laitteilla on asennusvaihe, jonka aikana piiri tai laskenta, jonka haluat todistaa, on kiinteä. Tämän vaiheen on tapahduttava etukäteen yksityisen luotettavan ihmisryhmän keskuudessa. Tämä merkitsee paitsi sitä, että luotat asennusta valmisteleviin ihmisiin, mutta se tarkoittaa myös sitä, että SNARK: t eivät ole sopivia mielivaltaisten laskutoimitusten suorittamiseen, koska aina vaaditaan valmisteluvaihe.

Esimerkki 3: zkSNARKs + Zcash

Zcash on yksityisyyttä suojaava kryptovaluutta, joka perustuu zk-SNARK: iin. Zcashilla on ns. "Suojattu liiketapahtuma", jossa jokainen käytetty kolikko kattaa nimettömyyden. Suojatut tapahtumat käyttävät "suojattuja osoitteita", jotka lähettäjän tai vastaanottimen on tuotettava nolla tietämystodiste, jonka avulla muut voivat varmistaa tapahtuman salatun datan paljastamatta sitä.

Zcash-tapahtumakaavio

Zcash on ehdottomasti mielenkiintoinen projekti, jota kannattaa pitää silmällä.

Esimerkki 4: zkSNARK: t + Ethereum

Ethereumin seuraavassa protokollapäivityksessä, Metropolisissa, kehittäjät pystyvät todentamaan tehokkaasti zk-SNARK-ketjut ketjussa.

Mitä voimme tehdä SNARK-yhteensopivalla Ethereumilla? Tietyt sopimusmuuttujat voidaan tosiasiallisesti tehdä yksityisiksi. Sen sijaan, että tallentaisi salaisia ​​tietoja ketjussa, ne voidaan tallentaa käyttäjille, jotka todistavat noudattavansa sopimuksen sääntöjä SNARK-tunnisteilla. Jokainen näistä käyttäjistä vaatii oman luotettavan asennuksen, joka lisää hiukan valmistelua yläpuolella. Mutta kun piiri on olemassa, sitä voidaan käyttää niin moniin tapahtumiin kuin tarvitaan.

Se, mitä et voi saavuttaa Ethereumin SNARK-laitteilla, on itsenäinen yksityisyys, erillään käyttäjästä. Koska Ethereumin SNARK-tunnukset luottavat käyttäjään ylläpitämään salainen ketjun ulkopuolella ilman kyseistä käyttäjää, salaisuutta ei ole missään nimessä jäljitettävissä.

Esimerkki 5: zkSTARK

ZK-SNARK-koneilla on uudempi, loistavampi serkku: ZK-STARK, jossa ”T” tarkoittaa ”läpinäkyvää”. ZK-STARK-ratkaisut ratkaisevat yhden Zk-SNARK-laitteiden ensisijaisista heikkouksista: sen luotettavuuden luotettaviin asetuksiin. Ne ovat myös yksinkertaisempia, koska he luottavat puhtaasti hashiin ja informaatioteoriaan, ja ovat turvallisempia kvantitietokoneita vastaan, koska ne eivät käytä elliptisiä käyriä tai eksponentti-oletusten eksponenttia.

Kaiken kaikkiaan, huolimatta hämmästyttävästä edistyksestä, jota olemme saavuttaneet tietosuoja-alalla joillakin yllä mainituista nolla-tietämykseen perustuvista lähestymistavoista, työtä on vielä paljon. Nollatietotekniset kirjastot on tutkittava perusteellisesti, testattava taisteluun ja kypsytettävä. zkSNARK: t ja zkSTARK: t on kokeiltava erilaisissa julkisissa lohkoketjuissa. Zcashin on todistettava käytön tapaukset mittakaavassa reaalimaailman skenaarioissa. Olemme edelleen kaukana kaikesta.

Koodin hämärtäminen

Toinen yksityisyysmekanismi on koodien hämärtäminen. Tavoitteena on löytää tapa hävittää ohjelma P siten, että häiriö voi tuottaa toisen ohjelman O (P) = Q siten, että P ja Q palauttavat saman tuloksen, jos heille annetaan sama tulo, mutta Q ei paljasta tietoja ohjelmasta. sisäiset P. Tämä antaa meille mahdollisuuden piilottaa Q: n sisällä olevat yksityiset tiedot, kuten salasanat, sosiaaliturvatunnukset jne., mutta hyödyntää sitä edelleen ohjelmissa.

Vaikka tutkijat väittävät, että mustan laatikon täydellinen hämärtäminen on mahdotonta, hämärtäminen on heikompi käsite, jota kutsutaan erottamattomuuden hämärtämiseksi, jonka tutkijoiden mukaan on mahdollista. Erottamattomuuden hämärtimen O määritelmä on, että jos otat kaksi vastaavaa ohjelmaa A ja B (ts. Samat tulot joko A tai B tuottavat samat lähdöt) ja lasket O (A) = P ja O (B) = Q, niin ei ole laskennallisesti toteutettavissa oleva tapa sellaiselle henkilölle, jolla ei ole pääsyä A- tai B-pisteeseen, kertoa, tulivatko P A: sta vai B: stä.

Äskettäin tutkijat Craig Gentry, Amit Sahai, et ai. pystyivät suorittamaan erottamattoman koodin hämärtämisen. Algoritmissa on kuitenkin korkea laskennallinen yläraja.

Jos tätä rakennetta voidaan parantaa, mahdolliset hyödyt ovat valtavat. Mielenkiintoisin mahdollisuus kryptovaluutan maailmassa on ajatus on-blockchain-sopimuksesta, joka sisältää yksityisiä tietoja.

Voimme esimerkiksi kuvitella Ethereum-sopimuksen, joka sisältää käyttäjän salasanan Coinbaseen. Sitten voimme kirjoittaa ohjelman sellaiseksi, että jos tietyt sopimuksen ehdot täyttyvät, sopimus aloittaa HTTPS-istunnon Coinbase-palvelun avulla jollain välittäjäsolmulla, kirjautua sisään käyttäjän salasanalla ja tehdä kauppa. Koska sopimuksen tiedot hämärtyvät, välittäjäsolmulla tai muulla lohkoketjun pelaajalla ei ole mitään mahdollisuutta muuttaa siirtopyyntöä tai määrittää käyttäjän salasana.

oraakkelilauseita

Lohkoketjussa oraakki on osapuoli, joka välittää tietoa älykkäiden sopimusten ja ulkoisten tietolähteiden välillä. Se toimii pääasiassa tietovälineenä lohkoketjun älykkäiden sopimusten ja lohkon ulkopuolella olevien ulkoisten tietolähteiden välillä. Joten yksi lähestymistapa tietojen pitämiseen "yksityisenä" on yksinkertaisesti käyttää oraakkeja yksityisen tiedon hakemiseen ulkoisesta tietolähteestä.

Luotetut suoritusympäristöt

Trusted Execution Environment (TEE) on pääprosessorin turvallinen alue. Se takaa koodin ja sisälle ladattujen tietojen suojan luottamuksellisuuden ja eheyden suhteen. Tämä luotettu ympäristö toimii samanaikaisesti käyttäjäystävällisen käyttöjärjestelmän kanssa, mutta sen on tarkoitus olla yksityisempi ja turvallisempi kuin käyttäjän käyttämä käyttöjärjestelmä.

Lähde: https://www.slideshare.net/JavierGonzlez49/operating-system-support-for-runtime-security-with-a-trusted-execution-environment-phd-thesis

TEE: iin on meneillään varhaista tutkimusta ja kehitystä selvittääkseen, miten niitä voidaan käyttää yksityisyyden luomiseen blockchainissa. Olen henkilökohtaisesti erittäin innoissani siitä, että enemmän tietoturva-asiantuntijoita käsittelee näitä ratkaisuja. Tarvitsemme ehdottomasti lisää asiantuntijoita, jotka tutkivat tätä.

3. Sopimuksen muodollisen todentamisen puute

Älykkäiden sopimusten muodollinen todentaminen on edelleen valtava ratkaisematon ongelma. Ensinnäkin ymmärretään, mitä tarkoittaa jopa sopimuksen "muodollinen varmentaminen" ymmärtämällä, mikä on "muodollinen todiste". ”Muodollinen todiste” matematiikassa tarkoittaa matemaattista todistusta, jonka tietokone on tarkistanut matematiikan perustaksiaalioksioiden ja primitiivisten päätelmissääntöjen avulla.

Laajemmin, muodollinen tarkistus suhteessa ohjelmistoon on menetelmä, jonka avulla määritetään, käyttäytyykö ohjelma määritelmän mukaan. Yleensä tämä tehdään konkreettisella spesifikaatiokielellä, jota käytetään kuvaamaan, kuinka toimintojen tulojen ja lähtöjen tulisi suhteutua toisiinsa. Toisin sanoen, ilmoitamme ensin muuttumattoman ohjelmasta, ja sitten meidän on todistettava kyseinen lausunto.

Yksi esimerkki spesifikaatiokielestä on Isabelle, joka on yleinen todisteavustaja, jonka avulla matemaattiset kaavat voidaan ilmaista muodollisella kielellä ja tarjoaa välineitä näiden kaavojen todistamiseksi loogisessa laskennassa. Toinen määritelmäkieli on Coq, joka on muodollinen kieli matemaattisten määritelmien, suoritettavien algoritmien ja lauseiden kirjoittamiseksi.

Joten miksi on tärkeää tehdä muodollinen varmennus älykkäisiin sopimuksiin koodattuille ohjelmille?

Yksi niistä, älykkäät sopimukset ovat muuttumattomia, eli et voi päivittää tai korjata niitä, kun ne on otettu käyttöön Ethereumin pääverkossa. Joten se tarkoittaa, että meidän on saatava kaikki paikoilleen, ennen kuin voimme ottaa nämä sopimukset käyttöön ja käyttää niitä reaalimaailman sovelluksissa. Älykkäät sopimukset ovat lisäksi julkisesti saatavissa ja kaikki älykkäisiin sopimuksiin tallennetut ovat avoinna kaikille. kuka tahansa voi myös käyttää julkisia menetelmiä älykkäisiin sopimuksiin. Vaikka tämä tarjoaa avoimuutta ja läpinäkyvyyttä, se tekee myös älykkäistä sopimuksista erittäin houkuttelevia kohteita hakkereille.

Todellisuus on, että luotettavien älykkäiden, virheettömien, älykkäiden sopimusten kirjoittaminen on vaikeaa riippumatta siitä, kuinka paljon varotoimia käytät. Lisäksi esimerkiksi Ethereumilla EVM-koodin tarkistaminen on uskomattoman vaikeaa, koska EVM-ohjeet on suunniteltu. Tämä vaikeuttaa Ethereumin virallisten varmennusratkaisujen rakentamista. Siitä huolimatta muodollinen todentaminen on vahva tapa vähentää virheiden ja hyökkäysten riskiä. Ne tarjoavat paremman takeen oikeellisuudesta kuin perinteiset lähestymistavat (esim. Testaus, vertaisarvioinnit jne.), Ja tarvitsemme kipeästi parempia ratkaisuja.

Muodolliset varmennusratkaisut

Toivon, että minulla olisi julkisesti saatavilla olevia ratkaisuja esittelyyn tässä osiossa, mutta valitettavasti niitä ei ole paljon. Yoichi Hirai, joka on muodollinen todennusinsinööri Ethereum-säätiölle, teki yhden hyvin varhaisen havaitsemani esimerkkejä. Hän pystyi tuottamaan varhaisia ​​tuloksia useiden älykkäiden sopimusten todentamiseksi, mukaan lukien pieni ”teko” -sopimus. Vaikka tämä on hyvin pieni, tämä on ensimmäinen ”todellinen” sopimus, jonka olen nähnyt analysoivan lauseen todistavassa ympäristössä.

Kuten Yoichi itse sanoo ...

”Varmennustulos ei ole kaukana täydellisestä. Löydän edelleen enemmän ongelmia todentamisessa kuin todennetuissa sopimuksissa. EVM: n (Ethereum Virtual Machine) toteutusta ei ole testattu muiden suhteen! Julistan tämän jo, koska tämä projekti antaa hyvän esimerkin siitä työmäärästä (ja yksityiskohtaisuudesta), joka tarvitaan älykkään sopimuksen todentamiseksi koneavusteisen loogisen päättelyn avulla. Jos tällä hetkellä jo toteuttaisin älykkään sopimuksen, jolla on yli 100 000 dollaria, ja jos vastaan ​​aikataulusta, harkitsen tällaista kehitystä (toinen vaihtoehto on kokeilla ensin sopimusta pienemmillä arvoilla) ).”

On muitakin joukkueita, kuten Tezos, jotka luopuvat kokonaan Solidityn käytöstä kielenä ja EVM: n virtuaalikommenttina, ja sen sijaan rakentavat omaa älykästä sopimusohjelmointikieltä ja VM: tä, jotka helpottavat muodollista varmennusta.

Riippumatta siitä, mikä on oikea lähestymistapa, olipa kyse sitten EVM: n tarkistamisesta, jotta voidaan helpottaa muodollisesti vahvistaa tai rakentaa kokonaan uusi kieli, joka on luonnostaan ​​helpompi tarkistaa, tarvitsemme enemmän työtä ponnisteluihin. Tarvitsemme lisää tutkijoita ja kehittäjiä, jotka työskentelevät muodollisen todentamisen parissa. Tarvitsemme muodolliset varmistuskirjastot ja standardit kaikilla mahdollisilla ohjelmointikielellä.

4. Varastointirajoitukset

Useimmat sovellukset, jotka rakentuvat julkiseen lohkoketjuun, vaativat jonkinlaisen tallennusratkaisun. (Käyttäjätunnukset, taloudelliset tiedot jne.).

Tietojen tallentaminen julkiseen blockchain-tietokantaan tarkoittaa kuitenkin, että tiedot ovat:

  1. Tallentaa kaikki verkon täydet solmut.
  2. Tallennetaan toistaiseksi, koska blockchain-tietokanta on vain lisäys ja muuttumaton.

Siksi tietojen tallennus aiheuttaa valtavia kustannuksia hajautetussa verkossa, jossa jokaisen täyden solmun on tallennettava yhä enemmän tietoa äärettömyyteen. Tämän seurauksena tallennustila on valtava este kaikille realistisille sovelluksille, jotka rakentuvat lohkoketjuun.

Varastointiratkaisut

On olemassa useita varhaisia ​​projekteja, jotka käyttävät erilaisia ​​strategioita datan jakamiseksi siruiksi ja varastoimiseksi hajautetulla tavalla osallistuvien solmujen välillä (ts. Hajautettu tallennus). Peruslähtökohtana on, että jokaisen kaiken tallentavan solmun sijaan on joukko solmuja, jotka jakavat tai “jakavat” tiedot keskenään. Muutamia esimerkkejä hankkeista ovat:

  • Swarm: Swarm on vertaisverkkojen tiedostojen jakamisprotokolla Ethereumille, jonka avulla voit tallentaa sovelluskoodin ja datan päälohkon ulkopuolelle parvien solmuihin, jotka on kytketty Ethereumin lohkoketjuun. Voit myöhemmin vaihtaa näitä tietoja lohkoketjussa.
  • Storj: Ratkaisu, jossa tiedostot ja tiedot ensin terävöitetään, salataan ja jaetaan sitten useille solmuille siten, että kukin solmu tallentaa vain pienen osan tiedoista: siis "hajautettu tallennus". Sitten Storj-kolikkoa (SCJX) käytetään maksamaan tallennusta varten ja toimii kannustimena solmuille, jotka tallentavat osan käyttäjän tiedostoista tai tiedoista.
  • IPFS: Vaihtoehtoinen p2p-hypermediaprotokolla, joka tarjoaa korkean suorituskyvyn, sisältöön osoitetun lohkon tallennusmallin, sisältöosoitteisiin hyperlinkkein. Pohjimmiltaan se sallii tiedostojen säilyttämisen pysyvästi ja hajautetusti, samalla kun tiedostoille tehdään historiallinen versio ja poistetaan kaksoiskappaleet.
  • Ihmisarvoinen: Ihmisarvoinen on hajautettu sisällönjakoalusta, jonka avulla käyttäjät voivat ladata ja ansaita rahaa / jakaa työnsä (videot, musiikki, e-kirjat jne.) Luottamatta keskitettyyn kolmanteen osapuoleen. Käyttäjät voivat käyttää sisältöä edullisemmalla tavalla ohittamalla nämä välittäjät, kun taas sisältöä isännöivät solmut palkitaan.
  • … ja enemmän.

5. Kestämättömät konsensusmekanismit

Miekkaketjut ovat "luottamattomia". Käyttäjien ei tarvitse luottaa muihin liiketoimiinsa. Koska sinun ei tarvitse luottaa kenenkään muuhun, käyttäjälle tarjotaan houkuttelevia ominaisuuksia, kuten autonomia, sensuurin vastustuskyky, aitous ja luvaton innovaatio.

Mekanismia, jota on käytetty ajan kuluessa luotettavan lohkoketjun mahdollistamiseksi, jota hyökkääjät eivät helposti haittaa, kutsutaan ”konsensusprotokolliksi”. Konsensusprotokollat ​​eivät ole uusia Bitcoinille ja muille lohkoketjuille. Esimerkiksi vuonna 1992 Dwork ja Naor loivat yhden ensimmäisistä “todiste työstä” -järjestelmistä, joissa voitiin luoda salaustekniset todisteet laskennallisista menoista resurssien käyttöoikeuden turvaamiseksi ilman luottamusta. Tätä järjestelmää käytettiin torjumaan roskapostia. Adam Back perusti myöhemmin samanlaisen järjestelmän, nimeltään Hashcash, vuonna 1997. Sitten vuonna 2003 Vishnumurthy et al. käytti työtodistusta valuutan turvaamiseksi ensimmäistä kertaa, paitsi tässä tapauksessa merkkiä ei käytetty yleisenä valuuttana, vaan vertaisverkkojen tiedostokaupan järjestelmän ylläpitämiseksi.

Viisi vuotta myöhemmin Nakamoto julkaisi todisteen työstä mekanismina arvoketju Bitcoinin turvaamiseksi. Tämän taustalla olevan konsensusmekanismin ansiosta Bitcoinista tuli ensimmäinen laajalti hyväksytty globaali hajautettu kaupparekisteri.

Konsensus työtodistuksesta

Työn todistus on järjestelmä, joka koostuu ongelmien ratkaisemisesta, joita on vaikea ratkaista, mutta jotka on helppo todentaa. Kaivostyöläiset suorittavat laskennallisesti kalliita laskelmia laskentatehonsa avulla, ja Bitcoin-järjestelmä palkitsee kaivostoimittajat, jotka esittävät tällaisia ​​ratkaisuja uusilla Bitcoineilla ja transaktiomaksuilla. Mitä enemmän laskuritehoa on kaivostyöntekijällä, sitä enemmän "painoa" heillä on päättäessä yksimielisyydestä.

Työntekijöiden yksimielisyys antoi Bitcoinista tulla ensimmäisenä todella laajalti käytössä olevan hajautetun digitaalisen valuutan muodon. Se ratkaisi kaksinkertaisen kulutusongelman vaatimatta luottamusta kolmansilta osapuolilta. Työn todistaminen ei kuitenkaan ole täydellistä, ja elinkelpoisemman konsensusmekanismin rakentamiseksi tarvitaan vielä paljon tutkimusta ja kehitystä.

Mitkä ovat työn todistamisen ongelmat?

1. Erikoistuneella laitteistolla on etu

Yksi haittapuoli työn osoittamisesta on erikoistuneiden laitteistojen käyttö. Vuonna 2013 ”sovelluskohtaiset integroidut piirit” (ASIC) kutsutut laitteet suunniteltiin yksinomaan Bitcoinin louhintaan, mikä lisää 10–50-kertaista tehokkuutta. Siitä lähtien kaivostoiminta tavallisen tietokoneen CPU: lla ja GPU: lla on tullut täysin kannattamatonta, ja ainoa tapa kaivoa on ASIC: ien kanssa, jotka itse valmistat tai ostat ASIC-valmistajalta. Tämä on kaukana "ketju" hajautetusta luonteesta, jossa jokaisella on mahdollisuus osallistua verkon turvallisuuteen.

Tämän ongelman lieventämiseksi Ethereum on päättänyt tehdä PoW-algoritmistinsa (Ethhash) peräkkäin muistivahvaksi. Tämä tarkoittaa, että algoritmi on suunniteltu siten, että nonce-laskenta vaatii paljon muistia JA kaistanleveyttä. Suuret muisti- ja kaistaleveysvaatimukset vaikeuttavat jopa erittäin nopeaa tietokonetta löytämään useita nonseja samanaikaisesti. Tämä vähentää keskittämisen riskiä ja luo tasapuoliset toimintaedellytykset todentamista tekeville solmuille.

Tietysti se ei tarkoita, että Ethereumille ei olisi koskaan ollut ASICia tulevaisuudessa. Erikoistunut laitteisto on edelleen valtava riski PoW-algoritmeille.

2. Kaivosaltaan keskittäminen

Kaivosaltaan taustalla on konsepti, että sen sijaan, että jokainen käyttäjä louhisi yksin ja jolla olisi pieni mahdollisuus ansaita ryhmäpalkkio, hän kaivostaa poolin. Allas lähettää heille sitten oikeasuhteisen ja yhdenmukaisen voiton. Kaivosbassojen ongelmana on, että koska niiden verkossa on enemmän "painoa", suurten kaivosbassojen tuotot vaihtelevat vähemmän kuin yhden käyttäjän. Ajan myötä muutama uima-allas alkaa hallita suurta osaa verkosta ja keskittynyt poolisarja saa edelleen lisää tehoa ajan myötä. Tällä hetkellä esimerkiksi viiden parhaan kaivosaltaan omistuksessa on lähes 70% kokonaishaaroituksesta. Pelottava vähintäänkin.

3. Energiahukkaa

Kaivostyöläiset käyttävät valtavia määriä laskentatehoa suorittaakseen laskennat, jotka ratkaisevat työn todistusalgoritmin, mutta valitettavasti kaikella tällä laskennallisella työllä ei ole arvoa yhteiskunnalle. Digiconomistin Bitcoin-energiankulutusindeksin mukaan Bitcoinin nykyinen arvioitu vuotuinen sähkönkulutus on 29,05TWh, mikä on 0,13% koko maailman sähkönkulutuksesta. Bitcoin-kaivostoiminta käyttää nyt (lue: tuhlaa) enemmän sähköä kuin 159 yksittäistä maata saadaksesi sinulle kontekstin siitä, kuinka paljon se todella on.

Koska julkiset blokkiketjut kuten Bitcoin, jotka käyttävät todisteita konsertista, jatkavat yhä enemmän energian tuhlaamista. Jos tavoitteena on, että julkinen ryhmäketju levitetään miljoonille käyttäjille ja tapahtumille, kestämättömän hukkaan kuluneen energian käyttäminen ja työtodistuksen laskentakustannukset eivät edistä tätä lopputulosta.

Konsensusratkaisut

Hyödyllinen todiste työstä

Yksi tapa ratkaista energiajäteongelma on saada työnvarmistustoiminto ratkaisemaan jotain, joka on samanaikaisesti hyödyllinen. Kuvittele esimerkiksi tilanne, jossa kaivostyöläiset käyttävät laskentatehoaan vaikeiden AI-algoritmien ratkaisemiseksi sen sijaan, että ratkaisettaisiin työtodistuksen vaatima satunnainen SHA256-ongelma.

Proof-of-osuuden

Yksi lähestymistapa kaivostoiminnan keskittämisongelman ratkaisemiseksi on lopettaa kaivostoiminta kokonaan ja siirtyä johonkin muuhun mekanismiin kunkin solmun painon laskemiseksi konsensuksessa. Sitä vaakatodistus pyrkii.

Sen sijaan, että kaivosmiehet asettaisivat laskentatehoa, he asettavat "panoksen" (ts. Rahaa). Kuten Vitalik toteaa, "yhden prosessoritehon yksikön, yhden äänen" sijasta siitä tulee "yksi valuuttayksikkö, yksi ääni".

Vaakatodistus eliminoi laitteiston tarpeen ja on siksi immuuni yllä keskusteltujen laitteistojen keskittämistä koskeville huolenaiheille. Lisäksi, koska kaivostyöntekijöiden ei tarvitse kuluttaa valtavia määriä energiaa ratkaisujen selvittämiseksi työn todistusalgoritmeille, pankkitodistus on luonnostaan ​​energiatehokkaampi.

Kuten minkä tahansa tekniikan kanssa, ilmaista lounasta ei kuitenkaan ole. Panostamisalgoritmeilla on omat perustavanlaatuiset haasteensa. Tarkemmin sanottuna niihin kuuluvat:

  1. Ei mitään vaarnassa: vaakatodistuksella, kun ketjussa on haarukka, onko haarukka vahingossa tai haittaohjelma, paras strategia mille tahansa solmulle, joka vahvistaa tapahtuman, on "kaivoa" jokaisessa ketjussa . He voivat tehdä tämän, koska he eivät vie fyysistä laskennallista työtä ja äänestävät vain dollarillaan. Tämä tarkoittaa, että vaakalaudalla olevat kaivostyöntekijät palkitaan riippumatta siitä, mikä ketju voittaa (ts. "Mikään ei ole vaakalaudalla" estääkseen niitä louhimasta jokaisessa ketjussa).
  2. Pitkän kantaman hyökkäykset: Kun työnkestävyysketjuissa on haarukka, kaivosmies käynnistää haarukan muutaman korttelin pääketjun nykyisen pään takana. Mitä kauemmas kaivosmies pääsee ketjuun, sitä vaikeampaa on päästä kiinni pääketjuun, koska se vaatii yli puolen verkon laskentatehon sen tekemiseksi. Vaakatodistuksella osallistuja voi kuitenkin aloittaa haarukan tuhansia tai miljoonia lohkoja takaisin, koska vaaditaan vain panosta tai rahaa. Tämä tarkoittaa, että osallistuja voi yrittää hankkia aiempien osallistujien avaimet ja luoda sitten miljoonia lohkoja uudelle ketjulle, jolloin käyttäjien on vaikea tietää, mikä lohkoketju on “oikea”.
  3. Kartellien muodostuminen: Hajautetussa järjestelmässä, jota hallitsevat taloudelliset kannustimet, erittäin todellinen riski on koordinoitujen ponnistelujen ja oligopolien muodostuminen. Kuten Ethereumin tutkija Vlad Zamfir toteaa, ”Salausvaluutta on uskomattoman keskittynyt. Niin on kaivosteho. Oligopolistinen kilpailu on normi monilla "tosielämän" markkinoilla. Koordinointi pienen joukon suhteellisen varakkaiden validoijien välillä on paljon helpompaa kuin suuren joukon suhteellisen huonojen validoijien välistä koordinointia. Kartellien muodostuminen on täysin odotettavissa konteksteissamme. ”

Jotta työtodistus voidaan korvata käyttökelpoisella uudella konsensusmekanismilla, kuten vaakatodistus, tarvitsemme algoritmin, joka ratkaisee vaakalaudalla olevan ongelman ja pitkän kantaman hyökkäysongelmat ottamatta käyttöön uusia yhteistyöriskejä.

Tendermintin ja Ethereumin kaltaiset joukkueet ovat edistyneet huomattavasti tämän ongelman ratkaisemisessa. Tenderminttu oli yksi ensimmäisistä, joka mukautti perinteistä BFT-tutkimusta lohkoketjuihin rakentamalla toimivan konsensuksen moottorin lohkoketjuille. Tendermintilla on kuitenkin omat haittapuhelunsa (aihe toiseen viestiin). Samoin Ethereum on edistynyt huomattavasti pankkitodistuksen toteuttamisessa, mutta tosiasia on, että nykyään mitkään mitkään eivät toimi millään mittakaavan live-verkossa.

Toisin kuin todiste työstä, vaakatodistus ei ole todistettu ja ymmärretty vähemmän. Eri mallien erilaisten kompromissien ymmärtäminen vaatii lisätutkimuksia ja kokeiluja. Sellaisenaan on erittäin tärkeää tehdä yhteistyötä luomalla tehokkaampi, nopeampi ja turvallisempi yksimielisyysjärjestelmä, joka perustuu näihin varhaisiin töihin.

6. Hallinnon ja standardien puute

On sanomattakin selvää, että julkisella hajautetulla lohkon ketjulla ei ole keskusviranomaista tai organisaatiota, joka tekee päätöksiä. Toisaalta, tämä antaa meille kaikkien unelmamme, jonka olemme kaikki - täysin luoteton, avoin ja luvaton järjestelmä -, toisaalta, kirjaimellisesti ei ole turvallista päivityspolkua protokollille, eikä ketään vastuussa standardien asettamisesta ja ylläpidosta .

Vaikka haluamme ehdottomasti pitää blockchain-tekniikan kehityksen mahdollisimman hajautettuna, tarvitsemme silti jonkin verran organisaatiota kehittäjien ja muiden ekosysteemien keskuudessa sopiaksesi uusista standardeista, ominaisuuksista ja päivityksistä. On epäselvää, kuinka saavutat tämän johtamatta ainakin keskittymiseen (esim. Ethereum-säätiö).

Esimerkiksi Ethereumin nykyinen tilanne on, että yleensä on yksi tai kaksi kehittäjää, jotka johtavat ponnisteluja tiettyjen standardien tai ominaisuuksien suhteen. Vaikka tämä toimii nyt, tässä mallissa on puutteita. Ensinnäkin, se ei ole tehokasta - jos työtä johtava kehittäjä (t) takertuu tai unohtaa vastata muutaman päivän tai viikon, standardin edistyminen vain hidastuu riippumatta siitä, kuinka tärkeä standardi on kaikille, joille rakentuu julkinen lohkoketju. Standardin määritteleminen ilman selkeää johtajuutta on kaaosta ja tekee mahdottomaksi päästä nopeasti yksimielisyyteen ajankohtaisissa asioissa, etenkin kun yhteisö kasvaa.

Toinen lähestymistapa on jättää se täysin avoimeksi ja hajautetuksi. Tämä on kuitenkin osoittautunut tehottomaksi, mikä on johtanut monivuotisiin keskusteluihin.

On oltava parempi tapa.

Tezos on yksi esimerkki julkisesta blockchainista, jonka tavoitteena on luoda kyky päivittää protokollaa protokollan sisäisestä käytöstä ketjun hallinnan avulla, vaikka se on silti hyvin idea eikä ole elävä tai todistettu.

Blockchain-hallinto on kaiken kaikkiaan uskomattoman hankala ongelma, ja tasapainon löytäminen keskitetyn ja hajautetun hallinnan välillä on avain kehityksen pitämiseen oikealla tiellä.

7. Riittämätön työkalu

Riittävä työkalu on välttämätöntä kehittäjien työpaikoille, varsinkin jos mainitut kehittäjät haluavat tehdä työnsä tehokkaasti ja toimivasti. Kauhea työkalu tuottaa kauhu tarinoita.

Sanomattakin on selvää, että blockchain-ekosysteemille tällä hetkellä saatavilla olevaa kehittäjätyökalua ei voida hyväksyä. Toimintaprotokollan tai hajautetun sovelluksen kehittäminen ryhmäketjussa on pelottava tehtävä jopa nykypäivän kokeneimmille kehittäjille.

Solidity ja blockchain -kehittäjinä olen löytänyt henkilökohtaisesti puuttuvan työkaluekosysteemistä:

  • IDE, jolla on hyvät linterit ja kaikki tarvittavat laajennukset tehokkaaseen älykkäiden sopimusten kehittämiseen ja blockchain-analyysiin.
  • Hyvin dokumentoitu ja helppokäyttöinen rakennustyökalu ja kääntäjä.
  • Asennustyökalu, joka ei ime.
  • Tekninen dokumentaatio, joka tosiasiallisesti on olemassa tai joka ei ole täysin vanhentunut erilaisten sovellusliittymien ja kehysten osalta.
  • Testaa kehyksiä, jotka eivät ole heikko. Ethereumille on joitain työkaluja, kuten tryffeli, jotka ovat hyväksyttäviä, mutta lisävaihtoehtoja ja kokeilua testauskehysten ympärillä tarvitaan erittäin paljon. Olen nähnyt, että liian monet älykkäät sopimukset ovat täysin testaamattomia luonnossa liikuttaessa miljoonia dollareita. Testauksen puute ei ole missään olosuhteissa hyväksyttävä, mutta ei etenkään silloin, kun kyse on niin suurista rahasummista. Esimerkiksi BAT-tunnusmyynnin älykkäillä sopimuksilla ei ole testipakettia, mutta sopimuksia käytettiin keräämään 36 miljoonaa dollaria 24 sekunnissa. Kuka tahansa järkevä ihminen tietää, että jos sopimus voi siirtää niin paljon rahaa ympäri, se joutuu hyökkäyksen kohteeksi.
  • Vianmääritystyökalut. Voi poika. Vianmääritys Solidity-koodi on kuin kullan etsiminen pimeässä tunnelissa, jossa silmä on päällä. Edellisellä linjallani työskentelin verkkokehityksessä, ja se, että pystyin vaihtamaan koodirivi riviltä debuggerin avulla, oli todella hengenpelastaja. Jos sinulla ei ole sellaista työkalua tai edes sitä, joka tulee etäältä lähellä, on uskomattoman turhauttavaa ja tuottamatonta kehitettäessä Solidityssa. Tarvitsemme kipeästi työkaluja, jotka helpottavat ongelmien eristämistä ja diagnosointia.
  • Lokityökalut. Sama kuin edellä.
  • Turvallisuustarkastus. Tämä on iso. Ethereumille on olemassa vain yksi huomattava turvallisuuden tarkastuspalvelu, josta olen kuullut, Open Zepplin. Vaikka he tekevät suurta työtä ekosysteemin hyväksi auditointipalvelunsa kanssa, teollisuus, joka kerää miljardeja dollareita älykkäiden sopimusten avulla, tarvitsee useamman kuin yhden yksinäisen käynnistyksen. Yritysten ja insinöörien on luotava edistyneempiä työkaluja ja palveluita, ja lisää tietoturva-asiantuntijoita tarvitaan auttamaan älykkäiden sopimusten tarkastamisessa perusteellisesti. Ainoa aika, kun älykkäälle sopimusturvallisuudelle kiinnitetään huomattavaa huomiota, on sen jälkeen, kun hyökkäykset, kuten kaksi pariteetti- tai DAO-hakkerointia, tapahtuvat. Sitten tietysti syyllisyys viedään kehittäjille, jotka kirjoittivat älykkäät sopimukset, tai mikä vielä pahempaa, ydin Ethereum-tiimille. Minusta se on epäreilua. Kehittäjien ei pitäisi olla vastuussa siitä, että he tietävät, kuinka suorittaa oman koodinsa turvatarkastukset. Se on kuin kysyisit Stephen Curryä tekemään oma kirjanpito. Se ei toimi tällä tavalla. Tarvitsemme kipeästi turvallisuusinsinöörien ja tutkijoiden apua ja asiantuntemusta. Tarvitsemme sijoittajia asettamaan suuhunsa rahansa sijaan ja rahoittamaan pyrkimyksiä älykkäiden sopimusten ja lohkoketjujen turvaamiseksi.
  • Estä tutkijat ja analytiikka. Ethereumille meillä on lohkotutkija nimeltä Etherscan. Bitcoinilla meillä on tutkijoita, kuten Blockchain.info, Blockexplorer tai Blockcypher. Nämä kaikki ovat suuria yhteisön ponnistuksia. Itse käytän Etherscania laajasti. Mutta kaikenlaisen vakavan ketjun analyysin tekemiseen se ei ole riittävän lähellä. On olemassa kaikenlaisia ​​mielenkiintoisia tietoja, joita voisimme ja meidän pitäisi analysoida julkisista blokkiketjuista.

8. Kvanttitietouhka

Yksi kryptovaluutan ja salauksen piilevistä uhista on kysymys kvantitietokoneista.

Vaikka kvantitietokoneet ovat nykyään edelleen jonkin verran rajallisia millaisia ​​ongelmia ne voivat ratkaista, se ei aina ole näin. Pelottava totuus on, että riittävän suuri kvantitietokone voi tehokkaasti hajottaa suosituimmat julkisen avaimen algoritmit.

On tärkeätä, että suunnitellessamme ja rakentamalla lohkoketjua ja sen taustalla olevaa salausta, meidän on mietittävä, kuinka saada nämä ominaisuudet kvantitodistetuiksi.

Kvantitiivis ratkaisu

Vaikka en missään nimessä olekaan tämän asiantuntija, olen hyvin rajallisen käsitykseni mukaan se, että postkvanttinen kryptografia -tutkimus keskittyy tällä hetkellä kuuteen erilaiseen lähestymistapaan: Hilapohjainen salaus, monimuuttujainen salaus, Hash-pohjainen salaus, koodipohjainen salaus, Supersingular elliptic käyrän isogeny-kryptografia ja Symmetrisen avaimen kvanttiresistenssijärjestelmät, kuten AES ja SNOW 3G.

Lopullisesta ratkaisusta riippumatta, salausratkaisujen rakentaminen, jotka ovat kvantitiivisiä, on jotain, mikä tulisi pitää mielessä.

Sekalaiset haasteet pitää mielessä

  • Tarvitsemme vankempia ratkaisuja, jotka kykenevät lohkoketjujen väliseen kommunikointiin, jotta useat ketjut (esim. Bitcoin, Ethereum, Litecoin jne.) Voivat kommunikoida ja toimia keskenään saumattomasti.
  • Tarvitsemme parempia avainhallintajärjestelmiä, jotka on rakennettu blockchain-työkaluihin, päälle rakennettujen sovellusten vuoksi.
  • Tarvitsemme tehokkaampia allekirjoitusjärjestelmiä ja muita salausjärjestelmiä, joita vähävaraiset laitteet voivat käsitellä turvallisuutta uhraamatta.
  • … ja enemmän.

johtopäätös

On valitettavaa, että niin suuri osa blockchain-ympäristön mielenosoituksesta ja rahoituksesta on työnnetty ICO: iin. Samaan aikaan muutama tutkija ja kehittäjä haluaa ratkaista nämä ongelmat epätoivoisesti, mutta heillä ei ole riittävästi resursseja.

Valitettavasti monia kannustetaan taloudellisesti jättämään huomiotta ongelmat - mukaan lukien eräät avaruuden vaikutusvaltaisimmista kehittäjistä ja johtajista.

Tavoitteenani seuraavalle vuodelle on jatkaa:

  1. Lisää tietoisuutta näistä aiheista
  2. Käytä niin paljon aikani osallistuakseni näihin ratkaisuihin
  3. Auta antamaan muille tutkijoille ja kehittäjille mahdollisuus tehdä sama

Riippumatta siitä, osoittautuuko nykyinen sijoitusympäristö kuplaksi vai ei, uskon vakaasti, että blockchain on täällä pysyäkseen. Meidän on vain laitettava kyynärpäärasvaa kehittäjinä poistaaksemme esteet, jotka estävät sitä pääsääntöisestä käytöstä. Ja tarvitsemme sijoittajia etsimään ja rahoittamaan näitä pyrkimyksiä.