Jeden zostatok, dva príkazy
Predstavte si, že Anna ovláda digitálnu hodnotu desať jednotiek. Takmer súčasne podpíše platbu desať jednotiek Bobovi aj platbu tých istých desať jednotiek Eve. Nejde o dve platby kryté dvadsiatimi jednotkami, ale o dva konfliktné návrhy, ktoré používajú ten istý zdroj.
Pri fyzickej bankovke nemôže byť ten istý kus naraz v dvoch pokladniach bez falšovania alebo krádeže. Digitálne správy sa však šíria rôznymi cestami a rôzne počítače ich môžu dostať v odlišnom poradí. Bez spoločného rozhodnutia by Bob aj Eva mohli veriť, že dostali platbu ako prví.
Prečo správny podpis nestačí
Oba príkazy môže Anna podpísať platným kľúčom. Podpis teda potvrdí jej autorizáciu, ale nepovie celej sieti, ktorú správu má považovať za prvú. Čas na hodinkách odosielateľa nie je spoľahlivý: dá sa nastaviť nesprávne a správy potrebujú rôzny čas na cestu.
Tradičné digitálne platby tento spor odovzdávajú banke alebo vydavateľovi tokenu. Správca vedie zoznam použitých jednotiek alebo zostatkov a druhú platbu odmietne. Aj skoršie návrhy digitálnej hotovosti často zachovávali banku, ktorá pri prijatí mince kontrolovala jej sériové číslo alebo odhalila opakované minutie.
Ako Bitcoin vyberá spoločnú históriu
Bitcoinové transakcie sa rozposielajú do siete. Uzly odmietajú transakciu, ktorá podľa ich platného stavu používa už minutý výstup. Ťažiari skladajú platné transakcie do kandidátnych blokov a hľadajú dôkaz práce. Blok odkazuje na predchádzajúci blok, takže postupne vzniká zoradená história.
Ak sa dočasne objavia dve platné vetvy, uzly nasledujú platný reťazec s najväčším nahromadeným dôkazom práce. Jedna konfliktná platba môže skončiť v prijatej vetve a druhá sa stane neplatnou. Nové bloky nad platbou zvyšujú náklady na prepísanie jej histórie; preto sa pri väčších sumách čaká na viac potvrdení.
- uzol kontroluje podpisy aj to, či vstupy ešte neboli minuté
- dôkaz práce dáva merateľnú váhu navrhovanej histórii
- potvrdenia znižujú riziko zvrátenia, no nevytvárajú matematicky okamžitú konečnosť
Riešenie nie je kúzlo ani absolútna istota
Platba, ktorá ešte nie je v bloku, môže byť konfliktná a príjemca musí zohľadniť riziko. Aj po zaradení ide o pravdepodobnostnú istotu: čím viac práce pribudne nad blokom, tým nákladnejšie je vytvoriť silnejšiu alternatívnu históriu. Potrebný počet potvrdení závisí od sumy, situácie a tolerancie rizika.
Model zároveň predpokladá, že útočník dlhodobo neovláda rozhodujúcu časť výpočtového výkonu a že používateľ overuje pravidlá dôveryhodným softvérom. Bitcoin teda nerobí podvod nemožným vo všetkých okolnostiach; vytvára otvorený systém, v ktorom sa podvodná zmena histórie stáva merateľne nákladnou a verejne kontrolovateľnou.