(Proof of work) este un fragment de date care a fost suficient de dificil (costisitor, consumator de timp) pentru a-l produce, în așa fel încât să satisfacă anumite cerințe. Trebuie să fie banal de ușor de verificat dacă data respectivă satisface sau nu cerințele în cauză. Producerea de proof-of-work (dovada de lucru) poate să fie un proces la întâmplare cu probabilitate scăzută, așadar suficiente încercări și erori sunt necesare, în medie, înainte ca o dovadă de lucru să fie generată.

Bitcoin folosește dovada de lucru Hashcash.

O aplicabilitate a acestei idei este folosirea hashcash-ului ca metodă de a preveni spam-ul din căsuța de email, cerând dovadă de lucru din conținutul email-ului, inclusiv adresa destinatarului, la fiecare email. Mesajele legitime vor fi capabile să lucreze pentru a genera dovada de lucru foarte ușor (nu este nevoie de foarte multă muncă pentru un singur email), dar spam-ul în masă va avea probleme în a genera dovada cerută (ceea ce ar cere resurse computaționale uriașe).

Dovezile de lucru Hashcash sunt folosite pentru generarea de block-uri bitcoin. Dovezile de lucru care sunt legate de data fiecărui block în parte sunt cerute pentru ca block-ul să fie acceptat. Dificulatea acestui proces este ajustată pentru a limita rata cu care block-urile noi pot fi generate de rețea o dată la fiecare 10 minute. Din cauza probabilității foarte scăzute a generării cu succes, acest lucru face imprevizibil care calculator din rețea va fi capabil să genereze următorul block.

Pentru ca un block să fie valid, trebuie să facă hash la o valoare mai puțin decât ținta curentă. Asta înseamnă că fiecare block indică faptul că munca a fost făcută generând acel block. Fiecare block conține hash-ul block-ului precedent, astfel fiecare block are un lanț de block-uri care împreună conțin o cantitate mare de muncă. Schimbarea unui block (care poate fi făcută generând un nou block care conține același predecesor) cere regenerarea tuturor succesorilor și refacerea muncii pe care o conțin. Acest lucru protejează blockchain-ul de manipulare.

Cea mai folosită dovadă de lucru este SHA-256, care a fost introdusă de bitcoin. Alte algoritme de hashing care sunt folosite ca proof-of-work includ scrypt, Blake-256, CryptoNight, HEFTY1, Quark, SHA-3, scrypt-jane, scrypt-n, și combinations.