Què significa la prova del treball?
La prova del treball descriu un sistema que requereix un esforç no insignificant però factible per tal de dissuadir els usos frívols o maliciosos del poder informàtic, com ara enviar correus electrònics de correu brossa o llançar atacs de denegació de serveis. Hal Finney va adaptar el concepte als diners al 2004 amb la idea de "prova reutilitzable del treball". Després de la seva introducció el 2009, bitcoin es va convertir en la primera aplicació àmpliament adoptada de la idea de Finney (Finney també va ser el destinatari de la primera transacció bitcoin). La prova del treball és la base de moltes altres criptocurrencies.
Prova de treball explicada
Aquesta explicació se centrarà en la prova del treball ja que funciona a la xarxa de bitcoin. Bitcoin és una moneda digital que es basa en una mena de registre distribuït conegut com a "blockchain". Aquest registre compta amb un registre de totes les transaccions bitcoin, organitzades en "blocs" seqüencials, de manera que cap usuari no pot gastar cap de les seves participacions dues vegades. Per tal d'evitar la manipulació, el registrador és públic o "distribuït"; altres usuaris serien rebutjats ràpidament per una versió alterada.
La manera en què els usuaris detecten la manipulació a la pràctica és mitjançant hashes, llargues cadenes de números que serveixen com a prova del treball. Poseu un conjunt de dades determinat mitjançant una funció hash (bitcoin utilitza SHA-256) i només generarà un hash. A causa de l '"efecte allau", però, fins i tot un petit canvi en qualsevol porció de les dades originals es traduirà en un hash totalment irreconeixible. Independentment de la mida del conjunt de dades original, el hash generat per una funció determinada tindrà la mateixa longitud. El hash és una funció unidireccional: no es pot utilitzar per obtenir les dades originals, només per comprovar que les dades que han generat l'hash coincideixen amb les dades originals.
Generar qualsevol hash per a un conjunt de transaccions bitcoin seria trivial per a un equip modern, de manera que per convertir el procés en "funciona", la xarxa de bitcoin estableix un cert nivell de "dificultat". Aquest paràmetre s'ajusta de manera que un nou bloc sigui "minat" - afegit a la blockchain generant un hash vàlid - aproximadament cada 10 minuts. La dificultat d’establiment s’aconsegueix establint un “objectiu” per al hash: com més baixa és l’objectiu, més petit és el conjunt de hashes vàlids i més difícil és generar-ne un. A la pràctica, això significa un hash que comença amb una llarga cadena de zeros: el hash del bloc # 429818, per exemple, és 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Aquest bloc conté 2.012 transaccions que comporten poc més de 1.000 bitcoin, a més de la capçalera del bloc anterior. Si un usuari canviava una quantitat de transacció per 0.0001 bitcoin, el hash resultant no seria reconegut i la xarxa rebutjaria el frau.
Com que un conjunt de dades determinat només pot generar un hash, com es pot assegurar que generi un hash per sota de l'objectiu? Modifiquen l’entrada afegint un nombre enter, anomenat nonce ("nombre utilitzat una vegada"). Un cop trobat un hash vàlid, es transmet a la xarxa i s'afegeix el bloc a la blockchain.
La mineria és un procés competitiu, però és més que una loteria que una cursa. De mitjana, algú generarà proves de treball acceptables cada deu minuts, però qui serà, és la seva suposició. Els miners s’uneixen junts per augmentar les seves possibilitats de blocs miners, cosa que genera comissions de transacció i, per un temps limitat, una recompensa de bitcoins de nova creació.
La prova del treball fa que sigui extremadament difícil alterar qualsevol aspecte de la blockchain, ja que una alteració necessaria tornar a minar tots els blocs posteriors. També fa difícil que un usuari o un grup d’usuaris monopolitzi la potència informàtica de la xarxa, ja que la maquinària i la potència necessària per completar les funcions de hash són cares.
