A privát kulcsok generálásához és biztonsági mentéséhez használt titkos szavak.
A „seed phrase” egy 12-24 egyszerű szóból álló sorozat, amely a Bitcoin tárca privát kulcsainak generálására és biztonsági mentésére szolgál.
A privát kulcsokra a tulajdonjog igazolásához van szükség a bitcoin tranzakciók jóváhagyása során.
A privát kulcsokra úgy is gondolhatsz, mint a mesterkulcsokra, amelyek feloldják a bitcoinodat, amikor költeni szeretnél belőle. Ennek megfelelően a privát kulcsok létrehozása, kezelése és biztosítása rendkívül fontos.
Vajon honnan származnak a privát kulcsok? … Egy „seed phrase”-ből.
A legmodernebb Bitcoin tárcák (más néven hierarchikus determinisztikus vagy „HD” tárcák) a privát kulcsokat egy szabványos eljárás segítségével hozzák létre, amelyhez egy „seed phrase”-t használnak. A folyamat a véletlenszerűség (más néven „entrópia”) generálásával kezdődik, hogy létrehozzon egy 128 bit és 256 bit közötti számot (128 és 256 közötti egyes és nulla). Az emberi olvashatóság és a könnyű kezelhetőség érdekében ezt a véletlen számot egy 12 vagy 24 szóból álló megfelelő sorozattá alakítják át, amelyet „”seed phrase”-nek neveznek, és amelyet a privát kulcsok létrehozásához használnak. A „seed phrase”-re úgy is gondolhatunk, mint egy nagyon nagy véletlen szám emberbarát ábrázolására.
A „seed phrase”-től a privát kulcsokig való átmenet determinisztikus, ami azt jelenti, hogy egy adott „seed phrase”-ből mindig ugyanaz a privát kulcskészlet reprodukálható. A „seed phrase” tehát két fő szerepet tölt be:
- Privát kulcs forrása: Önrendelkező tárca létrehozásakor készül egy „seed phrase”, mely egyedi forrásként szolgál a privát kulcsok generálásához.
- Privát kulcs helyreállítása: Ha a Bitcoin tárcád egyszer csak elveszne, megsérülne vagy megsemmisülne, a „seed phrase” segítségével újra létrehozható az összes privát kulcs, visszakapva a bitcoinod feletti rendelkezést.
Ha egy letétkezelő Bitcoin tárcát használsz, mint például a Strike, akkor a letétkezelő felelős a „seed phrase” és a privát kulcsok helyetted való kezeléséért. A bitcoinod feletti önrendelkezés kezdetét az jelenti, ha a bitcoinodat egy olyan címre küldöd, amelynek a privát kulcsait te magad kezeled, beleértve a „seed phrase”-t is, melyből a kulcsok származnak.
Annak ellenére, hogy a bitcoin egy digitális pénzügyi eszköz, amely egy blokkláncnak nevezett elosztott főkönyvben található feljegyzések formájában létezik, a „seed phrase”-t tudod birtokolni, ráadásul megjegyezve akár a fejedben is tárolhatod. Mivel a bitcoin elköltése csak a megfelelő privát kulccsal lehetséges, bitcoint birtokolni bármilyen megbízott harmadik félre való támaszkodás nélkül, a „seed phrase” feletti (és ezzel együtt a privát kulcsok) kizárólagos rendelkezéssel tudsz.
Magától értetődő, hogy a legfontosabb dolog, amit a „seed phrase”-el kapcsolatban tudni kell, hogy titokban és biztonságban kell tartani. Ha valaki megszerzi a „seed phrase”-edet, akkor képes rekonstruálni a privát kulcsaidat és elvenni a bitcoinodat.
Honnan származnak a „seed phrase” szavai?
A „seed phrase” szavak a Bitcoin Improvement Proposal #39 (más néven BIP39) által meghatározott szabványosított szólistából származnak. Ezt a javaslatot 2013-ban vezették be, hogy egyszerűsítsék és továbbfejlesszék a Bitcoin tárcák biztonsági mentésének és helyreállításának folyamatát.
A szólista 2048 egyszerű angol szót tartalmaz, azonban minden szónak csak az első 4 betűje releváns, mivel a listában nincs két olyan szó, amelynek első 4 betűje megegyezne. A lista ábécé sorrendben van, így minden szó egy adott számnak felel meg a listán, ahol az „Abandon” az első szó, a „Zoo” pedig az utolsó.
Egy 24 szavas seed phrase kreálása során tárcád a következő lépéseket követi:
- Véletlenszerűséggel kezdés: A tárca egy véletlenszám-generáló algoritmus segítségével 256 bites számot hoz létre – 256 egyes és nulla egyedi sorozatát.
- Ellenőrző összeg (checksum) hozzáadása: A szám végére egy 8 bites ellenőrző összeg (checksum) kerül, mégpedig a szám hashelésével, majd a determinisztikus hash első 8 bitjét a végére illesztve egy 264 bites számot hoz létre. Ez az ellenőrző összeg a hiba vagy manipuláció megelőzése érdekében egy belső biztonsági ellenőrzésként szolgál magában a számban.
- 11 bites szegmensekre bontás: A 264 bites számot ezután 24 különálló 11 bites szegmensre osztjuk. A 11 bit binárisan 0 és 2,047 közötti számokat jelenthet (összesen 2,048 kombináció).
- Párosítás a szólistához: Minden 11 bites szegmens megfelel a BIP39 szólistájának egy adott szavának. Például a 00000000000 szám megfelel az első szónak („Abandon”), 00000000001 megfelel a második szónak („Ability”), és így tovább, míg végül a 11111111111 megfelel a 2047. szónak („Zoo”).
- Véglegesítés: Mostantól a 264 bites szám (256 bites véletlenszerűség + 8 bites ellenőrző összeg) rendelkezik egy megfelelő „seed phrase”-el, mely egyedi forrásként használható a privát kulcsok generálásához.
Tárcától illetve konfigurációtól függően a „seed phrase”-ek 12 vagy 18 szóból állhatnak, különböző egyensúlyt biztosítva az egyszerűség és a biztonság között. A 12 és 18 szavas változatok ugyanazt az eljárást követik, annyi különbséggel, hogy 128 vagy 192 bites véletlenszerűséggel rendelkeznek, 4 vagy 6 bites ellenőrző összegekkel.
Önrendelkező tárca létrehozásakor a szoftver felkér, hogy jegyezd fel a „seed phrase”-edet. Nagyon fontos, hogy a szavakat pontosan és a megfelelő sorrendben jegyezd fel! A víz- illetve tűzkártól való védelem érdekében vedd fontolóra az acéllemezen tárolást is! Továbbá tartsd szem előtt azt is, hogy a „seed phrase” a bitcoinod biztonsági mentése, ezért ajánlott a lehető legnagyobb gondossággal eljárni.
Hogy működik a “seed phrase”?
Miután a tárcád eljutott a véletlenszerűségtől a „seed phrase”-ig, használható a következőkben privát kulcsok, nyilvános kulcsok és Bitcoin címek előállítására. Alapvetően így működik:
- “Seed phrase” generálása: Tárcád a fent említett folyamat alapján generálja a seed phrase-t, amelyet azonnal le is írsz, és biztonságosan tárolsz.
- “Seed” létrehozása: A “seed phrase” hashelése által egy “seed” – egy egyedi szám- és betűsorozat – jön létre.
- A mesterkulcs létrehozása: A tárcád a “seed phrase” alapján egy létrehoz egy mesterkulcsot (“mester privát kulcs”-ot), amely a privát kulcsok létrehozásának fő bemenetéül szolgál.
- Privát kulcsok származtatása: A mesterkulcsból számtalan egyedi privát kulcsot lehet létrehozni, amelyek felhasználhatók az jóváhagyott tranzakciókhoz.
- Nyilvános kulcsok létrehozása: Minden egyes privát kulcshoz létrehozható egy hozzá tartozó nyilvános kulcs, amely nyilvánosan megosztható a megfelelő privát kulcs felfedése nélkül.
- Bitcoin címek létrehozása: Ezt követően minden egyes nyilvános kulcs felhasználható egy Bitcoin cím létrehozásához, amely könnyen megosztható másokkal, hogy bitcoin tranzakciókat fogadhassunk.
- Tranzakciók aláírása: Miután bitcoint fogadsz egyik címedre, elköltheted azt a bitcoint a tranzakció digitális aláírással történő jóváhagyásával, amelyet csak a megfelelő privát kulcs segítségével hozhatsz létre.
A folyamat, amelynek során egy „seed phrase”-től egy sor Bitcoin címig eljutunk, determinisztikus, ami azt jelenti, hogy ugyanaz a „seed” mindig pontosan ugyanazt a privát kulcs, nyilvános kulcs és cím készletet fogja generálni.
Ez azt jelenti, hogy 12-24 szó birtoklása által biztosíthatod a teljes bitcoin vagyonodat. Ez egy módja annak, hogy bankoktól és letétkezelőktől függetlenül tartsd a pénzed, és teljes pénzügyi autonómiával rendelkezz. A „seed phrase” számos előnnyel rendelkezik:
- Egyszerűség: Egyetlen „seed phrase” számtalan privát kulcs biztonsági mentését és helyreállítását teszi lehetővé.
- Emberi olvashatóság: Könnyebb megjegyezni 12-24 szót, mint véletlenszerű betűk vagy számok hosszú sorozatát, ahogyan a seed-ek és a privát kulcsok megjelennek.
- Keresztkompatibilitás: A BIP39 szabványt széles körben elfogadott, így „seed phrase”-edet használhatod az összes privát kulcsod helyreállításához egy új, önrendelkező tárcaalkalmazásban.
- Mobilitás: Ha leírod (vagy akár memorizálod) a „seed phrase”-edet, akkor ténylegesen magaddal viheted a teljes bitcoin vagyonodat, ami példátlan mobilitást és autonómiát biztosít.
Mennyire biztonságos egy “seed phrase”?
A véletlenszerűen generált „seed phrase”-ek a lehetséges kombinációk nagy száma révén rendkívül biztonságosak.
Binárisan minden egyes bit lehet 1 vagy 0. Egy 24 szavas „seed phrase” esetében, amely 256 bit véletlenszerűségből származik, 2²⁵⁶ lehetséges kombináció létezik. Ez azt jelenti, hogy a „seed phrase”-ek a lehetőségek elképzelhetetlenül széles skáláján belüli egyedi számokat képviselnek:
- 12 szavas “seed phrase”: Egy 128 bites szám 2¹²⁸ lehetséges kombinációval, vagy egy 0 és 3,400 X 1038 (azaz ~340 undecillion) közötti szám.
- 18 szavas “seed phrase”: Egy 192 bites szám 2¹⁹² lehetséges kombinációval, vagy egy 0 and 6.277 X 1057 (azaz 6.277 quattuordecillion) közötti szám.
- 24 szavas “seed phrase”: Egy 256 bites szám 2²⁵⁶ lehetséges kombinációval, vagy egy 0 and 1.157 X 1079 (azaz 1.157 quattuorvigintillion) közötti szám.
Hogy ezt perspektívába helyezzük, egy véletlenszerű 256 bites szám egy olyan szám, amely 0 és 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 között van. Összehasonlításképpen: több lehetséges kombináció van, mint ahány atom van 100 milliárd galaxisban (atom, nem csillag). Még a világ összes számítási teljesítménye mellett is lehetetlen „nyers erővel” kitalálni valakinek a véletlenszerű „seed phrase”-ét.
Ez nem egy tű a szénakazalban, hanem egy atom a világegyetemben. A Bitcoin biztonsági jellemzője ez az aszimmetria, amely a „seed phrase” generálásának egyszerűsége és a kitalálásának lehetetlensége között áll fenn.A „seed phrase” biztonsága sokkal kevésbé arról szól, hogy egy ember vagy számítógép kitalálja azt, és sokkal inkább arról, hogy valaki ellopja azt. Amikor önrendelkezel bitcoinod felett, a lehető legnagyobb gondossággal kell eljárnod, hogy megvédd a „seed phrase”-edet lopástól, elvesztéstől vagy rongálódástól. A privát kulcsok és a „seed phrase” védelmére vonatkozó legjobb gyakorlatokról itt olvashatsz bővebben.