Jumalaprotokollat

Nick Szabon klassikkoessee vuodelta 1997

Thomas Brand
Brandin kirjasto
6 min readJun 2, 2021

--

Tietojenkäsittelytieteen ja oikeustieteen moniosaaja Nick Szabo julkaisi vuonna 1997 artikkelin, jossa hän kuvasi “jumalaprotokolliksi” nimittämiään mekanismeja. Jumalaprotokolla viittaa yleiseen ajatukseen protokollista, jotka kykenisivät toimeenpanemaan ja tarvittaessa sovittelemaan kahden tai useamman osapuolen välisiä vaihdantaprosesseja puolueettomasti. Szabo kuvaa täydellistä kolmatta osapuolta virtuaalikoneeksi, joka suorittaisi kaikki toimet oikeudenmukaisesti ja virheettömästi yhteisesti ennalta sovittujen sääntöjen mukaisesti eikä vuotaisi salaisia tietoja tahattomasti muille osapuolille.

Jumalaprotokollat voisivat monen osapuolen järjestelmässä parantaa tehokkuutta ja poistaa vastapuoliriskin matematiikkaan ja kryptografiaan perustuvalla ratkaisulla ilman, että ihmisen tarvitsee puuttua tietokonekoodiin perustuvaan sopimussuhteeseen.

Nick Szabo

Kuvittele ihanteellinen protokolla. Siinä olisi luotettavin mahdollinen osapuoli eli jumala, joka on kaikkien puolella. Kaikki osapuolet lähettäisivät syötteensä Jumalalle. Jumala määrittäisi luotettavasti tulokset ja palauttaisi tulosteet. Jumala on äärimmäisen luotettava, joten yksikään osapuoli ei saisi tietää muiden osallistujien syötteistä enempää kuin mitä ne saisivat tietää omista syötteistään ja tulosteistaan.

Valitettavasti ajallisessa maailmassamme olemme tekemisissä pikemminkin ihmisten kuin jumaluuksien kanssa. Silti joudumme liian usein kohtelemaan ihmisiä lähes teologisella tavalla, koska infrastruktuuristamme puuttuu suojautumiseen tarvittava turvallisuus.

Verkkoturvallisuuden teoreetikot ovat hiljattain ratkaisseet tämän ongelman hämmästyttävällä tavalla. He ovat kehittäneet protokollia, jotka luovat virtuaalikoneita kahden tai useamman osapuolen välille. Usean osapuolen turvallisen laskennan ansiosta mikä tahansa osapuolia voi jakaa laskennan, ja jokainen saa tietää vain sen, mitä voidaan päätellä heidän omista syötteistään ja laskennan tuloksista. Näillä virtuaalikoneilla on se jännittävä ominaisuus, että kunkin osapuolen syötteet ovat vahvasti suojassa muilta osapuolilta. Ohjelma ja tuloste ovat osapuolille yhteiset.

Voisimme esimerkiksi ajaa laskentataulukkoa Internetissä tämän virtuaalikoneen avulla. Sovimme joukosta kaavoja ja asettaisimme nämä kaavat virtuaalikoneeseen. Jokaisella osallistujalla olisi omat syöttösolut, jotka pysyisivät tyhjinä muiden osallistujien tietokoneissa. Osallistujat jakavat tulostesolun/-solut. Jokainen syöttäisi omat yksityiset tietonsa syöttösoluihin. Liisa sai tietää muiden osallistujien syöttösoluista vain sen verran kuin mitä hän pystyi päättelemään omista syötteistään ja tulostesoluistaan.

On kolme suurta rajoitusta. Ensimmäinen on se, että tämä virtuaalikone on hyvin hidas: joissakin tapauksissa yksi aritmeettinen laskutoimitus verkkovälitteistä viestiä kohden. Tällä hetkellä se on parhaimmillaankin käytännöllistä vain pienissä loogisissa tai aritmeettisissa laskutoimituksissa, joita käytetään tehokkaampien laskutoimitusten ja protokollien lisänä tai osana niitä.

