Privatni i javni ključevi:Od fraze za oporavak do adrese

Koliko privatnih ključeva postoji, kako iz 12 reči nastaju svi ključevi i adrese, po čemu se adrese razlikuju i kako se ključevi čuvaju.

Sadržaj

Najvažnije u nekoliko reči:

  • Privatni ključ je tajni broj kojim potpisuješ slanje bitcoina. Ko ga zna, raspolaže bitcoinima na toj adresi.
  • Privatnih ključeva ima toliko da je pogađanje tuđeg ključa praktično nemoguće, ako je ključ nastao nasumično.
  • Današnji novčanici sve ključeve prave iz jedne fraze za oporavak od 12 ili 24 reči. Ko ima frazu, ima sve ključeve.
  • Iz iste fraze nastaju različite vrste adresa. Prepoznaju se po početku: 1, 3, bc1q ili bc1p.
  • Za svako primanje koristi novu adresu. Frazu čuvaj na papiru ili metalu, nikad u telefonu ni na internetu.

Pre nego što nastaviš, korisno je da pročitaš tekst Kriptografija i Bitcoin: temelj digitalne bezbednosti. Tamo piše kako od privatnog ključa nastaje javni ključ, a od javnog ključa adresa, i zašto Bitcoin potpisuje, a ne šifruje.

Bitcoin je ormar sa staklenim fiokama

Zamisli ormar sa 2¹⁶⁰ fioka. To je broj sa 49 cifara. Svaka fioka je jedna Bitcoin adresa i ima četiri stvari:

  • broj na fioci, a to je adresa,
  • otvor za ubacivanje, kroz koji svako može da ti pošalje bitcoine,
  • providna vrata, pa svako vidi koliko je bitcoina unutra,
  • bravu, koju otvara samo jedan ključ, privatni.

Visok ormar od svetlog hrasta sa mnogo malih fioka sa staklenim prednjim stranama, prorezom na vrhu i bravicom; u nekima se kroz staklo vide pločice, u jednoj bravi je ključ

Zašto baš 2¹⁶⁰? Adrese koje počinju sa 1 ili bc1q nose heš javnog ključa dug 160 bita, pa toliko različitih fioka može da postoji.

Ormar je javan, kao i lanac blokova. Svako vidi koliko je bitcoina na kojoj adresi i kuda su išli, ali na fioci ne piše čija je. Zato je Bitcoin pseudoniman, a ne anoniman. I whitepaper kaže da javnost vidi da neko nekome šalje iznos, ali ne i podatak koji tu transakciju vezuje za bilo koga (odeljak 10, original, str. 6).

Ključeva ima više nego što možeš da zamisliš

Privatni ključ je jedan nasumično izabran broj, sa do 78 cifara (SEC 2, odeljak 2.4.1). Iz privatnog ključa se računa javni ključ, a obrnuto ne ide.

Broj sa toliko cifara ne znači mnogo dok ga ne uporediš sa nečim poznatim.

Koliko ima mogućnosti, od PIN-a do privatnog ključa

Dužina trake je broj cifara, ne sam broj. Da je traka sam broj, sve osim poslednje bile bi nevidljive.

  • PIN kartice od četiri cifre10.000
  • Kombinacije na Lotou 7/3915.380.937
  • Sedmica pet kola zaredomoko 8,6 · 10³⁵
  • Fraze od 12 reči2¹²⁸, oko 3,4 · 10³⁸
  • Privatni ključevioko 1,16 · 10⁷⁷

Izvori: Lutrija Srbije, igre sa izvlačenjem (otvara se u novom prozoru), otvoreno 21.10.2026, Loto 7/39, „Odaberi 7 od 39 brojeva“; BIP 39 (otvara se u novom prozoru), 2013, 128 bita za 12 reči, odeljak „Generating the mnemonic“; SECG, „SEC 2: Recommended Elliptic Curve Domain Parameters“ (otvara se u novom prozoru), 2010, red n krive secp256k1, odeljak 2.4.1.

