Az elektronikus pénz jövője

2012-05-09

Szerző: Matthew Green

http://www.flickr.com/photos/seanfx/ (cc)

Számos célra lehet remek eszköz a kriptográfia, de a rendszeres olvasóim jól tudhatják, hogy jómagam leginkább az adatvédelmi jellegű felhasználási lehetőségei iránt érdeklődöm – és ezen belül is leginkább aziránt, hogy hogyan bonyolíthatunk le a segítségével biztonságos online tranzakciókat anélkül, hogy ehhez bárkinek is fel kellene fednünk bármit az egészből.

Ez már csak azért is különösen fontos téma, mert jelenleg is épp egy mindeddig példátlan társadalmi és technológiai kísérlet kellős közepén vagyunk, melynek végcélja az eddigi fém- és papíralapú pénzgazdaságunk teljes digitalizálása. Nemrégiben magamnak is el kellett már magyaráznom egy négyéves gyereknek, hogy tulajdonképpen mik is azok az újságok – és gyanítom, hasonló élményben lesz majd része neki is, amikor őt meg majd arról kérdezik az ő gyerekei, hogy régen az emberek miért hurcibáltak magukkal olyan fura fémdarabokat és papírfecniket a tárcájukban.

Hitelkártyák, bankkártyák, EFT, online bankolás, NFC… egyre inkább úgy tűnik, hogy a készpénz napjai meg vannak számlálva. Ami azonban sajnos nem tölt el olyan felhőtlen boldogsággal, mint kellene; a könnyű, gyors, pontos és hatékony kereshetőséggel párosított óriási adatmennyiség ugyanis a jelek szerint végképp fel fogja számolni a személyes pénzügyi magánszféránkat. És itt lép be a képbe a kriptográfia: a segítségével ugyanis visszaszerezhetünk valamennyit ebből a lassan teljesen elvesző magánszféránkból… ha akarunk.

Jelen posztban tehát egy-két olyan adatvédelmi fókuszú “e-készpénz”-technológiát veszek gyorsan szemügyre, amelyek segítségünkre lehetnek ebben – és igen, ki fogok térni a Bitcoinra is.

Miért nincs még e-készpénzünk?

Pedig e-pénzünk van, csak nem nevezzük annak. Jelenleg is itt van körülöttünk, különböző féle és fajta műanyagkártyák formájában, nagy valószínűséggel jelenleg is épp a tárcánkban lapulva. Ha fejlett országban élsz, és nem ragaszkodsz borravaló-osztogatáshoz, akkor különösebb gond nélkül eléldegélhetsz már most is anélkül, hogy valaha is hozzá kellene nyúlnod akár csak egyetlen árva fém- vagy papírpénzhez is.

Ami eddig mind szép és jó – a baj csak az, hogy a bank- és hitelkártyák nem készpénzként működnek. Tökéletesen megfelelőek ugyan pénzátutalás céljára, de két specifikus korlátjuk is van: először is, mivel alapvetően egy online fizetési hálózaton keresztül működnek, ezért éppen akkor válnak teljesen használhatatlanná, amikor pedig a legnagyobb szükséged lenne rájuk – így például egy természeti katasztrófa után, amely vagy teljesen kiiktatta vagy legalábbis nagyon súlyosan károsította a netes infrastruktúrát a környékeden (lásd pl. az átlagos floridai hurrikánokat vagy New York City-t 9/11 után, stb.).

Másodszor, a szokványos pénzátutaló rendszerek teljes mértékben nélkülözik a valódi készpénz magánszféra- és adatvédelmi előnyeit is. Persze ezt nagy valószínűséggel pontosan ilyennek is szánták a (kormányzati) illetékesek; elvégre a lenyomozhatatlan pénz valósággal kínálja magát a különböző illegális ügyletekhez: drog- és fegyverkereskedelemhez, adócsaláshoz és ki tudja, még mihez. És bár e ténykedéseket a jelenlegi, modern bankrendszerünk sem lehetetleníti el teljesen, azért mégis valóságos áldást jelent a rendfenntartóknak azáltal, hogy centre pontosan lenyomozhatóvá tesz nagyjából minden egyes tranzakciót. És még ha nem is vagy drogdíler, egyesek akkor is hajlandóak komoly összegeket fizetni a tranzakciótörténeidért, hogy az abból nyert információk alapján még hatékonyabban adhassanak el neked mindenféléket.

