Kas yra Bitcoin?

Keletas svarbių techninių terminų:

Open-source software (atvirojo kodo programa)
Peer-to-peer (P2P) tinklas
Public key cryptography (viešojo rakto kriptografija)
Public ledger system (viešoji buhalterijos knyga)
Proof-of-work (atlikto darbo įrodymas)
Byzantine Generals’ problem (Bizantijos generolų problema)

Bitcoin kaip transakcijų sistema

Kaip veikia PayPal/Visa/Mastercard/bankai (ir kitos centralizuotos transakcijų sistemos)?

  • Kai siunčiate kažkam pinigus per vieną iš šių sistemų, iš tikrųjų jokie pinigai niekur nekeliauja, tiesiog PayPal/Visa/Mastercard/etc sumažina jūsų sąskaitoje esantį balansą, ir padidina balansą toje sąskaitoje, į kurią siunčiate pinigus.
  • Vadinasi, pinigai šiose sistemose yra ne kas kita, kaip visų sąskaitų ir toms sąskaitoms priklausančių balansų sąrašas. Pinigų transakcijos yra tiesiog šio sąrašo modifikavimas.
  • PayPal/Visa/Mastercard/etc sistemose, šį sąrašą turi ir modifikuoja tik centrinis kontrolės taškas. Niekas, išskyrus centrinį kontrolės tašką, nežino kas vyksta sistemos viduje.

Kaip veikia bitcoin (ir kitos decentralizuotos transakcijų sistemos)?

  • Bitcoin sistemoje, visų sąskaitų ir jų balansų sąrašo kopiją, atnaujinamą realiu laiku, turi kiekvienas bitcoin vartotojas (ši kopija yra vadinama “blockchain”).
  • Kiekvienas vartotojas realiu laiku tikrina visas vykstančias transakcijas, sulygindamas jas su savo turima sąrašo kopija. Transakcijos, kurios bando išleisti neegzistuojančius (tinklo dalyvių turimose sąrašo kopijose) pinigus, atmetamos (daugumos tinklo). Įvykusiomis laikomos tos transakcijos, dėl kurių sutaria didžioji tinklo dalis.
  • Tam, kad vienas žmogus negalėtų susikurti milijono vartotojų ir gauti milijono balsų, naudojama proof-of-work sistema – “balsų” skaičius suteikiamas ne už vartotojų kiekį, bet už vartotojo paskirtų (bitcoin tinklui) kompiuterio resursų kiekį (šis transakcijų patvirtinimo procesas vadinamas “mining”, o tai atliekantis vartotojas vadinamas “miner”).
Kaip veikia bitcoin “mining” procesas?

Kaip vyksta kreditinių kortelių transakcijos internetu?

  • Pirkėjas, norėdamas nusipirkti kažką iš pardavėjo, turi pardavėjui nusiųsti visus savo kreditinės kortelės duomenis. T.y. visam laikui suteikti kiekvienam pardavėjui priėjimą prie visų kortelėje esančių pinigų. Pardavėjas tuos duomenis gali panaudoti nuskaičiuoti didesnei nei sutarta sumai, arba juos parduoti, arba pamesti, ir t.t.
  • Be to, šie duomenys yra siunčiami internetu, t.y. nesaugiu informacijos perdavimo kanalu (SSL nepadeda, nes jis yra centralizuotas).
  • Todėl, kreditinių kortelių transakcijos patvirtinamos (jų nebeįmanoma atšaukti) tik maždaug per mėnesį. Nepraėjus mėnesiui, kortelės savininkas gali paskambinti į banką, ir pareikalauti atšaukti transakciją, argumentuodamas, kad ją atliko ne jis. Tuomet bankas nuskaičiuoja pinigus iš pardavėjo, ir grąžina pirkėjui. Pardavėjas lieka ir be prekės, ir be pinigų, ir kartais dar turi susimokėti bankui už “darbą”. Bankai dažniausiai palaiko pirkėją, nes jis yra jų tiesioginis klientas.
  • Atšaukiama yra 3 – 5 % kreditinių kortelių transakcijų. Norėdami nuo to apsisaugoti, pardavėjai turi skirti daug lėšų, darbo ir laiko, kad patikrintų pirkėjo tapatybę. Tam pirkėjai dažnai būna prašomi pateikti dar daugiau asmeninių duomenų apie save. Šie duomenys taip pat gali būti pavogti, pamesti, ir t.t. (identity theft).

