Mindennapi Bitcoin: a wallet

Arra gondoltam, hogy írok egy szösszenetet a Bitcoin walletek gyakorlati oldaláról, megmutatom, hogy én hogy használom.

Ahhoz, hogy coint tároljunk, kell egy wallet. A wallet lényegében a titkos kulcsok adatbázisa (a nyilvános rész deriválható). A klasszikus wallet folyamatos backup-ot igényel, hiszen nem ritka, hogy új kulcsot generálunk (pl a privacy végett vagy azért, hogy ne legyen nagy összeg egyetlen kulcson). A legtöbb embernek nincs készsége arra, hogy megbízhatóan backup-oljon, ez világos. A válasz erre a HD (Hierarchical Deterministic) wallet: elég a seedet backup-olni a wallet létrehozásánál, ugyanis abból visszaállítható az összes generált és jövőben generálásra kerülő privát kulcs. A seedet lehet offline tartani, nincs szükség rá a mindennapi tranzakcióhoz, csakis akkor kell, ha elveszett a wallet. így már azért könyebb.

Ezen a ponton letöltöttük az Electrum-ot, már van egy HD walletünk a PC-n, a seedet -ami a mai implementációkban néhány angol szó-, leírtuk egy papírra, betettük a széfbe, majd szereztünk némi coint.

És jön a probéma, hogy manapság már rengeteg eszközünk van, nem csak arról az egy PC-ről akarunk fizetni. A triviális út, hogy minden eszközre saját, független HD wallet kerül, majd utalgatjuk köztük a pénzeket. Ez viszont nincs ingyen, jattolni kell a bányászoknak és kényelmetlen is, kezdve onnan, hogy nem látjuk a szumma egyenleget, a vagyont.
Praktikus tehát a wallet (részleges) importálása más eszközökre. A fentiekből már nyilván egyértelmű, hogy az importálásnál tulajdonképpen nem történik más, mint az, hogy bizonyos privát kulcsokat átmásoluk.

Ez a másolás mobilon a gyakorlatban úgy néz ki, hogy az Electrum kérésre megmutatja az egyes címek privát kulcsát QR formátumban a képernyőn, amit a Mycelium Androidos app-pal beszkennelünk, és az ettől a pillanattól rendelkezik a címen lévő coinok fölött. Akár be is lehetne gépelni, de minek vesződnénk.
Így a PC-ről kényelmesen tudjuk követni a mobil egyenlegét és a tranzakcióit, tudunk rá coint utalni és a mobilt mindehhez kézbe se kell fogni. A másodlagos eszközökön semmiféle backupra nincs szükség.

A Mycelium-mal természetesen szkennelhetünk bitcoin címet is, aminek az egyenlegét és tranzakcióit ugyanúgy figyeli mintha rendelkezne a privát kulccsal, illetve fizetést is fogad rá (azaz a címet meg tudja mutatni QR formátumban). Ez pl hasznos ha BTM-ből (Bitcoin "ATM") veszel coint: az automatának meg tudod mutatni a címed és ott helyben meg tudsz bizonyosodni arról, hogy kifizetett, de ha valaki a BTM mellett kikapja a kezedből a mobilt, mert kifigyelte, hogy sokat váltottál, akkor a coinjaid legalább biztonságban vannak; a cím privát kulcsa nincs a mobilon.

Ezzel központi szerver és harmadik fél nélkül felügyelhetjük az összes számlánkat egy olyan megbízhatatlan eszközön, mint egy mobil.

Hozzászólások

Nekem (sok más fenntartásom mellett) az ezekkel az e-currency-kel a bajom, hogy a mutter például már a bankkártyával is nehezen birkózik meg, pedig nem öreg, és nem is hülye. Sőt. Egyébként barátkozik már az okostelefonokkal is, bár fél év alatt megjárta a FxOS->Android->WP utat, most a WP-vel barátkozik már vagy két hete.

Na mindegy, a lényege a mondandómnak az, hogy a fizetőeszköz,
- amihez használati utasítást kell írni,
- különböző alkalmazásokat kell telepíteni, és
- backupolni kell a pénzed, stb.
az (imho) egy határ szar. Nem is kell mindhárom feltétel, elég, ha ebből egy teljesül.

Ennek megfelelően (megint csak: véleményem szerint) a BTC-t is a helyén kell kezelni, mint úri mulatság olyan emberek számára, akik nem elég elfoglaltak. Addig legalábbis amíg nem lesz egy használható, kiforrott valami a BTC-ből.