A privát e-készpénz születése

David Chaum egymilliárd dollárt tart privát, névtelen érmékben.

Az igazi, valódi adatvédelmet biztosító elektronikus készpénz eredeti feltalálójaként általában David Chaumot szokás megnevezni, aki egy dolgozatsorozatban fejtette ki az idevágó elképzeléseit a ’80-as években, majd egy vagyont keresett azzal, hogy lenyomozhatatlan elektronikus készpénz-szolgáltatást nyújtott a világnak.

Amely kijelentés így, ebben a formában persze nem teljesen igaz. A legenda szerint Chaumot több nagy hitelkártya-vállalat is megkereste jobbnál jobb ajánlatokkal, de ő mindenkit elhajtott azért, hogy saját e-készpénz-vállalkozást indíthasson. Hogy végül mire jutott, azt nyilván nem kell részleteznem; bizonyára észrevetted már, hogy nem abszolút lenyomozhatatlan elektronikus dollárokkal van tele a tárcád (ha mégis, akkor bocsánat a téves előfeltevésemért).

Levonhatjuk tehát a tanulságot, hogy az elektronikus készpénz elterjesztéséhez messze nem elég csupán kifejleszteni a megfelelő technológiát. Szerencse azonban az e-készpénz szerencsétlenségében a kriptográfia szempontjából, hogy Chaum ezt követően egy sor más, szintén rendkívül hasznos dologgal kezdett foglalkozni, így például a névtelen elektronikus szavazás megoldásával, hogy csak egyet említsünk.

Sok más, azóta kifejlesztett e-készpénz-rendszerhez hasonlóan Chaum első vonatkozó dolgozata rögzített névértékű (mondjuk 1$-os címletű) digitális “érmék” használatát javasolta. Ezek az “érmék” egyszerűen egy digitálisan aláírt, a bank kizárólagos tulajdonában álló titkos kulccsal generált egyedi sorozatszámok. Amint egy ilyen érme elköltésre kerül, a fogadó fél azonnal ellenőrizheti az aláírást és elhelyezheti az érmét a saját bankszámláján – amely szintén azonnal vissza is utasítana minden többszöri elköltési kísérletet.

(Ami persze a kereskedőt nem gátolja meg abban, hogy utóbb aztán ő maga is tovább-elköltse a kemény munkával megszerzett pénzedet; ehhez mindössze le kell cserélni az érme eredeti sorozatszámát egy frissen generált nyilvános kulcsra; a bank aláírja ezt, a vásárló megadja a kereskedőnek a bank által már aláírt nyilvános kulcsot, és a megfelelő aláírókulccsal rögzíti a kereskedő nevét és tranzakciós adatait.)

A rendszernek azonban még így is marad egy komoly hiányossága, jelesül az, hogy továbbra sem nevezhető privátnak, mivel a bank pontosan tudja azt is, hogy melyik sorozatszám kihez tartozik, és azt is, hogy hol költik el azokat, így máris azonnal értesülni fognak róla, ha például egy anarchista könyvesboltban válsz meg a pénzedtől.

Chaum ezért egy új, ún. vak aláírás-protokollal helyettesítette az aláírási folyamatot. A vak aláírás lényege pedig pontosan az, amit már a neve is sugall: egy olyan megoldás, mely által a bank anélkül írhatja alá az egyes üzeneteket, hogy közben ténylegesen látná is azokat. Így tehát a felhasználók maguk is létrehozhatnak új sorozatszámokat anélkül, hogy erről külön értesíteniük kellene a bankot; a vak aláírás-protokoll így is biztosítja a megfelelő hitelesítést. Így még ha a bank meg is próbálná nyomon követni az érméket, akkor sem tudná ténylegesen összekötni azokat az egyes, konkrét felhasználókkal.

