Peňaženka najprv zostaví návrh platby
Keď do peňaženky zadáte adresu príjemcu a sumu, aplikácia nevyberie súbor s mincami. Nájde predchádzajúce výstupy, ktoré dokáže vašimi kľúčmi minúť, a použije ich ako vstupy novej transakcie. Potom vytvorí výstup pre príjemcu, prípadný výdavok späť pre vás a zvolí poplatok.
Kým návrh nie je správne podpísaný, sám osebe nedáva sieti oprávnenie nič minúť. Peňaženka musí skontrolovať sumy a podmienky, pripraviť presné údaje na podpis a až potom môže výsledok odoslať pripojenému uzlu. Dobre navrhnutá podpisovacia peňaženka ukáže používateľovi cieľovú adresu, sumu aj poplatok ešte pred potvrdením.
Vstupy odkazujú dozadu, výstupy smerujú dopredu
Každý bežný vstup označuje konkrétny výstup staršej transakcie pomocou identifikátora a poradového čísla. Zároveň poskytne údaje, ktoré splnia podmienku jeho minutia. Nové výstupy určia množstvo satoshi a novú podmienku, ktorú bude musieť splniť budúci platiteľ.
Transakcia tak nevpisuje príkaz typu „odpočítaj z účtu Jána a pripočítaj Petrovi“. Spotrebuje celé vybrané výstupy a vytvorí nové. Ak sú vstupy väčšie než platba a poplatok, rozdiel sa zvyčajne vráti odosielateľovi v samostatnom výstupe. Tento model podrobnejšie rozoberie článok 45.
- vstup ukazuje na konkrétny starší neminutý výstup
- výstup určuje sumu a podmienku budúceho minutia
- rozdiel medzi vstupmi a výstupmi môže získať ťažiar ako poplatok
Podpis sa šíri, súkromný kľúč zostáva doma
Peňaženka podpíše určené časti transakcie súkromným kľúčom. Podpis umožní uzlom overiť, že platiteľ poskytol požadované oprávnenie a že chránené údaje neboli po podpise zmenené. Z podpisu sa pritom súkromný kľúč neposiela príjemcovi ani sieti.
Podpísaná transakcia sa odošle jednému alebo viacerým uzlom. Tie ju samostatne kontrolujú a platnú transakciu môžu posunúť ďalším susedom. Jej rozšírenie však ešte nie je potvrdením: v tejto fáze ide o nepotvrdenú transakciu, ktorú zatiaľ nemusí obsahovať žiadny blok.
Príjemca sleduje záznam, nie prichádzajúci predmet
Peňaženka príjemcu zistí, že nový výstup zodpovedá podmienke, ktorú vie jeho kľúč neskôr splniť. Môže ho zobraziť okamžite ako čakajúcu platbu. Až zaradenie do platného bloku vytvorí prvé potvrdenie a ďalšie bloky znižujú pravdepodobnosť, že sa poradie histórie zmení.
Takéto vysvetlenie nemení Bitcoin na obyčajný bankový účet. Rozdiel je v tom, že platnosť nemusí potvrdiť jediný prevádzkovateľ účtovnej databázy. Každý plný uzol môže z verejných údajov a pravidiel sám vypočítať, či vstupy existujú, neboli minuté a transakcia nevytvára nepovolenú hodnotu.