És nagyjából ugyanez igaz mindenféle e-fizetőeszközre: amíg 0 Ft + 0,0% az utalás költsége a bankomban, ráadásul a bankon kívüli utalás is lezajlik egy-két óra alatt, addig pont hidegen hagy az összes más pénzküldési megoldás.

De ez a vita is vótmá', úgyhogy akár le is zárhatjuk, mielőtt elkezdődik úgy igazából. ;)

Tévhit az, hogy bonyolult, tipikusan az hangoztatja, aki még sose használta. :)

1db (mobil)alkalmazás tényleg kell, de abban 2 gomb van: fogadok vagy fizetek. Egyik megmutatja a QR kódot a másik beszkenneli. Összeget a fogadó tud javasolni, ez ugye általában a termék ára, a fizetőnek csak el kell fogadni. A backup annyit jelent, hogy pár szót felírsz a kockás füzetbe, a bankkártya pin kódja és a netbank login mellé. Egyetlen egy alkalommal kell ezt megtenni és örökre be van biztosítva az adott wallet. Persze az app egy érintéssel fel tudja küldeni a szavakat a felhőkbe, rövid jelszóval titkosítva.

A Mycelium telepítése után azonnal előtted ez a 2 gomb.

Hogy lehetne ennél egyszerűbb? Bankszámlát nyitni, bankkártyát igényelni, aktiválni, netbankot használni sokkal bonyolultabb!

> tipikusan az hangoztatja, aki még sose használta. :)
Biztos van korreláció a két dolog között, én például tényleg nem használtam még (élesben).

+ szükség van egy vastagkliensre a PC-n (vagy nem, csak akkor meg ugye leléphetnek a wallet-tel)
+ az egész egy szótáras támadással megtörhető (vagy nem? ez inkább kérdés volt)
+ az ismerőseim max 1%-a hallott egyáltalán a BTC-ről
+ nincs felelősségre vonható fél az egész BTC-s játékban (ellopta a tőzsde üzemeltetője a lóvét? touch shit)
+ fizikailag nálad kell lennie a walletnek, a te felelősséged, hogy ne tűnjön el
+ amennyire én látom, az egész egy matekproblémán alapul - nincs garancia arra, hogy 5 év múlva nem leszünk túl okosak ahhoz, hogy a BTC biztonságos maradjon
+ a bank esetében nem kell érteni az olyan kifejezéseket, mint "seed", "publikus kulcs", "Hierarchical Deterministic", stb.
+ az Electrum/Mycelium auditált-e?
+ beépített defláció
+ a BTC szoftver a bitcoin.org szerint is félkész, amire ugye nem szívesen bíz pénzt az ember
+ a bank ha elszúr valamit, akkor bemegyek, asztalt borítok, és goto http://www.oba.hu/hu

Nem azt mondom, hogy ebből _soha_ nem lesz használható dolog, de jelen állapotban szerintem, mint fentebb is mondtam, maximum a saját szórakoztatásomra jó, illetve ha arra lenne igényem, hogy látványosan jobb legyek (sic) a pórnépnél, akkor tuti jó megoldás lenne.

Na most volt időm;

+ szükség van egy vastagkliensre a PC-n (vagy nem, csak akkor meg ugye leléphetnek a wallet-tel)
- How long does "synchronizing" take when the Bitcoin client is first installed? What's it doing?

+ az egész egy szótáras támadással megtörhető (vagy nem? ez inkább kérdés volt)
- Szotaras megoldassal a felhobe kuldott backup torheto esetleg, epp ezert nem is a felhasznalotol ker kodot a mycelium hanem general. Ez lehetne maskepp, de igy bolondbiztos. A kulcsok es a seed kozvetlen tamadasa eselytelen kvantumszámítógép nélkül és az algoritmust a Bitcoinban lehet cserélni (nem könnyen, de lehet).

+ az ismerőseim max 1%-a hallott egyáltalán a BTC-ről
- Gondolj bele hol járnánk, ha az első ember akihez bekötötték a telefont kibaszta volna az ablakon, hogy nincs kivel beszélni. :)

+ nincs felelősségre vonható fél az egész BTC-s játékban (ellopta a tőzsde üzemeltetője a lóvét? touch shit)
Ez érdekes kérdés. Egyrészt a Kun-Mediátor ügyfeleinél is kétséges, hogy mire jutnak a követelésükkel, illetve sok kis értékű internetes csalás után szintén búcsút lehet inteni a lovettának, hiába van igazad. Lehet, hogy meglesz a csaló, de mégis lehetetlen lesz tőle visszaszerezni a pénzt. Ezért van feedback pl az ebayen, ami ugyanúgy védi a bitcoinos fizetést is.