Na Lotu 7/39 biraš sedam od 39 brojeva, pa postoji 15.380.937 kombinacija i samo jedna nosi sedmicu. Fraza od 12 reči ima 2¹²⁸ mogućnosti. Šansa da tuđu frazu pogodiš iz prvog pokušaja skoro je 400 puta manja od šanse da dobiješ sedmicu pet kola zaredom.

Zato je ključ bezbedan dok je tajan. Opasnost je u tome gde ga držiš i kome ga pokažeš.

Sve ovo važi samo ako je broj zaista nasumičan. Broj koji smisli čovek nije nasumičan, a rođendan, omiljenu rečenicu ili niz 1234 napadač može da proba prvi. Istraživači su od 2011. do 2015. pronašli 884 novčanika čiji je ključ nastao iz smišljene lozinke, i svi osim 21 su ispražnjeni, najčešće u roku od jednog dana. Zato ključ i frazu uvek pravi novčanik, iz nasumičnog broja (BIP 39).

Primeri u ovom tekstu nisu tajni. Sve fraze, ključevi i adrese ispod su zvanični primeri iz BIP 39, BIP 84 i BIP 86, objavljeni da bi programeri proverili svoje programe. Zna ih ceo svet. Na prvu adresu iz primera do 21.10.2026. stiglo je 89 uplata, ukupno 0,04082955 bitcoina (4.082.955 satošija), i svaka je potrošena (mempool.space). Nikad ih ne koristi za pravi novac.

Dvanaest reči nose sve tvoje ključeve

Prvi Bitcoin program je za svaku adresu pravio poseban nasumičan ključ, pa je rezervnu kopiju trebalo praviti stalno iznova. Zato je unapred pravio po 100 ključeva u rezervi (BIP 32, „Motivation“). Novčanik koji radi po pravilima BIP 39 i BIP 32 sve ključeve pravi iz jednog nasumičnog broja, u četiri koraka:

  1. Nasumičan broj. Novčanik izvuče 128 nasumičnih bita za 12 reči, ili 256 bita za 24 reči.
  2. Reči. Doda kontrolni zbir i sve pretvori u reči sa spiska od 2.048 engleskih reči. Svaka reč se prepoznaje već po prva četiri slova.
  3. Seme. Iz reči izračuna seme (engl. seed), jedan veliki broj (BIP 39).
  4. Glavni ključ. Iz semena nastaje glavni ključ, a iz njega na svakom koraku više od četiri milijarde novih ključeva (BIP 32).

Poslednja reč fraze zato nije slobodna. Delom je kontrolni zbir, pa novčanik primeti kad pogrešno prepišeš neku reč.

Od 12 reči do prve adrese

Zvaničan primer iz BIP 84. Svaki korak se lako računa unapred, a nijedan ne može unazad.

  1. Fraza za oporavak

    abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about

    Zvaničan primer iz BIP 39 i BIP 84. Zna ga svako, zato ga nikad ne koristi za pravi novac.

  2. Račun iz BIP 39, ponovljen 2.048 putanazad ne može
  3. Seme

    5eb00bbddcf069084889a8ab9155568165f5c453ccb85e70811aaed6f6da5fc19a5ac40b389cd370d086206dec8aa6c43daea6690f20ad3d8d48b2d2ce9e38e4

    Broj od 512 bita. Ista fraza uvek daje isto seme.

  4. Račun iz BIP 32nazad ne može
  5. Glavni ključ

    zprvAWgYBBk7JR8Gjrh4UJQ2uJdG1r3WNRRfURiABBE3RvMXYSrRJL62XuezvGdPvG6GFBZduosCc1YP5wixPox7zhZLfiUm8aunE96BBa4Kei5

    Koren svih ključeva u novčaniku. Ko ga ima, ima sve ključeve, kao i sa frazom.

  6. Izvođenje po putanji m/84'/0'/0'/0/0nazad ne može
  7. Privatni ključ za m/84'/0'/0'/0/0

    KyZpNDKnfs94vbrwhJneDi77V6jF64PWPF8x5cdJb8ifgg2DUc9d

    Prvi ključ za primanje, zapisan onako kako ga programi izvoze (WIF).

  8. Javni ključ, pa iz njega heš i adresanazad ne može
  9. Adresa

    bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu

    Prva adresa za primanje. Do 21.10.2026. na nju je stiglo 89 uplata i svaka je potrošena, jer njen ključ zna svako.

