Bitcoin izgudrotāja Satoshi Nakoamoto https://bitcoin.org/bitcoin.pdf Whitepaper
Satoši Nakamoto bija vīzija par revolucionāru un ideālu elektronisku valūtu un uzskaites sistēmu. Šobrīd kriptovalūtu eksperiments ir pārspējis visas cerības un atpakaļceļa vairs nav.
Lai saprastu kā darbojas kriptovalūtas ir jāapgūst daži termini.
Distributed ledger
Banka ir centralizēta iestāde, kas nodrošina savas un lietotāju grāmatvedības pārvaldīšanu centralizēti un tikai bankai ir pieeja visiem datiem. Lai pārbaudītu grāmatvedību ir jāveic ārējs audits, bet principā visi ir apmierināti, kamēr uzticamies bankai.
Bet vai ir iespējams uzturēt vienotu, precīzu un verificējamu grāmatvedību decentralizētā , zero-trust variantā, kad nav nepieciešamība uzticēties trešajai personai, kas pārbauda datus?
Satoshi Nakoamoto piedāvāja Distributed Ledger risinājumu, kas nozīmē, ka sistēmas grāmatvedības dati ir pieejami publiski visiem un katrs, kam ir vēlēšanās var glabāt uzskaites kopiju uz sava datora un neatkarīgi verificēt datus. Visas transakcijas tiek translētas publiskā vienādranga internet tīklā (peer-to-peer) un reģistrētas katrā individuālā datubāzē. Rezultātā tiek uzturētas neskaitāmas identiskas grāmatvedības kopijas un katrs mezgls (node) saņem un pārbauda visas ienākošās transakcijas.
Bitcoin eksperiments pārspēja autoru cerības par Distributed Ledger funkcionalitāti un dzīvotspēju. DL ir n-kārtīga kontrole pār darījumu un informācijas pareizumu, izslēdzot pat teorētiskas iespējas ļaunprātīgi manipulēt ar sensitīviem datiem. Tas tiek panākts ar minimāliem līdzekļiem. Visu Bitcoin DL grāmatvedību var palaist uz jebkura pat 20 gadus veca datora.
Blockchain
Lai arī DL ledger nodrošina praktisku sistēmas darbību , tomēr ir nepieciešams kontroles mehānisms, kad visi sistēmas dalībnieki vienojas par sistēmas stāvokli kādā konkrētā brīdī (pavelk strīpu zem bilances). Nakamoto piedāvāja kā to izdarīt decentralizētā veidā ar Blockchain palīdzību (BC). Ar zināmu periodiskumu (BTC gadījumā 10 min vidēji) visas jaunās un neapstiprinātās transakcijas tiek iekļautas vienā failā (blokā) un nohašotas. Rezultātā blokam tiek iegūts unikāls kriptogrāfisks paraksts, kas aizsargā bloka saturu pret izmaiņām nākotnē (par hash funciju citreiz). Jaunais bloks ietver iepriekšējā bloka parakstu, rezultātā veidojas vēsturiska bloku ķēde, ko jebkurš lietotājs uz sava mezgla var noverificēt. Šī ķēde kriptogrāfiski ir aizsargāta pret izmaiņām un pēc zināma laika to pat teorētiksi nav iespējams izmainīt.
Bitcoin tīklā tiek vienlaicīgi glabātas neskaitāmas BC kopijas. Lai iznīcinātu sistēmu ir nepieciešams iznīcināt visas kopijas. Ja kaut viena kopija paliek dzīva, tad sistēmu neilgā laikā var atjaunot.
https://blockchain.info/ šeit var onlainā un reālā laikā redzēt visu Bitcoin darījumu vēsturi
Mining
Tomēr kā panākt, lai visi sistēmas dalībnieki vienojas par kopīgu vēsturi? Nedrīkst pieļaut situāciju , kad pat viens dalībnieks nepiekrīt vēsturei un veic atšķirīgu ierakstu savā grāmatvedībā. Nakamoto sistēmas kontroli uzticēja īpašiem dalībniekiem maineriem. Maineri ar kriptgrāfiskas loterijas palīdzību cīnās par tiesībām verificēt un pievienot bloku ķēdei jaunu bloku. Maineriem uz saviem datoriem ir jāatrisina sarežģīta matemātiska problēma, kura pierāda, ka uzdevuma veikšanai mainers ir patērējis zināmu daudzumu datorjaudas. Tūkstošiem neatkarīgu un savstarpēji nepazīstamu maineru sacenšas par to kurš pirmais atradīs jauno bloku. Kad bloks tiek atrasts, tas tiek izsūtīts visiem mezgliem un katrs mezgls neatkarīgi noverificē bloka korektumu. Ja kādā no blokiem citas mezgls atrod kļūdu, viss bloks tiek invalidēts un transakcijas izmestas atpakaļ tīklā kā neverificētas. Tā ka nav iespējams ietekmēt loterijas procesu, katru reizi bloku atradīs cits neatkarīgs sistēmas dalībnieks. Par bloka verificēšanu mainers saņem atlīdzību, tā nodrošinot bitcoin emisiju. Mainers ir visos veidos ieinteresēts veikt darbu maksimāli godīgi, pretējā gadījumā sistēmas uzticamība tiks ievainota un mainers zaudēs savu ienākuma avotu.
Arī mining koncepts ir pārspējis visas cerības. Tiesa mining procesam ir zināmi trūkumi (pagaidām vairāk teorētiskas nekā praktiskas) un tiek aktīvi projektēti jauni maining un consensus algoritmi.
Publiskās / Privātās atslēgas un Maki (Wallets)
Lai tiktu pie Bitcoin ir nepieciešams konts. Kontus lietotājs ģenerē pats (precīzāk Wallet programma) un kontu skaits nav ierobežots. konts ir ļoti gara nejauša simolu virkne.
Piemēram: L4L21nXLMFkSToHtzC3CoV8NVsJ5FX9RkVXeoCxPjSq7HLCDnfDJ
varbūtība, ka jebkad tiks uzģenerētas divas vienādas privātās atslēgas ir praktiski neiespējama (teorētiksi protams ir).
Privāto atslēgu jāglabā visiem iespējamiem līdzekļiem. Atslēgu var izdrukāt un ielikt seifā utt. Parastā situācijā privātās atslēgas šifrētā veidā glabāsies uz datora vai telefona vai planšetes un tas ir pietiekoši droši. Tomēr ja ir vēlēšanās, privātās atslēgas var ierakstīt ārējā ierīcē (cold wallet) , kas nav pieslēgta internetam.
No privātās atslēgas tiek ģenerēta publikā atslēga, kas kalpo, kā konta numurs. to var droši nodot citām personām.
No publiskās atslēgas nav iespējams matemātiski iegūt privāto atslēgu.
Piemēram: 13Vz27S5d8w1ThzdETztipPmNbg8HE1nWK
uz šo adresi (vai kontu) ir iespējams nosūtīt jebkuru Bitcoin daudzumu. Bet nākošo darbību (pārskaitījumu) no šīs adreses var veikt tikai persona, kam ir zināma privātā atslēga. gadījumā ja privātā atslēga tiek zaudēta, konts uz mūžīgiem laikiem paliks neiztērēts. Paradoksālā kārtā privātā atslēga ir tik liels skaitlis ka, ka to uzminēt ar brute-force nav iespējams ar visiem pieejamām datorjaudām.
https://www.bitaddress.org šeit var paspēlēties ar Bitcoin adresēm.
Par makiem un citiem veidiem kā glabāt kriptovalūtas, nākamreiz.
Paldies par uzmanību!
Paldies Edmund 🙂