Másrészt egy bitcoin tranzakcióba lehetséges közvetítőt (escrow) bevonni, aki vitás helyzetben ítélkezik: ha aláírja a tranzakciót akkor megtörténik, ha nem akkor nem. A közvetítő lehet akár egy ügyvéd is vagy egy erre szakosodott szervezet (létezik, mindkettő, előbbi magyarországon).

Harmadrészt a blockchain egy tény, hamisíthatatlan. Ha a két cím tulajdonosa ismert (miért ne lehetne az, ha hitelesen nyilatkoztak róla), akkor a blockchainbe került két fél közti tranzakciót el kell ismernie a bíróságnak, illetve annak hiányát is. Ha van kettejük között egy szerződés, aminek legfőbb feltétele a tranzakció teljesülése és az nem teljesül, akkor a szerződés semmissé tehető vagy fordított esetben teljesítettnek tekinthető. Egy szerződés feltétele bármi lehet amíg az törvényes, nem csak pénzbeli ellentételezés.
Ilyen alapon egy bitcoin tranzakciót simán figyelembe vehetnek egy polgári perben.

Ez utóbbit emeli rendszerszintre a BIP-0070: a kereskedő X.509 tanúsítvánnyal aláírva adja át a címet. Ezután nagyon nehezen tudná azt állítani, hogy a cím nem az övé, mert ez elég hiteles nyilatkozat, nem tudja letagadni, hogy megkapta a bitcoint. Innen már csak annyi kell, hogy a bíróság elismerje, hogy a bitcoinnak valamilyen értéke van és a kereskedő máris számonkérhető.
Ezt a rendszert a bitcoin-core már támogatja.

+ fizikailag nálad kell lennie a walletnek, a te felelősséged, hogy ne tűnjön el
Igaz. Aki nem tud biztonságosan tárolni néhány szót, illetve egy (elkódolt) apró fájlt, az ne tegye bele a vagyonát. Ha meg egy pizza ára elveszik, az a tanulópénze.
Minden wallet nagybetűkkel hívja fel a figyelmet a backup fontosságára. Az Electrumnál vissza kell gépelni a korábban leírt szavakat, amíg ezt nem teszed meg, nem engedi használni a walletet.

+ amennyire én látom, az egész egy matekproblémán alapul - nincs garancia arra, hogy 5 év múlva nem leszünk túl okosak ahhoz, hogy a BTC biztonságos maradjon
- Bitcoins are worthless because they're based on unproven cryptography

+ a bank esetében nem kell érteni az olyan kifejezéseket, mint "seed", "publikus kulcs", "Hierarchical Deterministic", stb.
- Az appokban sem, ezt csak én írtam. A fenti már haladó wallet használat.

A szomszédomnak, aki igazi átlagember (nincs mobilnet az okostelefonján), épp tegnap ajándékoztam pár coint. Annyit mondtam neki: playről szedd le a myceliumot, indítsd és nyomj a fogadásra.

Mire kitöltöttem az unikumot, már tette elém a QR kódot, hogy ezt akartad látni? Még egy kicsit én is meglepődtem, bevallom. Ennyi. Azt se tudja mi az a bitcoin, de már van neki és fogadok, hogy tudna vele fizetni bárhol.

+ az Electrum/Mycelium auditált-e?
- Az appok opensource, az auditalalas sem lenne garancia semmire. A netbankoló gépek minden telepített szoftvere és állapota auditált-e, ugye.

+ beépített defláció
- A deflacio elmeleti problema, talan sose lesz gond.

+ a BTC szoftver a bitcoin.org szerint is félkész, amire ugye nem szívesen bíz pénzt az ember
- Igaz. Én senkit nem biztatok arra, hogy tartsa ebbe a pénzét. Egy pizzányi összeggel azonban megéri kipróbálni, mert ez a technológia egyik nagy vívmánya jelenleg. Egyébként manapság nem sok szoftver van kész. A modern autók "kész" szoftvere is volt már életveszélyes ugye.

+ a bank ha elszúr valamit, akkor bemegyek, asztalt borítok, és goto http://www.oba.hu/hu
- Egyszer a párom 3 hónappal előre lefoglalt egy hotelszobát véletlenül, 5 perccel később már nem sikerült törölni a tranzakciót. Se a hotel, se a bank nem volt partner benne, szevasz. Mivel jobb ez mint a bitcoin..? Ott legalább tudom, hogy mire számítsak (igen, én hülye azt hittem ilyen esetben a bank kisegít).

Csak magamat tudom idézni. ;)

Nem azt mondom, hogy ebből _soha_ nem lesz használható dolog, de jelen állapotban szerintem, mint fentebb is mondtam, maximum a saját szórakoztatásomra jó

