Bitcoin se zasniva na
kriptografiji javnog ključa, točnije na digitalnim potpisima
baziranim na eliptičkim krivuljama. Krivulja koju bitcoin
klijent koristi je secp256k1.
Pomoću nje se generiraju
privatni i javni ključevi koji se koriste za potpisivanje
transakcija odnosno dobivanje bitcoin adresa.
Privatni ključ
Privatni ključ omogućuje trošenje bitcoina. Svaka
bitcoin adresa ima odgovarajući privatni ključ koji vlasniku
omogućuje pristup bitcoinima na toj adresi. Sastoji se od 256
bitova, odnosno 64 heksadecimalna znaka.
Bitcoin adresa
Bitcoin adresa dobiva se iz javnog ključa:
- Duljina javnog ključa je 512 bitova odnosno 64 heksadecimalna znaka 50863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6
- Na njega se dodaje jedan bajt 0x04 pa se dobiva 0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6
- Hashira li se to pomoću SHA-256 dobiva se 600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408
- Zatim se prethodni niz znakova hashira pomoću RIPEMD-160 010966776006953D5567439E5E39F86A0D273BEE
- Na to se dodaje bajt koji označuje verziju (0x00 ako se radi o glavnoj mreži, 0x6f ako se radi o testnoj ili 0x34 ako se radi o Namecoinu) 00010966776006953D5567439E5E39F86A0D273BEE
- Nad time se ponovno radi SHA-256 445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094
- Te još jednom SHA-256 D61967F63C7DD183914A4AE452C9F6AD5D462CE3D277798075B107615C1A8A30
- Prva četiri bajta tog niza uzimaju se kao zaštitna suma D61967F6
- Ta se zaštitna suma dodaje na kraj niza iz koraka 5 00010966776006953D5567439E5E39F86A0D273BEED61967F6
- To je bitcoin adresa izvedena iz javnog ključa, a najčešće se zapisuje u Base58Check formatu 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM
Bajt 0x00 se također kodira te se zbog specifičnosti
formata Base58Check kovertira u broj 1. Zato sve bitcoin adrese u
glavnoj mreži počinju brojem 1. Većina je adresa duljine 33 ili 34
znaka.
No comments:
Post a Comment