Modul 3

Anatomija transakcije

"Vhodi, izhodi in drobiž"

Zdaj vemo, da bitcoin obstaja kot kovanci. Poglejmo, kaj se z njimi zgodi, ko pritisneš „pošlji“.

Transakcija ima natanko dva dela: vhode in izhode. Nič drugega ni.

Vhodi so kovanci, ki jih porabiš

Vhod je sklic na kovanec, ki ga imaš, in dokaz, da ga smeš porabiti.

Če plačuješ 0,03 BTC, denarnica pregleda tvoje kovance in izbere tiste, ki skupaj zadoščajo. Morda zadošča en sam. Morda jih je treba združiti pet.

Ključno pravilo poznamo iz prvega modula: kovanec se porabi cel. Polovice vhoda ni. Če imaš en sam kovanec za 0,4 BTC in plačuješ 0,03 BTC, gre v transakcijo celotnih 0,4 BTC.

Izhodi so navodila, kam gre

Izhod pove, komu pripada kolikšen del in pod katerim pogojem ga je mogoče porabiti.

Tipična transakcija ima dva izhoda:

  1. Plačilo — 0,03 BTC na naslov prejemnika
  2. Drobiž — preostanek nazaj tebi

Drobiž je razlog za paniko

Tukaj se zgodi tisto, kar prestraši skoraj vsakega začetnika.

Poslal si 0,03 BTC. Nato odpreš raziskovalec blokov in vidiš transakcijo, v kateri se premika 0,4 BTC.

Prva misel: nekdo mi je izpraznil denarnico.

Ni res. Poglej natančneje in videl boš dva izhoda — 0,03 BTC prejemniku in približno 0,37 BTC nazaj na naslov, ki ga nisi prepoznal. Ta drugi naslov je tvoj. Denarnica ga je ustvarila samodejno kot naslov za drobiž, natanko iz razloga, ki smo ga obdelali v drugem modulu: da ne bi ponovno uporabila starega naslova. (POMEMBNO: to je razlaga brez upoštevanja provizije za transakcijo)

Kovanec se porabi cel, razlika se vrne. Znesek, ki ga vidiš v raziskovalcu blokov, je vsota vhodov — ne znesek, ki si ga plačal. Drobiž je tvoj.

Analogija iz prvega modula drži do konca. V trgovini oddaš bankovec za 20 € za nakup za 3 €. Na blagajniškem traku ne piše „3 €“ — piše, da si dal 20 € in dobil 17 € nazaj. Nihče ni ukradel 17 €.

Kje je provizija

Zdaj pride tisto, kar preseneti tudi ljudi, ki bitcoin uporabljajo že nekaj časa.

Provizija je znesek, ki si ga pripravljen plačati rudarju, da tvojo transakcijo uvrsti v blok. A zapisana ni nikjer.

Provizija ni izhod. V transakciji ni vrstice, ki bi se glasila „rudarju: 0,00002 BTC“. Rudar med izhodi sploh ne nastopa.

Provizija je tisto, kar ostane:

vsota vhodov − vsota izhodov = provizija

Primer: porabiš kovanec za 0,4 BTC in plačaš 0,03 BTC.

PostavkaZnesek
Vhod — porabljeni kovanec0,4 BTC
Izhod 1 — plačilo prejemniku0,03 BTC
Izhod 2 — drobiž nazaj tebi0,36998 BTC
Razlika = provizija0,00002 BTC

Izhoda sta samo dva. Tistih 0,00002 BTC ni nikamor razporejenih — in prav zato pripadejo rudarju, ki transakcijo uvrsti v blok. Pobere jih s posebno transakcijo na začetku bloka, ne iz tvoje.

Kaj torej nastaviš v denarnici

Nastaviš ceno, ne zneska: koliko satošijev na virtualni bajt si pripravljen plačati. Denarnica iz cene in velikosti transakcije izračuna provizijo in za toliko zmanjša izhod za drobiž. Pokaže ti jo kot ločeno postavko, ker je tako razumljivo — v transakciji sami je še vedno ni.

Preprostejše denarnice ponudijo le tri stopnje (počasi / normalno / hitro), naprednejše pustijo, da ceno vpišeš sam.

Zakaj to ni malenkost

Iz tega pravila sledi ena od najbolj bolečih napak v zgodovini bitcoina.

Če sestaviš transakcijo in pozabiš dodati izhod za drobiž, protokol tega ne razume kot napako. Vidi vhode za 0,4 BTC, izhode za 0,03 BTC — in sklene, da je 0,37 BTC namenjenih rudarju kot provizija. Transakcija je popolnoma veljavna. Sredstva so nepovratno izgubljena.

Sodobne denarnice tega ne dovolijo; drobiž dodajo samodejno. Nevarnost obstaja pri ročnem sestavljanju transakcij in pri orodjih, ki delujejo na nizki ravni.

Če kdaj sestavljaš transakcijo ročno ali prek konzole, dvakrat preveri izhod za drobiž. Protokol manjkajočega drobiža ne prepozna kot napake — razliko preprosto izplača rudarju.

Podpis — dokaz, ne dovoljenje

Zadnji sestavni del. Vsak vhod nosi podpis, ustvarjen s tvojim zasebnim ključem.

Podpis ni prošnja za odobritev. Nihče ga ne potrjuje. Je matematični dokaz, ki ga lahko vsako vozlišče preveri samo: kdor je to podpisal, je poznal zasebni ključ, ki ustreza pogoju iz tega izhoda.

Zato bitcoin ne potrebuje posrednika. Ni institucije, ki bi plačilo odobrila — obstaja dokaz, ki ga vsakdo preveri sam. To je natanko tisto, kar je Satoshi opisal kot kriptografski dokaz namesto zaupanja.

Za zapomniti

  • Transakcija = vhodi + izhodi. Nič drugega.
  • Vhod je porabljen kovanec, cel.
  • Tipična transakcija ima dva izhoda: plačilo in drobiž.
  • Drobiž se vrne tebi, na nov naslov. Zato je v raziskovalcu videti večji znesek.
  • Provizija ni polje — je razlika med vhodi in izhodi.
  • Podpis je dokaz lastništva, ne dovoljenje.

Dejavnost

Poišči zadnjo transakcijo, ki si jo poslal, in jo odpri v raziskovalcu blokov.

  1. Preštej vhode. Koliko kovancev je bilo porabljenih?
  2. Preštej izhode. Sta dva?
  3. Ugotovi, kateri izhod je bil plačilo in kateri drobiž. Namig: drobiž je pogosto tisti z „grdim“ zneskom na več decimalk.
  4. Seštej vhode, seštej izhode in odštej. Ali se razlika ujema s provizijo, ki jo raziskovalec prikaže?

Če se ujema, si pravkar prebral transakcijo brez pomoči denarnice.

🧠Vprašanja za razmislek

1.Kaj je drobiž (change) v bitcoin transakciji?

2.Kje v transakciji je zapisana provizija?

3.Kdo določi, kateri tvoji kovanci bodo porabljeni?