Bitcoin je digitalna in globalna valuta denarnega sistema. Ljudem omogoča, da pošiljajo ali prejemajo denar prek interneta, tudi nekomu, ki ga ne poznajo ali mu ne zaupajo. Denar se lahko izmenjuje, ne da bi bil povezan z resnično identiteto. Osnova za varnost Bitcoina je matematično področje kriptografije.
Kaj je Bitcoin in kako deluje na splošno
Bitcoin je decentraliziran sistem: namesto ene osrednje banke transakcije preverjajo in beležijo udeleženci omrežja (rudarji oziroma validatorji) v javni knjigi, imenovani veriga blokov (blockchain). Transakcija pove, da je nek naslov (ali skripta) poslal sredstva na drug naslov; novo stanje je rezultat zbirke vseh prejšnjih transakcij.
V jedru sistema so kriptografski ključi: privatni ključ (skrivnost, ki omogoča podpisovanje transakcij) in iz njega izpeljan javna ključ. Naslovi so skrajšane, enostavnejše predstavitve javnih ključev ali skript, ki služijo kot cilj plačila.
Kaj je naslov (bitcoin address)
Bitcoin naslov je besedilni identifikator, običajno sestavljen iz 26–35 črk in številk. Naslov služi kot cilj plačila (kam pošljete bitcoine) in ga lahko brezplačno ustvari vsak uporabnik. Naslov ni enakovreden računu z notranjim stanjem — gre za identifikator, povezan s skripto v verigi blokov. Naslov je mogoče pridobiti z uporabo denarnice (lokalne programske denarnice), borze ali spletne storitve; v jedru Bitcoina je na voljo gumb "Nov naslov".
Prenašanje, skriti podatki in varnost
Čeprav naslov sam po sebi ne razkriva imena, so vse transakcije javne. Z zbiranjem in analizo transakcijskih podatkov je pogosto mogoče povezati sezname naslovov z identitetami (npr. prek borz ali spletnih trgov). Iz tega razloga je za večjo zasebnost priporočljivo ne ponavljati naslova za večje ali različne transakcije.
Pomembno: nikoli ne delite svojega privatnega ključa. Kdor ima privatni ključ, lahko porabi sredstva s pripadajočih naslovov. Privatni ključi se pogosto shranjujejo v obliki WIF (Wallet Import Format) ali v varnih denarnicah (hardware wallets).
P2PKH — naslovi, ki se začnejo s številko 1
P2PKH pomeni "Pay to Public Key Hash" (plačilo na zgoščeno javno ključ). To je klasičen tip naslova, ki se običajno začne s številko 1; primer: 1BvBMSEstWetqTFn5Au4m4GFg7xJaNVN2. Postopek tvorbe naslova v grobem:
- iz javnega ključa se izračuna SHA-256, nato RIPEMD-160 (to je 20-bajtni hash);
- hash se obdela z verzijsko bajto in kontrolno vsoto ter se kodira v Base58Check, kar da naslov v obliki, ki se začne s 1.
P2PKH naslovi so preprosti in primerni za običajne enopodpisne transakcije (eden privatni ključ — ena podpisna zahteva za porabo). V sporočilih transakcije transakcijska izhodna skripta vsebuje pogoje, kako se lahko porabijo ta sredstva (običajno: predložitev veljavnega podpisa, ki ustreza javnemu ključu z dano zgoščeno vrednostjo).
P2SH — naslovi, ki se začnejo s številko 3
P2SH pomeni "Pay to Script Hash" (plačilo na zgoščeno skripto). Naslovi tega tipa se začnejo s številko 3; primer: 3MXknxVapwv6QkMoQv99MBuXZ2XpPewHn9. Namesto zgoščenega javnega ključa naslov hrani zgoščeno vrednost (hash) skripte, ki se razkrije šele ob porabi sredstev.
Prednosti P2SH:
- omogoča kompleksne pogoje porabe (npr. multisig — zahteva več podpisov), časovno zaklepanje ali druge skripte;
- poenostavi pošiljanje — pošiljatelj pošlje na en sam P2SH naslov, ne da bi moral poznati detajle skripte;
- zaradi tega se pogosto uporablja za multisignature denarnice, escrow, pametne pogodbe temelječe na skriptah ipd.
Ko se sredstva porabijo s P2SH naslova, mora porabnik v transakciji predložiti dejansko skripto (redeem script) in podatke (npr. podpise), ki dokazujejo, da so izpolnjeni pogoji skripte. Javna zgoščena vrednost skripte je bila že shranjena v naslovu, zato omrežje lahko preveri skladnost brez poznavanja skripte do trenutka porabe.
Druge oblike naslovov in napredek (SegWit, bech32)
Poleg P2PKH in P2SH obstajajo še novejši tipi naslovov, povezanih s SegWit (segregated witness). Najpogosteje jih vidite kot:
- P2SH-wrapped SegWit: segwit transakcije, zavite v P2SH (za združljivost), ti naslovi lahko prav tako začnejo s 3;
- Bech32 naslovi (native SegWit): običajno se začnejo z "bc1" in so bolj učinkoviti ter imajo nižjo provizijo pri več transakcijah, obenem pa uporabljajo novo kodiranje (bech32).
Bech32 naslovov v tej razlagi nismo podrobno obravnavali, vendar je dobro vedeti, da so novosti v naslovih namenjene večji učinkovitosti, manjšim provizijam in izboljšani obdelavi podpisov.
Praktični nasveti
- Uporabljajte denarnice, ki varno shranjujejo privatne ključe (strojne denarnice, varne programske denarnice).
- Ne delite privatnih ključev ali WIF vrstic. Naslov lahko brez skrbi delite za prejemanje sredstev.
- Izogibajte se ponovni uporabi naslovov, če želite boljšo zasebnost.
- Za kompleksne primere (multisig, escrow) razmislite o P2SH rešitvah; za nižje provizije in novejše denarnice pa o SegWit/bech32 naslovih.
- Pri pošiljanju na borze ali storitve vedno preverite, kateri naslovni tip zahtevajo (nekatere storitve podpirajo le določene formate).
Zaključek
Bitcoin naslovi so ključni element sistema: predstavljajo cilje plačil in se uporabljajo za preverjanje, ali ima nekdo pravico porabiti sredstva. P2PKH (naslovi, ki se začnejo s 1) so klasični, P2SH (naslovi, ki se začnejo s 3) pa omogočajo bolj kompleksne skripte in multisig rešitve. V zadnjem času se pojavljajo tudi SegWit in bech32 naslovi, ki izboljšujejo učinkovitost in zasebnost.