Izvori: BIP 39 (otvara se u novom prozoru), 2013, od reči do semena, odeljak „From mnemonic to seed“; BIP 32 (otvara se u novom prozoru), 2012, glavni ključ i izvođenje ključeva; BIP 84 (otvara se u novom prozoru), 2017, fraza, glavni ključ, ključ i adresa, odeljak „Test vectors“; mempool.space (otvara se u novom prozoru), otvoreno 21.10.2026, uplate na adresu iz primera.

Ista fraza uvek daje iste ključeve, u svakom novčaniku koji poštuje ista pravila. Zato je fraza za oporavak rezervna kopija celog novčanika. Ako izgubiš telefon ili uređaj, upišeš 12 reči u nov novčanik i svi bitcoini su opet tvoji. Ako neko drugi dođe do tih reči, isto to može i on.

Uz frazu sme da se doda i lozinka (engl. passphrase). Ona ulazi u isti račun kao reči, pa ista fraza sa drugom lozinkom daje sasvim drugo seme i sasvim drugi novčanik (BIP 39).

Putanja kaže koji ključ je na redu

Iz glavnog ključa raste stablo ključeva. Do svakog ključa vodi putanja (engl. derivation path), kratak zapis koji kaže kojim granama stabla da se ide (BIP 44). Ne moraš da je pamtiš, jer je novčanik bira sam. Grafik pokazuje šta znači svaki njen deo.

Šta znači svaki broj u putanji

Putanja prve adrese za primanje iz primera iznad.

mGlavni ključ
Koren stabla, nastao iz fraze.
84'Namena
Vrsta adrese: 44' za adrese sa 1, 49' sa 3, 84' sa bc1q, 86' sa bc1p.
0'Novac
0 je Bitcoin. Drugi novac ima svoj broj.
0'Račun
Prvi račun. Jedna fraza može da ima više odvojenih računa, kao tekući i štedni u banci.
0Primanje ili kusur
0 za adrese koje daješ drugima, 1 za kusur koji se vraća tebi.
0Redni broj
Prva adresa. Sledeća je 1, pa 2, i tako redom.

Izvori: BIP 44 (otvara se u novom prozoru), 2014, pet nivoa putanje, odeljak „Path levels“; SLIP-0044 (otvara se u novom prozoru), otvoreno 21.10.2026, broj 0 za Bitcoin; BIP 32 (otvara se u novom prozoru), 2012, ojačano izvođenje (hardened), odeljak „Security“. Apostrof znači ojačano izvođenje (engl. hardened). Taj korak može da se izvede samo iz privatnog ključa.

Za tebe je važno jedno. Ista fraza na različitim putanjama daje različite vrste adresa, na primer one koje počinju sa bc1q (BIP 84) ili sa bc1p (BIP 86). Zato novčanik pri vraćanju fraze ponekad pita koju vrstu adresa da traži. Ako izabereš pogrešnu, novčanik izgleda prazan, a bitcoini su i dalje tu, na drugoj putanji.

Pri vraćanju fraze novčanik proverava adrese redom i staje kad naiđe na 20 neiskorišćenih zaredom (BIP 44, „Address gap limit“). Kad pošalješ deo onoga što imaš, ostatak se vraća tebi kao kusur, na adresu iz posebne grane za kusur.

Po početku adrese prepoznaješ njenu vrstu

Za 17 godina Bitcoin je dobio četiri vrste adresa. Sve četiri i danas rade. Na grafiku su prve adrese koje ista fraza daje za svaku vrstu.

Jedna fraza, četiri vrste adresa