Toiseksi yksityisyyden, oikeudenmukaisuuden ja vikasietoisuuden välillä on tehtävä kompromissi. Oikeudenmukaisuus tarkoittaa sitä, että kaikki saavat tulokset tietoonsa siten, että kukaan ei voi saada etulyöntiasemaa saamalla tietää asian ensin. Vikasietoisuus voi tarjota kestävyyttä vähemmistöä vastaan niin, että protokollan pysäyttämiseksi enemmistön on jäätävä pois, tai se voi olla ei-robusti, mutta pysähtymisvirheellinen (= vikaantumistilanne, jonka muut osapuolet voivat havaita luotettavasti) niin, että yksittäinen osallistuja voi pysäyttää protokollan. Monissa artikkeleissa on puhuttu siitä, kuinka murto-osaan osapuolista on luotettava, jotta voidaan olla varmoja oikean tuloksen saamisesta. Perinteisten tulosten mukaan sekä oikeudenmukaisuutta että yksityisyyttä ei voida saavuttaa enemmistön ollessa virheellisiä. Viimeaikaiset artikkelit, ks. [3], [4], [5], [6], ovat tuottaneet oikeudenmukaisia ja yksityisiä protokollia myös virheellisellä enemmistöllä. Niissä vaihdetaan kestävyys yksityisyyteen ja oikeudenmukaisuuteen mitä tahansa virheellisten osapuolten osuutta vastaan. Tämän pysähtymisvirheellisyyteen pohjautuvan lähestymistavan etuna on, että yleensä voidaan löytää uusia kumppaneita ja aloittaa alusta, mutta ei haluta kärsiä peruuttamattomia tappioita, kuten informaation vuotamista, pussittamista tai vakuuttumista virheellisestä tuloksesta.

Kolmas rajoitus on se, että protokolla ei suinkaan ole kaikkitietävä tai kaikkivoipa, vaan se toteuttaa vain sen, mikä on määritelty algoritmissa ja syötteissä. Se ei voi korvata luotettavia kolmansia ihmisosapuolia silloin, kun nämä osapuolet tarjoavat näkemystä tai tietoa, jota tietokone ei kykene tarjoamaan.

Näiden varauksien voimassaollessa mikä tahansa algoritminen välittäjä voidaan periaatteessa korvata luotettavalla virtuaalikoneella. Käytännössä näiden kolmen haasteen vuoksi rakennamme yleensä rajoitetumpia protokollia tehokkaammista osatekijöistä.

Moniosapuolisella laskentateorialla, joka mahdollistaa luottamuksellisen virtuaalisen välityksen, on teoriassa merkittäviä vaikutuksia kaikenlaisiin sopimussuhteisiin. Tämä näkyy selvimmin neuvotteluissa. Taloustieteessä “mekanismi” on abstrakti malli instituutiosta, joka kommunikoi osallistujiensa kanssa viestien välityksellä ja jonka säännöt voidaan määritellä algoritmisesti. Tällaisia instituutioita voivat olla esimerkiksi huutokaupat, vaihdot ja äänestykset. Ne toteuttavat tyypillisesti jonkinlaisen neuvottelu- tai päätöksentekoprosessin.

Taloustieteilijät olettavat, että mekanismia käyttää luotettava välittäjä. Tässä on yksinkertainen esimerkki tämän virtuaalikoneen käyttämisestä mekanismina. Alisa voi antaa tarjoushinnan ja Pekka tarjoushinnan, sitten heidän yhteinen virtuaalinen ohjelmansa, jossa on yksi käsky: “A suurempi kuin B?”. Tietokone palauttaa “tosi”, jos Alisan tarjous on suurempi kuin Pekan tarjous. Hieman kehittyneempi tietokone voi sitten päättää sovitteluhinnan useiden eri algoritmien mukaisesti (Liisan tarjous, Pekan tarjous, jaetaan erotus jne.). Tämä toteuttaa “sokea neuvottelun” mekanismin ilman luotettavaa välittäjää.