off:
Egyszer a párom 3 hónappal előre lefoglalt egy hotelszobát véletlenül, 5 perccel később már nem sikerült törölni a tranzakciót
Azért ez nem éppen a "bank elszúr valamit" című eset, amiről én beszéltem. :)

Néhány gondolat ömlesztve:

Nincs szükség vastagkliensre. A mobil pénztárcák úgynevezett SPV kliensek, amik nem tárolják a teljes blockchaint. Hasznos dolog a hálózat szempontjából ha futtatsz egy full node-ot, de nem követelmény.

A nincs felelőségre vonható fél érthető érv, de egy jogalkotó hogy lásson neki a fogyasztóvédelmi szabályozásnak, ha még nem ismertek a fogyasztói szokások? Minden gyökeresen új technológiánál megvan ez a probléma. Lásd Anglia, autómobil és a piroszászlós ember. Vagy az internet, ahol minimális szabályozásra volt csak szükség, hiszen információról van csak szó. Az online zaklatást pl. nem látták előre 20 évvel ezelőtt, mégis kezeli a jog (nem tudom mennyit kellett ehhez alakítani a jogszabályokon). A copyright ipar meg haldoklik, de ez nem feltétlenül rossz, csak a fejlődés jele. Szerencsére nem megy könnyen az SOPA elfogadtatása.

A bank esetében sok kifejezést nem kell érteni, mégis hasznos lenne az egész társadalom számára, ha legalább az alapfogalmak _értenék_ az emberek. Kamatos kamat, árfolyamkockázat, stb.
Ugyanakkor ez is teljesen érthető ellenérv, és dolgoznak a problémán nagyon sokan. Általános probléma, nem csak a bitcoin esetében, hogy a kriptogáfiai szoftverek használata még szakemberek számára sem triviális. Régóta azt gondolom, hogy a bitcoin esetében létrejött felhasználóbarát megoldásokat a számtech. más területein is lehet majd használni.
Itt kapcsolódik az egyéni felelősség kérdése, másfelől közelítve. A bitcoin a készpénzre hasonlít annyiban, hogy ha egyszer átadtad, harmadik fél nem tudja semmisé tenni a tranzakciót. Nagy mennyiségű készpénzt őrizni ugyanúgy nem triviális, de annyiből könnyeb a helyzet, hogy ismerős fizikai környezetben kell a problémát megoldani. Az emberek azt is meg tudták szokni, hogy nem kell papíron levelet írni. Az a helyzet, hogy igaz a közhely: életünk áttevődik a digitális világba. Aki nem tud vagy nem akar alkalmazkodni, az kimarad. Egyénileg eldönthető, hogy ez jó vagy sem.

Szóval ez egy új technológia, mint szüleinknek az e-mail volt. Early adopternek lenni előnyt jelenthet, ha tényleg elterjed a technológia. És el fog, úgy néz ki.

> a kriptogáfiai szoftverek használata még szakemberek számára sem triviális

Ez általánosságban szerintem nem igaz. A kriptográfia valóban bonyolult, de alkalmazni nem feltétlenül az. Pl ott a TLS, nap mint nap milliók használják és bízzák rá az adataikat. A Bitcoin wallet is épp ilyen egyszerűen használható.

Amit valóban nehéz garantálni, hogy a környezet megbízható: átlagjózsi PC-je (és sajnos lassan a mobilja is) tele lehet trójaival, keyloggerrel, screenshotterrel, session cookie lopó toolbarral.

Ahogy a netbanknak, úgy a Bitcoinnak is van erre válasza: kétlépcsős hitelesítés (multisig wallet). Mielőtt gelei felhördülne, hogy átlag józsinak tudnia kell, hogy mi az a multisig wallet, elárulom, hogy az Electrumban csak ki kell választani egy pipával a kétlépcsős hitelesítést és az végigvezet a beállítás egyszerű folyamatán.
Szerintem erről írok is majd egy blogbejegyzést, mert a multisig wallet érdekes technológia és nagyon jó bevezető abba, hogy a Bitcoin scriptelhetőségében milyen lehetőségek vannak.

Nem gondolom, hogy a Bitcoinba azért kellene belevágni, mert aki most kimarad az lemarad, inkább csak azért, mert ez az alkalmazott kriptográfia egyik figyelemre méltó megnyilvánulása. A megoldásai inspirálóak, szélesítik a látókört, az alapvető működésének megértése az informatikai alapműveltség része, szerintem.
Tudatosságra nevel a biztonsággal kapcsolatban, ami mindenkire ráfér.