Chaum még egy valós világbeli analógiával is szemléltette az elképzelést: helyezzünk el egy dokumentumot egy borítékban egy indigó-lappal együtt, majd irassuk alá a bankkal a boríték külsejét. És bár ez nem írja le tökéletes precizitással a vak aláírások technikai hátterét, az alapelképzelést mégis jól szemlélteti. Különösebb nehézség nélkül hozzáférhetőek az RSA, a DSA és a Schnorr/Elgamal aláírások vak változatai is (részletek erről itt).

A többszörös elköltés és a nethiány problémája

A digitális aláírások igen hatékonyan veszik elejét annak, hogy bárki csak úgy önkényesen és illetéktelenül bocsásson ki saját érméket. Sajnos azonban az egyébként rendben lévő, hitelesített érmék lemásolását már nem akadályozzák meg.

Ez az, amiben az elektronikus készpénz a leginkább különbözik a fizikai elődjétől: a fizikai pénzt eleve úgy tervezik, hogy minél nehezebb legyen lemásolni. Elvégre ha bárki lemásolhatná, úgy máris teljesen értelmetlenné válna. Ha pedig valaki mégis elmélyed ebben az “iparban”, úgy azt könyörtelenül levadásszák.

Egészen más azonban a helyzet az elektronikus érmékkel, mivel digitális adatokkal szinte lehetetlen lenne dolgozni a folyamatos másolgatásuk nélkül; hosszútávú memóriából RAMba, RAMból processzor-gyorsítótárba, egyik számítógépről a másikra egy hálózaton keresztül. Az elektronikus érméket tehát egyenesen le kell másolni ahhoz, hogy használhatóak legyenek, és ez alapjaiban változtatja meg az egész probléma természetét: így az okozhat gondot, ha valaki ugyanazt az érvényes érmét próbálja többször, több különböző kereskedőnél elkölteni. Ha figyelmen kívül hagynánk ezt a problémát, úgy nem csak hogy egymás után maradnának hoppon a kereskedők, de pillanatok alatt elértéktelenedne és teljesen megbízhatatlanná is válna a pénz.

Chaum eredetileg a bank állandó online jelenlétével tervezte megoldani ezt a problémát, hogy a felhasználók azonnal leadhassák az érméiket, és így szintén azonnal ellenőrizhető is legyen azoknak a “frissessége”, “előző elköltetlensége”. Ami mindaddig valóban remekül is működik, amíg folyamatos a kapcsolat, de annak hiányában, offline környezetben máris használhatatlanná válik. Jelenleg is az offline használat jelenti az egyik legnagyobb problémát, amivel a különböző e-készpénz-megoldásoknak szembe kell nézniük.

Erre eddig alapvetően kétféle megoldás született, bár egyik sem nevezhető tökéletesnek:

* Használjunk bizalmas hardvert. Kényszerítsük a felhasználókat arra, hogy valamilyen bizalmas, a bank által hitelesített és garantáltan “megmachinálhatatlan” hardvert, így például egy kriptográfiai okoskártyát használjanak a digitális érméik kezelésére. A hardver így rákényszerítheti a felhasználókat a helyes viselkedésre és elejét veheti mindennemű trükközésnek.

* Fedjük fel a csalók személyazonosságát. Hozzunk létre egy olyan e-készpénzrendszert, ami mindaddig garantálja a felhasználók névtelenségét, amíg tisztességesen viselkednek, de abban a pillanatban felfedi a személyazonosságukat, amint csalnak (tehát pl. megkísérlik többször is elkölteni ugyanazt az érmét).

És bár ezek a megoldások eléggé elegánsak, ugyanakkor eléggé elégtelenek is, mivel egyik sem tudja valóban, a maga teljességében kezelni a többszörös elköltés problémáját.