Prva adresa za primanje iz iste fraze kao gore. Na ove adrese ne šalji ništa, njihove ključeve zna svako.

  • 1…Legacy (P2PKH)od 2009.

    1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA

    Najstarija vrsta. Nosi heš javnog ključa, zapisan velikim i malim slovima. Putanja m/44'/0'/0'/0/0.

  • 3…P2SH, ovde sa SegWitom unutraod 2012.

    37VucYSaXLCAsxYyAPfbSi9eh4iEcbShgf

    Adresa skripte. Ovako upakovan SegWit može da primi novac i od starih novčanika. Putanja m/49'/0'/0'/0/0.

  • bc1q…SegWit (P2WPKH)od 2017.

    bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu

    Samo mala slova i cifre. Kontrolni zbir sigurno otkriva svaku grešku u najviše četiri znaka. Putanja m/84'/0'/0'/0/0.

  • bc1p…Taproot (P2TR)od 2021.

    bc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr

    Nosi sam javni ključ, malo izmenjen, a ne njegov heš. Putanja m/86'/0'/0'/0/0.

Izvori: BIP 13 i BIP 16 (otvara se u novom prozoru), 2012, adresa skripte, pravila od 1. aprila 2012; BIP 173 (otvara se u novom prozoru), 2017, adrese bc1, kontrolni zbir; BIP 350 (otvara se u novom prozoru), 2020, Taproot adrese bc1p; BIP 49, BIP 84 i BIP 86 (otvara se u novom prozoru), 2016-2021, putanje, a za bc1q i bc1p i zvanične adrese iz primera; Bitcoin Core, src/kernel/chainparams.cpp (otvara se u novom prozoru), otvoreno 21.10.2026, SegWit od bloka 481.824.

  • Adresa sa 1 je najstarija vrsta, od prvog dana. Zapisana je velikim i malim slovima, a takav zapis se teško prepisuje i čita naglas (BIP 173, „Motivation“).
  • Adresa sa 3 je adresa skripte, po pravilima od 1. aprila 2012. (BIP 16). Iza nje može da stoji i novčanik sa više ključeva (engl. multisig), kod koga za slanje treba, na primer, potpis dva od tri ključa. Novčanici u nju pakuju i SegWit, da bi na nju mogli da šalju i stari programi (BIP 141).
  • Adresa sa bc1q je SegWit adresa. SegWit je izmena pravila koja važi od bloka 481.824 iz avgusta 2017. (Bitcoin Core). Adresa ima samo mala slova i cifre, a kontrolni zbir sigurno otkriva svaku grešku u najviše četiri znaka (BIP 173).
  • Adresa sa bc1p je Taproot adresa, u upotrebi od bloka 709.632 iz novembra 2021. (BIP 341). Ona ne nosi heš javnog ključa, nego sam javni ključ, malo izmenjen (BIP 350, BIP 86).

Zašto se adresa ne koristi dvaput

Adresa nije račun u banci koji imaš celog života. Dobar novčanik za svako primanje sam ponudi novu adresu, a stare i dalje rade i pripadaju istoj frazi. Razloga su dva.

Privatnost. Satoshi je to napisao još u whitepaperu. Za svaku transakciju treba koristiti nov par ključeva, da se transakcije ne bi povezale sa zajedničkim vlasnikom (odeljak 10). Ako svima daješ istu adresu, svako ko je zna vidi koliko imaš i od koga primaš. Kao da ti je stanje na računu odštampano na vizitkarti.

Javni ključ. Kod adresa sa 1, 3 i bc1q javni ključ se ne vidi dok sa adrese prvi put ne pošalješ novac. Do tada ga skriva heš. Posle prvog slanja javni ključ zauvek ostaje u lancu blokova. Danas to nije opasno. Ali ako se jednom pojave dovoljno jaki kvantni računari, najizloženiji bi bili baš bitcoini čiji se javni ključ vidi. Kod Taproot adrese on se vidi od prvog dana, jer je u samoj adresi.

Šta smeš da pokažeš, a šta nikad

Adresu, broj transakcije i javni ključ smeš da pokažeš. Prošireni javni ključ je javni ključ celog računa i počinje sa xpub, ypub ili zpub. Sa njim budi oprezan. Tajne koje daju pristup novcu ne pokazuješ nikome.

Šta smeš da pokažeš, a šta nikad

Spisak za proveru pre nego što ikome pošalješ nešto iz novčanika.