Periaatteessa, koska mikä tahansa laskettavissa oleva ongelma voidaan ratkaista tämän virtuaalikoneen avulla (ne ovat “Turing-täydellisiä”), mikä tahansa laskettavissa oleva taloudellinen mekanismi voidaan toteuttaa ilman luotettavaa välittäjää. Käytännössä meillä on kolme edellä mainittua rajoitusta. Mutta olemassaolotodistus, jonka mukaan mikä tahansa taloudellinen mekanismi voidaan toteuttaa ilman luotettavaa välittäjää, on hyvin jännittävä. Tämä tarkoittaa, että periaatteessa mikä tahansa sopimus, joka voidaan neuvotella luotettavan kolmannen osapuolen kautta (kuten huutokauppa tai pörssikaupankäynti), voidaan neuvotella suoraan. Jossain abstraktissa mielessä älykkäiden sopimusneuvottelujen ainoat jäljellä olevat “vaikeat” ongelmat ovat siis a) ongelmat, joita pidetään vaikeina jopa luotettavan välittäjän tapauksessa (tavanomaisista taloudellisista syistä) ja b) neuvottelusääntöjen ja sopimusehtojen algoritminen määrittely (tähän kuuluvat myös tapaukset, joissa välittäjä lisää tietämystä, joka ei ole osallistujien saatavilla, kuten asianajaja, joka antaa neuvoja sopimuksen laatimiseksi). Käytännössä monet ongelmat, jotka voidaan periaatteessa ratkaista moniosapuolisten laskennan avulla, ilmenevät uudelleen, kun toteutamme protokollia tehokkaalla ja käytännöllisellä tavalla. Jumalaprotokollat antavat meille tavoitteen, johon tähdätä.

Tällaisen analyysin soveltaminen sopimusten täytäntöönpanovaiheeseen ei ole yhtä suoraviivaista. Ensinnäkin suoritusvaiheen talousteoriat eivät ole yhtä hyvin kehittyneitä tai yksinkertaisia kuin neuvottelujen mekanismiteoria. Useimmissa talousteorioissa oletetaankin yksinkertaisesti, että kaikki sopimukset voidaan panna täydellisesti ja kustannuksitta täytäntöön. Osa “transaktiokustannuksia” käsittelevästä kirjallisuudesta on alkanut siirtyä tätä oletusta pidemmälle, mutta sopimusten täytäntöönpanotekniikoita ja -kustannuksia koskevia vakuuttavia tuloksia tai yksimielisiä teorioita on vain vähän.

Suoritusvaiheen analyysi, jossa käytetään monen osapuolen turvallisen tietojenkäsittelyn teoriaa, näyttäisi soveltuvan vain niihin sopimuksiin, jotka voidaan toteuttaa virtuaalikoneen sisällä. Väärentämättömien jälkitarkastuslokien käyttö yhdistettynä yhteisesti jaetun virtuaalikoneen sisällä suoritettaviin tarkastusprotokolliin mahdollistaa kuitenkin sen, että valitut välimiehet voivat ainakin tarkkailla ja todentaa monenlaisia virtuaalikoneen ulkopuolisia suorituksia, vaikkakaan ei ennakoivasti valvoa niitä itse.

Tämän vastavuoroisesti luottamukselliseen auditointiprotokollaan osallistuvat voivat tarkistaa, että kirjanpito vastaa aiemmin sitoutuneeseen transaktiolokiin tallennettujen liiketapahtumien yksityiskohtia ja että numerot täsmäävät toistensa kanssa. Osallistujat voivat laskea yhteenvetotilastoja luottamuksellisesti jakamistaan tapahtumalokeista, mukaan lukien lokien ristiintarkastukset tapahtuman vastapuoliin nähden, paljastamatta kyseisiä lokitietoja. He saavat tietää vain sen, mitä tilastoista voidaan päätellä, eivätkä näe tapahtumien yksityiskohtia. Toinen kiehtova mahdollisuus on se, että virtuaalikone voi säilyttää tilansa pitkiä aikoja, mikä mahdollistaa hienostuneen salaisen ja itseään vahvistavan suojatun luoton kehittyneet muodot.