Vegyünk egy példát, hogy jobban érthető legyen a helyzet komolysága: felveszek 10.000$-t a bankból, majd minden egyes érmémet elköltöm 1.000 különböző netes kereskedőnél. Így végül összesen 10.000.000$ értékű árura tettem szert (feltételezve, hogy hordozható árucikkekről beszélnük), mielőtt bárki rádöbbenhetett volna, hogy mit is csináltam. Ami bizony már igen szép összeg, és akkor ez még csak egyetlen egy svindli volt.

Mi több, ez az összeg már ahhoz is elég szép, hogy érdemes legyen akár igen komoly pénzeket is fektetni az esetlegsen alkalmazott bizalmas hardverek szétbontásába és visszafejtésébe – ami pedig egyben azt is jelenti, hogy így rendkívül nehéz (ha nem egyenesen lehetetlen) lesz olyan hardvert találni, amely kellő költséghatékonysággal tud ellenállni a valóban elszánt és komoly összegeket mozgósító “boncolók” próbálkozásainak is. Hasonlóképp nincs különösebb elrettentő ereje a személyazonosság felfedésének sem, mivel a legtöbb ilyen esetben kétségkívül hétköznapi, valóban ártatlan emberek kerülnének elő, akiknek egyszerűen ellopták a tárcáját, és az ő érméikkel hajtották végre a csaló tranzakciókat.

Persze azért ettől még nem válnak teljesen használhatatlanná sem ezek a módszerek; bizonyos körülmények között így is igen hatékonyak – kiváltképp akkor, ha egy online bankkal kombinálva alkalmazzuk őket. Emellett a többszörös elköltéssel próbálkozó felhasználók személyazonossága felfedésének problémája önmagában is érdekes; ennek kivitelezésére több megoldás született, így például a Chaum, Fiat és Naor-, valamint a Stefan Brands-féle későbbi (és igen elegáns) eljárás. (További részletek erről a témáról itt.)

Kompakt tárcák és más egyebek

Jónéhány érdekes további fejleménnyel szolgáltak még az eltelt évek, és bár egyik sem volt olyan drámai, mint az eredeti tervek, attól még mindig érdekesek.

Érdemes szót ejteni például Camenisch, Hohenberger és Lysyanskaya kompakt e-készpénz-rendszeréről, amely már csak azért is figyelemreméltó egyrészt, mert többmillió e-érmét tud tárolni viszonylag kis formátumban, és mert csak úgy tobzódik a finomabbnál finomabb kriptográfiai megoldásokban másrészt; használ például hatékony protokollos aláírásokat és előzetes információ nélküli bizonyítást.

Ebben a rendszerben, ha az ember felvesz n érmét a bankból, akkor kap egy digitális aláírást a következő értékek mindegyikére: a saját nyilvános kulcsára, a felvett érmék n számára, valamint egy, a felhasználó és a bank által kooperatíven generált titkos seed értékre.

A felhasználó nyilvános kulcsával és a felvett érmék számával a bank is tisztában lesz, de a seedet csak a felhasználó fogja ismerni. Ha el akarja költeni a tárca x. érméjét, úgy a következő képlettel generál egy SN “sorozatszámot”: SN = F(seed, i), ahol az F valamilyen álvéletlen funkció, valamint szolgáltat egy nem-interaktív előzetes információ nélküli bizonyítékot arról, hogy (a) 0 < i < n, hogy (b) SN korrektül lett létrehozva, és hogy (c) rendelkezik (egyebek mellett) a bank aláírásával a seed értékén. Ez az előzetes információ nélküli bizonyítás már csak azért is egy csodálatos dolog, mert az előbb említetteken túlmenően semmilyen más információt nem szivárogtat ki, és mert még akkor sem köthető össze a felhasználó kulcsával, ha az netán elveszítené azt. Az online bank pedig feljegyez minden egyes sorozatszámot, biztosítva így azt, hogy egyetlen érmét se lehessen többször elkölteni.

