Taula de continguts
- Comprensió de la cadena blockchain
- Fer front a la doble despesa
- Prova de Treball i "Mineria"
Una de les principals preocupacions de qualsevol desenvolupador de criptomonedes és el tema de la doble despesa. Es refereix a la incidència d’una despesa individual d’un saldo d’aquest criptocurrency més d’una vegada, creant efectivament una disparitat entre el registre de despesa i la quantitat d’aquesta criptocurrency disponible, així com la forma de distribució d’aquest.
El problema de la doble despesa és un problema que no té efectiu; si pagueu per un sandvitx amb una factura de 10 dòlars, transferint aquesta factura al fabricant de l’entrepà, no podreu donar la volta i gastar aquests mateixos 10 dòlars en un altre lloc. Tanmateix, una transacció amb una moneda digital com bitcoin, es produeix completament digitalment. Això vol dir que és possible copiar els detalls de la transacció i tornar-la a difondre de manera que un mateix propietari el pogués gastar diverses vegades el mateix BTC. A continuació, examinarem com els desenvolupadors de criptomoneda han assegurat que no es pot produir la doble despesa.
Punts clau
- Un problema tècnic que sorgeix amb la noció de moneda digital és la possibilitat que algú pugui duplicar diners digitals i gastar-lo simultàniament en dos o més llocs. Aquest problema de "doble despesa" s'evita en criptocurrencies basades en blockchain com Bitcoin per utilitzant un mecanisme de consens conegut com a prova de treball (PoW). Això és realitzat per una xarxa descentralitzada de "miners" que no només asseguren la fidelitat de les transaccions passades al registre de la blockchain, sinó que també detecten i eviten la doble despesa..
Comprensió de la cadena blockchain
La cadena de blocs que té una moneda digital com el bitcoin no és capaç d'impedir la doble despesa per si mateixa. Més aviat, totes les diferents transaccions que comporten la criptocurrency pertinent es publiquen a la cadena de blocs, on es verifiquen per separat i es protegeixen mitjançant un procés de confirmació. En el cas del bitcoin i de moltes altres criptomonedes, les transaccions confirmades d'aquesta manera es converteixen en irreversibles; es publiquen públicament i es mantenen a perpetuïtat.
Bitcoin va ser la primera gran moneda digital a resoldre el problema de la doble despesa. Va fer-ho implementant aquest mecanisme de confirmació i mantenint un sistema comú universal de registre. D’aquesta manera, la cadena de blocs de bitcoin conserva registres de transaccions amb segell de temps que es remunten a la fundació de la criptomoneda el 2009.
En termes Bitcoin, un "bloc" és un fitxer de dades permanentment gravades. Totes les transaccions recents s’escriuen en blocs, com un registre de transaccions en accions en una borsa. La informació dels blocs s’afegeix al registre a la llum cada pocs minuts; tots els nodes de la xarxa mantenen una còpia del registre comptable. Els usuaris només poden navegar per la cadena de blocs per bitcoin i revisar les transaccions només quant a la quantitat. Els detalls sobre la identitat del comprador i venedor en qualsevol transacció estan protegits per encriptació d'alt nivell, que també protegeix el registre de la manipulació de fonts externes. Quan el registre de blockchain s’actualitza, també ho són tots els carteres bitcoin.
Fer front a la doble despesa
Imagineu que teniu 1 BTC i proveu de gastar-lo dues vegades en dues transaccions separades. Podeu intentar fer-ho enviant el mateix BTC a dues adreces separades de moneders bitcoin. Totes dues transaccions entraran en el conjunt de transaccions no confirmades. La primera transacció seria aprovada mitjançant el mecanisme de confirmació i es verificaria al bloc següent. Tanmateix, la segona transacció seria reconeguda com a nul·la pel procés de confirmació i no es verificaria. Si ambdues transaccions s’extreuen del conjunt per a la confirmació simultàniament, s’inclourà a la blockchain la transacció amb el nombre més gran de confirmacions, mentre que l’altra es descartarà.
Si bé tracta de manera efectiva el tema de la doble despesa, no està exempta de problemes. Per exemple, el destinatari previst de la segona transacció (fallida) no tindria part en la transacció per si mateixa i, tanmateix, aquesta persona no rebrà el bitcoin que ell havia previst. Molts comerciants esperen almenys 6 confirmacions d’una transacció (el que significa que es van afegir 6 blocs de transaccions posteriors a la blockchain després de la transacció en qüestió). En aquest moment, el comerciant pot suposar amb seguretat que la transacció és vàlida.
Hi ha altres vulnerabilitats en aquest sistema que poden permetre que es produeixin atacs de doble despesa. Per exemple, si un atacant és capaç de controlar d'almenys el 51% de la potència de la xarxa, pot comprometre la doble despesa. Si un atacant era capaç de controlar aquest poder computacional, podria invertir transaccions i crear una blockchain privada i privada. Tot i això, el ràpid creixement del bitcoin pràcticament ha assegurat que aquest tipus d’atac és impossible. (Per obtenir més informació, vegeu compte amb aquestes cinc estafes Bitcoin)
S'ha explicat la prova del treball i la "mineria"
Ara anem una mica més tècnics. La manera en què els usuaris detecten la manipulació com ara un intent de gastar dos cops a la pràctica és mitjançant hashes, llargues cadenes de números que serveixen com a prova de treball (PoW). 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.
