Kandidatų blokas
Trumpai tariant, kandidatų blokas yra blokas, kurį kasybos
mazgas (kasėjas) bando iškasti, kad gautų bloko atlygį. Taigi bloką galima apibūdinti kaip laikiną bloką, kurį tinklas patvirtins arba atmes. Kasėjai konkuruoja tarpusavyje, kad patvirtintų kitą bloką ir pridėtų jį prie blokų grandinės, tačiau pirmiausia jie turi sukurti kandidato bloką, kad galėtų dalyvauti
kasybos konkurse.
Kandidatų blokus sukuria kasėjai, rinkdami ir tvarkydami keletą nepatvirtintų sandorių iš atminties telkinio. Tada sandoriai sumaišomi, kad būtų suformuota
Merkle medžio struktūra, kuri galiausiai sukurs Merkle šaknį (arba šaknies maišą). Merkle šaknis yra viena maiša, kuri atspindi visas ankstesnes to medžio maišas, taigi ir visus sandorius, kurie buvo įtraukti į tą konkretų bloką.
Šaknies maiša – kartu su ankstesnio bloko maiša ir atsitiktiniu skaičiumi, vadinamu
vienkartiniu raktu, įdedama į bloko antraštę. Tada kasėjas sumaišo antraštės bloką, sugeneruodamas išvestį pagal šiuos komponentus (šaknies maišą, ankstesnio bloko maišą ir vienkartinį raktą) bei keletą kitų elementų. Gauta išvestis – bloko maiša – naudojama kaip unikalus naujai sugeneruoto bloko (kandidato bloko) identifikatorius.
Kad būtų laikoma galiojančia, išvestis (bloko maiša) turi prasidėti tam tikru nulių skaičiumi (mažesniu nei tikslinės vertės, kuri apibrėžta protokole). Tai reiškia, kad kasybos procesas yra pagrįstas daugybe bandymų (bandymai ir klaidos), nes kasybos mazgai turi atlikti daugybę maišos funkcijų su skirtingomis vienkartinio rakto reikšmėmis, kol galiausiai bus sukurta tinkama bloko maiša. Sukurta bloko maiša įrodo, kad kasėjas atliko savo darbą (taigi
Proof-of-Work).
Kasėjui radus tinkamą bloko maišą, jo kandidato blokas bus transliuojamas į kitus tinklo mazgus, kuriuose bus patikrinamas maišos autentiškumas. Jei viskas gerai, kandidato blokas įrašomas į
blokų grandinę. Šiuo metu kiekvienas patvirtinantis mazgas atnaujina savo blokų grandinės duomenų kopiją, kad atspindėtų neseniai iškastą bloką, o kasėjas gauna bloko atlygį.