Kaip vyksta bitcoin transakcijos internetu?

  • Kiekvienas bitcoin vartotojas gali susikurti neribotą kiekį viešojo/privataus raktų porų. Viešasis raktas – tai bitcoin sąskaitos adresas, privatus raktas leidžia išleisti toje sąskaitoje esančius BTC.
  • Norėdamas nusiųsti kitam bitcoin vartotojui pinigų, vartotojas į bitcoin tinklą išsiunčia pvz. tokią žinutę “noriu pervesti 0.0542 BTC iš savo sąskaitos 1a154sd…, į sąskaitą 1bdus62…” ir pasirašo šią žinutę savo privačiu raktu. Jei kas nors šioje žinutėje pakeistų nors tašką ar kablelį, parašas nebegaliotų.
  • Kiekvienas bitcoin tinklo vartotojas gali patikrinti, ar parašas yra teisingas, tačiau negali padirbti/nukopijuoti parašo.
  • Žinutė yra siunčiama atviru tekstu, neužšifruota (jokia bitcoin sistemoje perduodama informacija nėra užšifruota).
  • Kadangi bitcoin sistemoje perduodama informacija nėra užšifruota, ir viskas vyksta viešai, tai paprasčiausiai nėra ką nulaužti. Jei transakcija neįvyko viešai, t.y. jei jos nepamatė ir į savo “blockchain” kopiją neįrašė kiekvienas bitcoin vartotojas – ji neįvyko iš viso.
  • Bitcoin transakcijos patvirtinamos (jų nebeįmanoma atšaukti) per 10 – 60 minučių (kreditinių kortelių transakcijos – per 1 mėnesį).
  • Net ir nepatvirtintą bitcoin transakciją būtų sudėtinga ir brangu atšaukti, todėl mažos ir vidutinės vertės transakcijas galima priimti ir nelaukiant patvirtinimo.
  • Kiekvienas BTC vienetas gali būti padalintas į 100 milijonų dalių (dabartinėje implementacijoje, o potencialiai, į neribotą kiekį dalių), t.y. mažiausias įmanomas nusiųsti BTC kiekis šiuo metu yra 0.00000001 BTC.

Bitcoin privalumai prieš kreditines korteles:

Pirkėjui
Pardavėjui

Bitcoin kaip tinklo protokolas

Kam dar gali būti panaudotas bitcoin protokolas?

  • Kadangi bitcoin išsprendė “Bizantijos generolų problemą”, vadinasi, bet kokį “trusted third-party” galima pakeisti viešais (open source) algoritmais.
  • Kur yra reikalingas “trusted third-party”? Notarai, nuosavybės registrai, teismai, balsavimai, vyriausybės, akcijų biržos, korporacijos, DNS, SSL…
  • Visa tai gali tapti automatizuota, vieša, skaidru. Jokios galimybės korupcijai ar manipuliacijoms.

Bitcoin protokolo trūkumai:

  • Anonimiškumo stoka. Kadangi bitcoin transakcija laikoma įvykusia tik tada, kai ją į savo “blockchain” kopiją įsirašo kiekvienas bitcoin vartotojas, vadinasi, neįmanoma atlikti tokios transakcijos, kurios nepamatytų visas pasaulis. Tai reiškia, kad bet kuris žmogus pasaulyje gali matyti kas, kam, kada ir kiek BTC siuntė – visi ši informacija yra vieša. Daugiau informacijos apie šį bitcoin trūkumą, ir galimus jo sprendimo būdus, yra šioje Microsoft Research paskaitoje.
  • 51% atakos galimybė. Kadangi susitarimas bitcoin sistemoje pasiekiamas demokratijos būdu, vadinasi, viskas vyksta taip, kaip nusprendžia daugiau nei 50% vartotojų (matuojant pagal jų bitcoin tinklui paskirtą kompiuterių resursų galią). Norint įvykdyti 51% ataką, reikėtų turėti daugiau kompiuterių resursų galios, nei visas likęs bitcoin tinklas. Šiuo metu viso bitcoin tinklo resursų suma yra tūkstančius kartų didesnė už 500 galingiausių šiuo metų egzistuojančių superkompiuterių resursų sumą.