HTML

Bitcoin és ami mögötte van

Bitcoin Magyarországon blog. Minden, amit a bitcoinról és használatáról tudni érdemes.

Friss topikok

Archívum

Bitcoin címekről egyszerűen, érthetően

2013.03.24. 14:33 Bitcoinváltó

Sok félreértés van a bitcoin címekkel kapcsolatban, ezért írok róla röviden úgy, hogy a kevésbé informatikus beállítottságú emberek is megértsék.

Mi az a bitcoin cím?

Nézzük egy tipikus bitcoin címet:

1Mw3boMo9hNa4rt3fbEdpouBQBmAKUKHPe

Ez egy bitcoin cím, ezzel találkozol a leggyakrabban. 1 -essel kezdődik és általában 34 karakter hosszú (de más hossz is lehetséges). Hívják még publikus kulcsnak is (bár ez nem pontos).

Ez pedig a fenti bitcoin címhez tartozó privát kulcs:

5JaLboxZvWhkHitH3huM5s9GsLoPbGDXJfY8BnJBZVUrCY91LHi

"Minden bitcoin címhez tartozik egy privát kulcs." Ez az állítás nem egészen pontos. Igazából csak a privát kulcsok léteznek, ennek egyfajta hash -je (gondolj rá úgy, mint egy ujjlenyomat) maga a publikus bitcoin cím.

Tehát a privát kulcs egyértelműen azonosítja a bitcoin címed. De ez fordítva nem igaz. A publikus bitcoin címedből nem lehet meghatározni a privát kulcsot.

A bitcoin kliens nem csinál mást, mint privát kulcsokat generál és abból származó bitcoin címedet jeleníti meg.

Maga a bitcoin cím készítés egyszerű (muhaha...) matek! A bitcoin hálózat, internet és a hivatalos kliens nélkül is tudsz készíteni bitcoin címeket (privát kulcsokat).

Például itt van egy javascript alapú bitcoin cím készítő: https://www.bitaddress.org

Aki tudja a privát kulcsot, az rendelkezik a publikus bitcoin címre érkező bitcoinok felett, hiszen ezzel a titkos kulccsal tud aláírni tranzakciókat.

Akkor mi biztosítja, hogy nem generálódik kétszer ugyanaz a cím? Nagyon jó kérdés. Semmi. Egyszerűen hihetetlenül kicsi a matematikai esélye.

A mezei felhasználó soha nem találkozik a titkos kulcsokkal, mert a bitcoin kliens mindent elvégez helyette. Ő csak a tipikus bitcoin címeket látja és ide-oda tud utalgatni. És úgy gondolja, a bitcoinok a számítógépére vagy a hardwere érkeznek. De ez nem igaz.

Ha tudom a titkos kulcsod, akkor enyén a pénzed. A titkos kulcsod pedig csak egy ekkora karaktersorozat:

5JaLboxZvWhkHitH3huM5s9GsLoPbGDXJfY8BnJBZVUrCY91LHi

Ezek privát kulcsok a wallet.dat fáljban tanyáznak, ezért fontos róla biztonsági másolatot készíteni (és azt jó helyen tárolni). Igazából a hivatalos kliens nem alkalmas arra, hogy a bitcoin megtakarításainkat tároljuk benne, mert túl nagy kockázatot jelent.

Sokal okosabb dolog, ha a tárolásra szánt bitcoinjainkat un. "cold wallet -ban" vagy "paper wallet -ban" tároljuk. Azaz:

  • Olyan elkülönített számítógépen generáljuk a bitcoin kulcsot, ami nem fér hozzá az internethez (és lehetőleg később sem fog hozzáférni), így biztosítva azt, hogy ne lopják el a privát kulcsainkat. Erre vehetünk egy külön olcsó netbookot.
  • A készített bitcoin privát kulcsot kinyomtatjuk és nyomtatva tároljuk (akár széfben). Ez a paper wallet vagy papír alapú tárca. Készítése nagyon egyszerű. Ha van rá igény, akkor leírom a pontos készítését, amit egy kezdő is biztonsággal tud követni.

5 komment

Címkék: paper wallet papír alapú bitcoin tárca bitcoin cím bitcoin cím generálás bitcoin privát kulcs bitcoin vásárlás bitcoin generálás

A bejegyzés trackback címe:

https://bitcoinvalto.blog.hu/api/trackback/id/tr755165628

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

lowbird11 2013.03.25. 01:13:38

"Akkor mi biztosítja, hogy nem generálódik kétszer ugyanaz a cím? Nagyon jó kérdés. Semmi. Egyszerűen hihetetlenül kicsi a matematikai esélye."

Ez nem túl biztató, hogy érted pontosan hogy hihetetlenül kicsi az esélye?
És ha ne adj isten elterjedne az egész világon és ez lenne az új pénz, és lenne mondjuk 10 milliárd btc privát kulcs akkor se következhetne be?
És ott vannak a tranzakció címek, egy felhasználóhoz több millió tranzakció cím is tartozna ha tényleg minden a bitcoinon keresztül zajlódna egy utópikus világba, ott se lehetne elképzelhető hogy legyen két megegyező cím?

követem a bitcoin világát egy ideje, de te expertebbnek tűnsz, kíváncsian várom a válaszodat.