Ami tehát így elméletben mind szép és jó – a baj csak az, hogy mindeddig nem sikerült senkinek valóban praktikusan megvalósítania ezt a gyakorlatban is.

Bitcoin

Amivel el is érkeztünk az egyetlen már meglévő és működő, valóban praktikus, széles körben elterjedt e-készpénz-rendszerhez, jelesül a Bitcoinhoz. Mi is hát a helyzet ezzel?

Technikai szempontból nagy rajongója vagyok ugyan a rendszernek, de készséggel elismerem, hogy van egy-két olyan hiányossága is, amelyek miatt valójában egy kissé kevésbé privát jellegű annál, amilyennek egy valódi e-készpénz-rendszernek lennie kellene.

A neve ellenére a Bitcoin valójában nem “érmékkel” (coin) dolgozik, hanem tranzakciókat kezel. A felhasználók bizonyos értékű blokkokat generálnak, majd különböző pénzmennyiségeket utalnak át egymásnak, ECDSA nyilvános kulcsokat használva azonosítókként. A Bitcoin legfontosabb újítása az elosztott faliújsága (“blokklánca”), amely rögzíti a hálózatban valaha is lebonyolított összes tranzakció teljes történetét, így bármikor könnyen ellenőrizheted a segítségével bármely adott pénzkupac valódiságát.

És bár a blokklánc a Bitcoin biztonságosságának kulcsa, adatvédelmi szempontból ezzel együtt a rendszer Achilles-sarka is egyben: mivel minden tranzakció nyilvános (és széles körben elosztott), ezért elrejteni sem lehet őket. Ezt a Bitcoin egy álnév-rendszerrel próbálja kompenzálni: a nyilvános kulcsod semmilyen formában nem kötődik a valós személyazonosságodhoz, annyit generálhatsz belőle, amennyit csak akarsz, és bármikor át is áramoltathatod a pénzed az egyik kulcsról a másikra.

Szóval ezt nem panaszképpen mondom, de azért ne feledjük, hogy az álnév-rendszer úgy viszonyul a valódi névtelenséghez, ahogyan a cukormentes csoki az igazihoz. És bár nem tudok róla, hogy bárki is aktívan kísérletezne a Bitcoinos tranzakciók teljes átvilágításával és nevesítésével (törölve; Zooko felhívta rá a figyelmemet, hogy egyesek nagyon is aktívan dolgoznak ezen), álnevesített adathalmazok visszafejtésében (avagy “újraazonosításában”) már igen sokan értek el sikereket. Nézd csak meg például Narayanan és Shamtikov e dolgozatát a közösségi hálók névtelenített adatainak visszanevesítéséről, vagy épp ezt egy Netflixes adathalmazzal kapcsolatban. És akkor ez még csak két példa volt a sok közül.

Ezzel persze a Bitcoin felhasználói is tisztában vannak, így többen is kifejlesztettek közülük ilyen-olyan Bitcoin-keverőket, amelyek különböző felhasználók bitcoinjainak nagy tömegeit keverik össze jól abban a reményben, hogy így kellőképpen elhomályosíthatják azoknak a tranzakciótörténetét. És bár ezek valóban ígéretesnek tetsző próbálkozások, mégis számos gond van velük – kezdetnek mindjárt az, hogy a jelek szerint jelen poszt írásakor egyikük sem csak nagyon kevés aktív közülük.* És még ha aktív is valamelyik, a használatával egy ismeretlen külsősre bízod a magánszférádat, aki akár kapitálisan ki is tolhat veled. (Egy valóban nagy, a Torhoz hasonló elosztott rendszerrel már működhetne a dolog, de egyelőre egyetlen ilyen sincs még a láthatáron.) És még így is valóban tekintélyes mennyiségű tranzakció kellene ahhoz, hogy valóban biztosítva lehessen a magánszférád.