Jos vastavuoroisesti luottamuksellisesta kirjanpidosta tulee joskus käytännöllistä, voimme saada suuren luottamuksen vastapuolten esittämien väitteiden ja raporttien todenperäisyydestä paljastamatta tunnistetietoja ja muita yksityiskohtaisia tietoja niiden perustana olevista liiketoimista. Nämä tarjoaisivat perustan vankoille mainejärjestelmille ja muille luotettavien kolmansien osapuolten järjestelmille, jotka säilyttävät eheyden ajassa, viestinnässä ja yhteenvedossa, jonka lisäksi niiden luottamuksellisuuden liiketapahtumien osallistujien kannalta. Kun tiedämme, että vastavuoroisesti luottamuksellinen tarkastus voidaan periaatteessa toteuttaa, voimme toivottavasti löytää käytännön ratkaisuja näihin tärkeisiin ongelmiin.

Viitteet

[1] D. Chaum, C. Crépeau ja I. Damgaard, Multiparty unconditionally secure protocols; Teoksessa 19th Symp. on Theory of Computing, s. 11–19. ACM, 1988.

[2] “The Spymasters Double Agent Problem: Multiparty Computations Secure Unconditionally from Minorities and Cryptographically from Majorities,” D. Chaum, Advances in Cryptology CRYPTO’89, G. Brassard (toim.), Springer-Verlag, pp. 591–601.

[3] C. Crépeau, J. van de Graaf, and A. Tapp, Committed Oblivious Transfer and Private Multi-Party Computations; Advances in Cryptology: Proceedings of Crypto ’95, Springer-Verlag, pages 110–123, 1995.

[4] Complete Characterization of Adversaries Tolerable in Secure Multi-Party Computation, Martin Hirt ja Ueli Maurer. Computer Science Department, ETH Z¨¹rich. 1997. in Proceedings of PODC ‘97

[5] Matthias Fitzi, Martin Hirt ja Ueli Maurer: Trading correctness for privacy in unconditional multi-party computation. Teoksessa Advances in Cryptology — — CRYPTO ’98, volume 1462 of Lecture Notes in Computer Science, 1998.

[6] R. Cramer, I. Damgaard, S. Dziembowski, M. Hirt, T. Rabin, Efficient Multiparty Computations Secure Against an Adaptive Adversary, Proceedings of Eurocrypt ’99, Springer Verlag LNCS, to appear (May ‘99).

Suomennos Nick Szabon (Twitter) kirjoittamasta artikkelista “The God Protocols”. Artikkeli on julkaistu vuonna 1997.

Szabo on oikeustieteen ja tietojenkäsittelytieteen moniosaaja, joka on tunnettu muun muassa digitaalisia sopimuksia ja valuuttoja koskevista lukemattomista tutkimuksistaan. Hän on kehittänyt älysopimusten käsitteen ja kehitti bit gold -nimisen hajautetun digitaalisen valuutan, jota on pidetty Bitcoinin arkkitehtuurin välittömänä esi-isänä. Szabon ajattelulla on ollut todennäköisesti ollut merkittävä vaikutus Satoshi Nakamoton ajatteluun. Jotkut ovat arvelleet Szabon olevan Satoshi Nakamoto, mutta mitään selkeitä todisteita tästä ei ole.

Kirjoituksen on suomentanut Thomas Brand (Twitter).

--

--

Thomas Brand
Brandin kirjasto

Curious observer. Interested in economics, fintech, Bitcoin, philosophy, strategy, innovation & existential risks.