SandyG 2013.04.04. 23:12:27

Egy kérdésem lenne?

Ha pl. valaki életében valamely privát kulcshoz tartozó bitcoin címre felhalmoz valamennyi bitcoint élete során. Majd az illető meghal és sírba viszi magával a bitcoin címéhez tartozó privát kulcsát?
Mi történik az ott lévő bitcoinokkal a jövő során?
Örökre elvesznek a véges számú kb.22millió bitcoinok közül?

reality check 2013.04.09. 13:52:31

@lowbird11:

"Ez nem túl biztató, hogy érted pontosan hogy hihetetlenül kicsi az esélye?"

A Bitcoin 256 bites SHA-256 hash-t használ, így annak esélye hogy kétszer ugyanaz a cím generálódjon: 1/2^256, vagyis egy a 10^77-hez. Ez körülbelül akkora szám, mint ahány atom van az univerzumban, szóval az esély kb. akkora, mint hogy találomra kiválassz két teljesen tetszőleges atomot a világyegyetemből, és véletlen ugyanaz legyen. Gyakorlatilag zéró.

"És ha ne adj isten elterjedne az egész világon és ez lenne az új pénz, és lenne mondjuk 10 milliárd btc privát kulcs akkor se következhetne be?"

10 milliárd = 10^10
összes kulcs = 10^77

Vagyis ha 10 milliárd kulcs létezik, még akkor is marad 76 nagyságrenndel több (értsd: 1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000) felhasználatlan kulcs.

"És ott vannak a tranzakció címek, egy felhasználóhoz több millió tranzakció cím is tartozna ha tényleg minden a bitcoinon keresztül zajlódna egy utópikus világba, ott se lehetne elképzelhető hogy legyen két megegyező cím?"

A tranzakció címek RIPEMD-160 hash-t használnak, ami direkt úgy van megtervezve, hogy ennek a matematikai esélye rendkívül kicsi legyen. Tehát különböző privát kulcshoz gyakorlatilag szinte biztos, hogy különböző publikus cím fog tartozni (épp ez a hash algoritmusok lényege). Így annak esélye hogy két publikus cím megegyezzen, rendkívül kicsi. Itt is 1 a 10^48-hoz nagyságrendű esélyekről van szó... Gyakorlatiag zérő.

(Csak megjegyzem, a "hagyományos" bankok is hasonló kriptográfiai algoritmusokat alkalmaznak amikor banki tranzakciókat végzel.)

reality check 2013.04.09. 13:57:45

Bocs, elírtam, 10 milliárd felhasznált kulcs esetén nem 10^76, hanem 10^67 felhasználatlan kulcs marad. Ami egy irdatlan nagy szám.

@SandyG:

"Ha pl. valaki életében valamely privát kulcshoz tartozó bitcoin címre felhalmoz valamennyi bitcoint élete során. Majd az illető meghal és sírba viszi magával a bitcoin címéhez tartozó privát kulcsát?
Mi történik az ott lévő bitcoinokkal a jövő során?
Örökre elvesznek a véges számú kb.22millió bitcoinok közül?"

Igen, ha nincs meg a privát kulcs, akkor ezek a bitcoinok gyakorlatilag örökre "elvesznek". A blockchainben látható lesz ugyan, hogy egy adott címhez tartoznak, de mivel a privát kulcs nincs meg, így nem lehet többé "elkölteni" őket. Tehát a pénz gyakorlatilag "elveszett". És ha nincs információ arról, kihez tartozik az adott publikus cím, akkor azt sem lehet tudni, kinek a pénze volt.

Ugyanez vonatkozik arra is, ha valami oknál fogva elveszted a privát kulcsod. Akkor azok a bitcoinok örökre "elvesztek", mivel a privát kulcs nélkül többé nem lehet őket "elkölteni".

reality check 2013.04.09. 17:00:06

Valaki kiszámolta, hogy annak az esélye hogy egy privát bitcoin kulcsot feltörjünk, kb. annyi, mint 6x megnyerni a lottót.

www.reddit.com/r/Bitcoin/comments/10djgz/til_bitcoin_keyspace_is_massive/

160 bites hash feltörésének esélye: 2^160 (~1.46x10^48)

Atomok száma az univerzumban: 10^80
Atomok száma a Földön: 10^50
Ötös lottó megnyerésének esélye: ~4.4x10^7
Annak esélye, hogy belénk csap egy villám: 6x10^5

A fentiekből következik, hogy 6x megnyerni az ötös lottót 201-szer könnyebb, mint feltörni egy privát bitcoin kulcsot:

1.46x10^48 / (4.4x10^7)^6 ~= 201

Annak esélye, hogy 8x belénk csap a villám, kb. 87-szer nagyobb, mint hogy feltörünk egy privát bitcoin kulcsot:

1.46x10^48 / (6x10^5)^8 ~= 87

Ugyanezek vonatoznak arra is, mekkora eséllyel lesz azonos két tranzakció cím. Ennek esélye kisebb, mint hogy megnyerjük az ötös lottót ötször egymás után, belénk csap egy villám és eltalál minket egy aszteroida.

Továbbá, 4x nagyobb esélyünk van arra, hogy 10x egymás után ötösünk legyen a lottón, mint hogy két privát bitcoin kulcs azonos legyen...
süti beállítások módosítása