Értelemszerűen a fentebb vázolt e-készpénz-megoldásokat sem lehet beleszuszakolni a Bitcoinba, mivel azok a rendszerek egyrészt mind valamilyen központi bankra épülnek, másrészt pedig csak egyszer használatos érméket használnak. A Bitcoinnak azonban nincs központja és az érméi is a végtelenségig újrahasznosíthatóak, áramoltathatóak egyik felhasználótól a másikig. Bármilyen valóban névtelen megoldásnak meg kellene törnie a láncot, ami viszont jelen állás szerint elvileg a rendszer alapjaival menne szembe (ami persze nem jelenti azt, hogy sehogyan nem is lehetne megoldani 😉 ** )

Összegezve

Természetesen még így sem foglalhattam össze kimerítő részletességgel az e-készpénz működési elvének minden egyes finomságát, de bízom benne, hogy azért így is megízleltethettem veled a problémát, és ajánlhattam pár további hasznos olvasnivalót is.

Megjegyzem, én magam eléggé unalmas életet élek, és a hitelkártya-kimutatásaimon is nagyjából az egyetlen valóban kínos tételt az egyébként abszolút beteg Diet Coke-ra pazarolt pénz mennyisége jelenti. Ez az egész azonban nem rólam szól; minél jobban eltávolodik a társadalmunk a koszos, mocskos készpénztől és minél közelebb kerül a tiszta és kiválóan lenyomozható elektronikus tranzakciókhoz, annál inkább tartok attól, hogy ezzel együtt valami nagyon fontosat, valami egészen alapvetőt is el fogunk veszíteni egyben.

A magánszféra és az adatvédelem nem az ügynökök elhárításáról és a félrelépések lebukási kockázatának csökkentéséről szól; a magánszféránkhoz még akkor is ösztönösen ragaszkodunk, ha egyébként tényleg nincs is igazából semmi rejtegetnivalónk. Ezért akasztunk függönyt az ablakra. Lehet, hogy ma még nem látjuk át, mit is veszítenénk a magánszféránk feladásával, de előbb vagy utóbb annál fájdalmasabb lesz felismerni, hogy milyen árat is fizettünk valójában ezért a kényelemért. A kérdés csak az, hogy pontosan mikor jön el ez a “később”, és hogy akkor majd tehetünk-e még bármit is ebben az ügyben egyáltalán.

Megjegyzések:

* Tévedtem: az egyik kommentelő rámutatott, hogy a Bitcoin Fog (= Bitcoin-köd) aktív, csak rejtett Tor-szolgáltatásként működik. Ezt még soha nem próbáltam ki, így nem tudom, mennyire hatékony. Továbbra is fenntartom azonban azt a következtetésemet, hogy a keveréshez egyrészt meg kell bízni a keverő üzemeltetőiben, másrészt pedig valóban sok tranzakció is kell ahhoz, hogy tényleg kellőképpen elködösíthesse az ember érméit. Ideális azonban az lenne, ha senkiben sem kellene megbíznunk ahhoz, hogy valóban névtelenek maradhassunk.

** Voltak, akik mégis próbálkoztak: az OpenCoin és az OpenTransactions például Chaum-szerű készpénz-jelleget próbál kölcsönözni a Bitcoinnak. Úgy tűnik azonban, hogy ezek még mindig a “régi” chaumi utat követik, vagyis egy központi, bizalmas “bankkal” vagy “kiadóval” működnek és nem integrálódnak ténylegesen a Bitcoin saját, elosztott bizalmi rendszerébe. Azért még így is szép munka mindkettő. Köszönetem a kommentelőknek a megjegyzéseikért, valamint Stephen Gornicknak, aki egyben korrektúrázott is egy kicsit.

Forrás: A Few Thoughts on Cryptographic Engineering

A lap szövege Creative Commons Nevezd meg! – Ne add el! – Így add tovább! 3.0 licenc alatt áll, felhasználni csak forrásmegjelöléssel, és ide mutató linkkel szabad.