ŠtaSmeš da pokažeš?
Adresada, za to je i napravljena
Broj transakcije (ID)da, ionako je javan u lancu blokova
Javni ključda, iz njega ne može da se izračuna privatni
Prošireni javni ključ (xpub, ypub ili zpub)oprezno. Ne daje pristup novcu, ali iz njega mogu da se izračunaju sve adrese jednog računa, pa ko ga ima vidi ceo tvoj promet. A ako uz njega procuri i bilo koji privatni ključ iz tog računa, mogu da se izračunaju i svi ostali (BIP 32 (otvara se u novom prozoru), „Security“).
Privatni ključnikad, jer ko ga zna, raspolaže bitcoinima na toj adresi
Fraza za oporavak, ni cela ni deonikad, jer ko ima frazu, ima sve ključeve
Prošireni privatni ključ (xprv, yprv ili zprv)nikad, jer se iz njega računaju svi privatni ključevi jednog računa (BIP 32 (otvara se u novom prozoru))
Lozinka koju dodaješ uz frazunikad, jer ona čuva novac kad fraza procuri

Niko ozbiljan ne traži tvoju frazu. Ni podrška novčanika, ni menjačnica, ni „ažuriranje“ koje iskoči na ekranu. Ko traži frazu, hoće tvoje bitcoine.

Ključ se čuva van interneta, a fraza na papiru

  • Hardverski novčanik. Mali uređaj koji pravi ključeve i potpisuje transakcije u sebi, pa privatni ključ nikad ne stiže do računara ni telefona. Vrste novčanika i kada koja ima smisla objašnjava sledeći tekst.
  • Fraza na papiru ili metalu. Zapiši reči redom, tačno kako ih novčanik pokaže, i čuvaj ih kao gotovinu. Papir može da izgori ili pokisne, pa za veće iznose postoje pločice od čelika u koje se reči utisnu. Frazu nikad ne fotografiši i ne čuvaj je u telefonu, mejlu ni u oblaku (engl. cloud).
  • Lozinka uz frazu, za one kojima treba još jedan sloj. Ko ima reči, a nema lozinku, ne dolazi do novca. Ali ako lozinku zaboraviš, ne dolaziš ni ti. Više o tome u tekstu Passphrase: dodatna lozinka uz frazu za oporavak.
  • Više ključeva za veće iznose. Novčanik sa više ključeva (multisig) traži, na primer, dva potpisa od tri ključa. Ključevi stoje na tri mesta, pa gubitak ili krađa jednog ne znači gubitak novca.

Čelična pločica sa praznim urezanim redovima na radnom stolu, pored nje drveni stalak sa čeličnim žigovima i mali čekić

Matematika iza ključeva je proverena i može da se zameni

Javni ključ se iz privatnog računa na jednoj matematičkoj krivoj, koja se zove secp256k1 (SEC 2). Da bi se iz javnog ključa vratio privatni, trebalo bi otprilike onoliko koraka koliko ima mogućih fraza od 12 reči. Američki institut za standarde NIST je 2023. ovu krivu izričito dozvolio za primene u lancu blokova (NIST SP 800-186, dodatak H.2). Ako jednom zatreba jača kriptografija, Bitcoin može da je uvede izmenom pravila, kao što je 2021. uz Taproot uveo nov način potpisa (BIP 340).

Ko čuva frazu, čuva novac

Ključne lekcije:

  • Privatni ključ je broj sa do 78 cifara. Praktično niko ne može da ga pogodi, ali može da ga ukrade, a ti možeš da ga izgubiš.
  • Fraza za oporavak je ceo novčanik. Ko ima 12 reči, ima sve ključeve i sve adrese.
  • Putanja kaže koji je ključ i koja vrsta adrese. Ista fraza na drugoj putanji daje druge adrese.
  • Za svako primanje koristi novu adresu, zbog privatnosti.

Šta dalje?

Ključeve i frazu za oporavak drži novčanik, program ili uređaj. Koje vrste novčanika postoje i koji je za koga, čitaš u sledećem tekstu, Bitcoin novčanici: šta rade, koje vrste postoje i koji da izabereš.

Adresu daj onome ko ti šalje, frazu nikome. Sve ostalo je matematika koja radi za tebe.