Proof-of-work
Un sistem proof-of-work (PoW) (din eng. dovadă de lucru) este o măsură economică care descurajează atacuri de tipul denial of service sau alte tipuri de abuzuri, cum ar fi spam-ul, pe o rețea blockchain sau un serviciu electronic. Conceptul a fost inventat de Cynthia Dwork(d) și Moni Naor(d) în 1993.[1]. Termenul "proof-of-work" sau POW a fost dezvoltat și formalizat în 1999 de Markus Jakobsson(d) și Ari Juels.[2]
Un sistem proof-of-work solicită, înainte de trimiterea unui mesaj pe rețea, rezolvarea unei probleme matematice care cere putere computațională. În consecință, un atacator care ar încerca să facă spam la rețea prin trimiterea unui număr foarte mare de mesaje nu ar avea puterea de calcul necesară pentru a realiza atacul. Sisteme de tipul proof-of-work sunt folosite pentru securizarea criptomonedelor precum Bitcoin sau Ethereum.
O caracteristică esențială a acestor sisteme este asimetria lor: munca trebuie să fie relativ grea de făcut de solicitantul de servicii, dar ușor de verificat de către furnizorul de servicii. Această idee este, de asemenea, cunoscută ca funcție de cost de procesor sau puzzle-ul clientului. Sistemul proof-of-work este diferit de un CAPTCHA, care este rezolvat ușor de un om dar relativ greu de un calculator. Alte sisteme similare cu proof-of-work există: Proof of Space(d) (PoS) care cere clienților să dovedească că au suficient spațiu de stocare în memoria RAM sau pe hard-disk, proof-of-bandwidth care cere dovadă de lățime de bandă și care a fost discutat în contextul criptomonedelor sau proof-of-ownership, care solicită clientului să demonstreze că anumite date sunt deținute de acesta.
Aplicații
[modificare | modificare sursă]Algoritmi de proof-of-work au fost propuși și/sau implementați în mai multe sisteme, printre care se pot menționa:
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Strat%C3%A9gie_de_validation_par_PoW.jpg/220px-Strat%C3%A9gie_de_validation_par_PoW.jpg)
Hashcash
[modificare | modificare sursă]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).
Criptomonede
[modificare | modificare sursă]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 folosite ca proof-of-work includ scrypt,Blake-256, CryptoNight, HEFTY1, Quark, SHA-3, scrypt-jane, scrypt-n, și combinații.
Vezi și
[modificare | modificare sursă]Referințe
[modificare | modificare sursă]- ^ Dwork, Cynthia; Naor, Moni (). „Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology”. CRYPTO’92: Lecture Notes in Computer Science No. 740. Springer: 139–147.
- ^ Jakobsson, Markus; Juels, Ari (). „Proofs of Work and Bread Pudding Protocols”. Communications and Multimedia Security. Kluwer Academic Publishers: 258–272.