Com funciona la cadena de blocs de Bitcoin
Una analogia de full de càlcul
Imagineu una cadena de blocs com un full de càlcul. Tothom té accés a les dades de cada cel·la i en guarda una còpia al seu ordinador personal. Les dades del full de càlcul es comparteixen entre diverses persones. Tot i això, ningú no pot alterar una cèl·lula individual ni canviar la informació existent. Al món de la cadena de blocs, anomenem això “immutable”: la incapacitat de canviar o modificar alguna cosa amb el pas del temps.
Ara, imagineu-vos que voleu afegir una cel·la nova al full de càlcul. Això requeriria l’aprovació dels membres que tinguessin accés a les dades del full de càlcul. Quan la majoria dels propietaris del full de càlcul aproven la nova cel·la, les dades s’afegiran al full de càlcul principal.
Torna a Bitcoin
Com a part, notareu que fem servir “Bitcoin” amb una majúscula B per referir-nos a la cadena de blocs general i “bitcoin” amb una minúscula b per referir-vos a la criptomoneda de la xarxa Bitcoin..
A continuació, apliquem els conceptes anteriors per entendre millor com funciona la cadena de blocs de Bitcoin. Si Alice va canviar un bitcoin a Bob, aquesta transacció es registraria al llibre major de la cadena de blocs de Bitcoin. La visualització del llibre major mostrarà quant es va canviar bitcoin quan es va produir la transacció i les adreces bitcoin corresponents d’Alice i Bob que van enviar i rebre les transaccions..
Miners de Bitcoin
Un cop feta una transacció, la verificaran les persones anomenades miners. Quan es produeix una transacció, com ara la transició d’Alice amb Bob, s’agrupa en un “bloc” matemàticament protegit amb altres transaccions que s’han produït en el mateix període de temps. Els miners utilitzen ordinadors amb una potència de càlcul increïble per resoldre el bloc matemàticament. Els primers miners que resolen el bloc i validen les transaccions es premien amb bitcoin. Aquesta és l’única manera de crear bitcoin. Finalment, cada bloc està connectat al bloc verificat prèviament, creant una cadena de blocs, d’aquí el nom de blockchain (ja ho sabem, super creatiu).
Una cosa més que heu d’entendre sobre la cadena de blocs és que és immutable, cosa que significa que, un cop s’han afegit les dades a un bloc, no es poden canviar mai (com mai). En una aplicació pràctica, una vegada que Alice canvia el seu bitcoin i es verifica la transacció, no el pot recuperar ni cancel·lar l’operació. Ha marxat. Tot i això, val la pena assenyalar que això beneficia els particulars i les empreses que s’ocupen de les transaccions amb targeta de crèdit, que no es liquidaran fins a dates posteriors. Una persona malintencionada que utilitza una targeta de crèdit podria comprar un article i després cancel·lar la transacció deixant a una persona o empresa amb ingressos perduts.
Algorisme de consens
Quan Alice canvia el seu bitcoin a Bob, la transacció es representa com un bloc que s’ha de transmetre a la xarxa blockchain. La xarxa blockchain està formada per nodes o participants de la xarxa que validen i retransmeten transaccions per transmetre informació.
Tots els nodes s’utilitzen de forma voluntària i s’utilitzen per verificar les transaccions correctes a la cadena de blocs. Els nodes segueixen regles de consens, que són regles acordades per la comunitat. Un canvi en les regles de consens requereix que el 95% de la comunitat aprovi, cosa que fa increïblement difícil per a un grup canviar el programari Bitcoin. Altres algorismes de consens requereixen un percentatge inferior per canviar el protocol de programari. Els nodes retransmeten les transaccions i les validacions a altres nodes de manera que la xarxa es mantingui actualitzada. Els nodes no extrauen bitcoins. No obstant això, tots els miners solen executar un node complet per validar i retransmetre les transaccions de bitcoins de manera efectiva. Com que els miners i els no miners executen la validació i el retransmissió mitjançant nodes operatius, tots participen en el procés de consens.
Mineria de Bitcoin
Els miners de Bitcoin verificen transaccions legítimes i creen bitcoins nous com a recompensa al seu treball.
Es considera verificada una transacció una vegada que el miner resol un trencaclosques criptogràfic (matemàtic). Bitcoin utilitza un protocol anomenat prova del treball, que té un objectiu ampli per evitar atacs cibernètics de qualsevol entitat o grup. Més específicament, Bitcoin utilitza l’algoritme Secure Hash de 256 bits (SHA-256). Els xips d’ordinador poden executar l’algorisme SHA-256 per generar una sortida, que es coneix com a “hash”. Hashing, el procés de creació de múltiples hash, s’utilitza per resoldre el problema matemàtic, en el qual la resposta final és el valor de hash conegut i esperat.
Un exemple simplificat
- Per resoldre el problema, el valor hash ha de començar amb tres zeros: “000”
- L’entrada varia cada número que troba una coincidència per a una “solució”
- Es necessiten 6.518 intents per trobar un valor que tingui “000” en els tres primers dígits.
Solució 1 ——— 088djldkh2h5h3kjhk24gd5h2h5h3kjhk24gd5kh2h5h
Solució 2 ——— 73485jfljroi5635h3kjhk24gd5we94ee356h2hkh2h5h
Solució 3 ——— d89sdf8sge9nxc894opl8qjroi5635h3kjhk24gd5we94
……
Solució 6517 ——— 088djldkh2h5h3kjhk24gdjroi5635h3kjhk24gd5we
Solució 6518 ——— 00088djldkh2h5h3kjhk24gdjhk24gd5h2hk24g4f4
Tenint en compte l’entrada de la “Solució 6518”, qualsevol miner podria verificar que això innegablement crea un hash amb tres zeros en els tres primers dígits. El primer miner que solucionaria aquest problema difondria la seva resposta a la xarxa i seria recompensat amb bitcoin. El bloc es consideraria verificat i s’afegiria a la cadena de blocs. Aquest trencaclosques és una representació del tipus de trencaclosques que hauria de resoldre un miner de Bitcoin i no un trencaclosques real.
Dificultat de confirmació
Un bloc de Bitcoin estàndard requereix milions de hash per resoldre el trencaclosques. A la cadena de blocs de Bitcoin, la complexitat del trencaclosques canvia cada 2.016 blocs per garantir que el temps mitjà de confirmació del bloc triga deu minuts. Per tant, és possible que el problema sigui més fàcil de resoldre si les confirmacions triguen constantment més de deu minuts. Tot i que, en general, els problemes esdevenen més difícils de resoldre, cosa que ha fet que sigui molt car i que requereixi molt temps per confirmar els blocs.
Inicialment, el bitcoin es podia extraure utilitzant xips informàtics de nivell consumidor. No obstant això, a causa d’aquest augment de la dificultat, la mineria de bitcoins actualment requereix un enorme poder de hash i la indústria utilitza xips de circuit integrat específics de l’aplicació (ASIC). Els ASIC es personalitzen específicament per a la mineria de bitcoins, en lloc de funcions d’ús general. Aquests xips també són increïblement cars, cosa que ha donat lloc a un selecte grup o grup de miners que dominen la major part de l’activitat minera de bitcoins..
Bloc a bloc
Un altre aspecte important és que cada bloc conté el hash resolt del bloc pare o anterior. Cada bloc nou requereix el hash del bloc pare, cosa que garanteix un ordre cronològic de blocs. Per exemple, el hash del bloc 30 és necessari per al bloc 31. El bloc 31 no pot existir fins que no s’hagi verificat i afegit el bloc 30 a la cadena de blocs. Això garanteix que cada bloc estigui connectat fins al primer bloc, que normalment es coneix com el “bloc de gènesi”. Per canviar qualsevol bloc, caldria canviar simultàniament tots els blocs anteriors. Finalment, cada bloc és immutable, cosa que significa que una vegada que es produeix una transacció no es pot revertir. Això garanteix a més que un cop afegits els blocs dins de la cadena de blocs no es puguin alterar.
Subministrament
El subministrament de Bitcoin està limitat a 21 milions de bitcoins, que es calcula que es produirà cap a l’any 2140. La quantitat de bitcoins recompensats als miners es redueix a la meitat cada 210.000 blocs. Per tant, la recompensa es continuarà dividint fins que es creï el vint-i-un milió de bitcoins, moment en què els miners només rebran comissions de transacció.
Per què els miners no enganyen?
Bitcoin està molt arrelat a la criptografia, informàtica, economia i diverses altres disciplines. Una d’aquestes disciplines passa a ser la teoria de jocs, que utilitza models matemàtics per predir com reaccionaran els jugadors racionals quan se’ls donin opcions o situacions individuals. Bitcoin utilitza conceptes de teoria de jocs per incentivar l’acció desitjada de miners i usuaris.
Blockchain explicat per Joe Lubin
Com es diferencia Ethereum de Bitcoin
Com funciona Ethereum Blockchain
La cadena de blocs d’Ethereum funciona de manera similar a la cadena de blocs de Bitcoin, però amb diverses diferències importants.
Comptes: adreces de cartera
Hi ha dos tipus de comptes Ethereum:
- Comptes de contracte
- Comptes de propietat externa (EOA)
Els comptes de propietat externa són similars a les adreces de Bitcoin i estan controlats per claus privades. Els comptes d’Ethereum també tenen adreces públiques i privades amb les quals els usuaris poden interactuar per transferir èter. Els comptes de contracte, que s’utilitzen per comunicar-se amb contractes intel·ligents, es controlen mitjançant el seu codi de contracte i s’activen mitjançant una EOA. Es requereix Ether per a totes les transaccions de la xarxa (comptes de contracte i EOA) per evitar atacs maliciosos, com ara correu brossa a la xarxa.
Transaccions
La xarxa Ethereum requereix que els usuaris paguin una tarifa de transacció quan utilitzen la cadena de blocs. Això protegeix la cadena de blocs d’Ethereum de tasques computacionals frívoles o malicioses, com ara els usuaris que envien correu brossa a la xarxa amb una sobrecàrrega de transaccions inútils. Com més complexa sigui la transacció (més línies de codi), més cares són les comissions. Aquests honoraris es paguen en èter (ETH) i s’anomenen “preu del gas”.
Xarxa Ethereum
Igual que Bitcoin, Ethereum utilitza nodes que s’executen voluntàriament per verificar les transaccions correctes a la cadena de blocs. Els nodes contenen informació com:
- tot l’historial de transaccions d’Ethereum
- la informació més recent sobre l’estat dels contractes intel·ligents
- els saldos de comptes
- i molt més
Hi ha dos tipus de nodes
- A node complet sincronitza la cadena de blocs descarregant tota la cadena, des del bloc de gènesi (primer bloc) fins al bloc actual.
- A node clar no descarrega tota la cadena, però encara pot verificar eficaçment les transaccions.
Els nodes no extrauen la cadena de blocs d’Ethereum. No obstant això, tots els miners solen executar un node complet per validar i retransmetre les transaccions Ethereum de manera efectiva. Com que els miners i els no miners executen la validació i el retransmissió mitjançant nodes operatius, tots participen en el procés de consens.
La màquina virtual Ethereum
La base d’aquestes aplicacions programables és l’Ethereum Virtual Machine (EVM), que és l’entorn executable i sense confiança per als contractes intel·ligents. L’EVM executa un contracte amb les regles que el desenvolupador va programar inicialment, com ara l’enviament de diners d’Alice a Bob. La xarxa està formada per milers d’ordinadors que processen l’execució dels programes. Per tant, cada node de la xarxa Ethereum realment executa EVM i, en conseqüència, cada node executa el mateix codi. L’EVM pot executar aquests programes mitjançant un llenguatge de codis byt. No obstant això, els desenvolupadors també poden utilitzar el llenguatge de programació Ethereum Solidity per escriure contractes intel·ligents i altres aplicacions més avançades.
Com funciona la mineria Ethereum?
Els miners d’Ethereum verificen les transaccions legítimes i creen un nou èter com a recompensa pel seu treball.
Es considera verificada una transacció una vegada que el miner resol un trencaclosques criptogràfic (matemàtic). De manera similar a Bitcoin, Ethereum utilitza un protocol de prova de treball (PoW), que té un objectiu ampli per evitar atacs cibernètics de qualsevol entitat o grup. Una diferència notable entre la mineria de Bitcoin i la mineria d’Ethereum és el temps de confirmació del bloc. Tot i que una confirmació del bloc Bitcoin requereix una mitjana de 10 minuts, es confirma un bloqueig Ethereum en uns 14 segons. I, igual que Bitcoin, l’algoritme ajusta automàticament la dificultat dels problemes criptogràfics de manera que el temps mitjà de bloqueig és de 14 segons.
Amb Bitcoin, els miners solen treballar per explotar el mateix bloc i, de vegades, aquests blocs es confirmen en moments molt similars, en aquest cas el primer és una recompensa i s’afegeix a la cadena existent, mentre que el segon bloc confirmat s’anomena “orfe”.
A Bitcoin, els blocs orfes són majoritàriament inútils i no formen part de la cadena principal. Ethereum funciona mitjançant un concepte similar anomenat protocol GHOST (Greedy Heaviest Observed Subtree), que significa essencialment que la cadena de blocs principal Ethereum és la cadena amb més càlcul (no necessàriament la més llarga).
El temps de bloqueig ràpid d’Ethereum resulta en un augment del nombre de blocs orfes, que es coneixen com a “tiets” a la cadena de blocs d’Ethereum. La principal diferència és que Ethereum incentiva els oncles miners i proporciona una recompensa, a diferència de Bitcoin, que només premia el primer bloc confirmat.
Els oncles miners ofereixen dos avantatges significatius
- Disminueix la centralització en incentivar els miners a minar blocs orfes, cosa que significa que no han de formar part d’una gran piscina minera perquè encara poden rebre una recompensa.
- Augmenta la seguretat de la cadena perquè tots els blocs, inclosos els oncles, han de seguir el mateix protocol de mineria, cosa que augmenta la quantitat de treball a la cadena principal (més pesada).
Prova d’estaca
Actualment, la xarxa Ethereum utilitza l’algorisme de prova de treball i passarà a utilitzar un algorisme de prova d’estaca anomenat Casper.
La prova de participació (PoS) és un algorisme de consens que requereix que cada miner tingui una participació en la moneda nativa, èter en aquest cas. Val a dir que no tots els protocols PoS són iguals, però són similars pel que fa al concepte bàsic. Els protocols de prova de treball (PoW), com ara Bitcoin, premien l’esforç de mineria (validacions) amb bitcoins individuals. L’algorisme de la prova d’estaca Casper és un contracte intel·ligent, en el qual els miners (ara anomenats “validadors”) han d’enviar un dipòsit o “participació” al contracte Casper. Els validadors o jugadors ara proposen i voten per torns al bloc següent, cadascun amb un vot per bloc. Els vots també es ponderen per l’import de la participació, de manera que un validador que participi en 100 ETH tindrà un vot més significatiu que un validador que participi en 40 ETH. Si aquests validadors produeixen alguna cosa que el protocol Casper considera invàlid, els validadors perden la seva participació, cosa que incentiva els validadors a seguir el consens.
Què és Èter?
Diguem que voleu comprar èter, la criptomoneda originària de la cadena de blocs Ethereum. La forma més senzilla de fer-ho seria establir un compte en un dels molts intercanvis de criptomonedes àmpliament utilitzats, com Coinbase o Kraken. Aquests intercanvis us permeten configurar una cartera Ethereum perquè pugueu comprar, vendre, enviar i rebre èter de qualsevol altra persona que també tingui una cartera blockchain que pugui enviar i rebre èter.
Quan compreu èter, la vostra transacció passa a formar part d’un bloc de la cadena de blocs d’Ethereum. Aquest bloc conté un registre de les transaccions Ethereum més recents que han tingut lloc a qualsevol part del món per part de qualsevol que executi el protocol Ethereum. També inclou un registre de hash criptogràfic (un algorisme matemàtic) del bloc validat més recentment a la cadena de blocs Ethereum.
Aquest bloc amb el registre de transaccions no passarà a formar part de la cadena de blocs d’Ethereum fins que un dels molts equips que executin la xarxa Ethereum resolgui o descobreixi el hash criptogràfic que coincideixi amb el hash únic lligat a aquest bloc. Aquest procés de resolució es coneix comunament com a “mineria”. Quan es resol o es descobreix el hash, el bloc amb el registre de transaccions s’afegeix instantàniament al final de la cadena de blocs que mantenen tots aquests equips i la transacció passa a formar part del registre permanent de la cadena de blocs d’Ethereum..
Val a dir que “èter” i “Ethereum” sovint s’utilitzen indistintament per referir-se a la criptomoneda que opera a la cadena de blocs Ethereum. Això no és tècnicament correcte, ja que èter és el terme per a la fitxa de criptomoneda que s’utilitza a la plataforma blockchain d’Ethereum. Si representéssim aquesta relació en termes de programari informàtic (que és), Ethereum seria el sistema operatiu i l’èter seria l’aplicació. En una analogia de programari no informàtic, Ethereum és comparable a un vehicle mentre que l’èter actua com el combustible que alimenta i permet que la màquina funcioni de manera eficient.
Obteniu més informació sobre la tecnologia blockchain
- Base de coneixement Què és Ethereum?
- Enterprise EthereumBlockchain casos d’ús i aplicacions per indústria
- Formació ConsenSys AcademyBlockchain i Ethereum per a principiants, desenvolupadors i empreses