Blockchain: ¿Qué es? ¿Cómo funciona?

in spanish •  7 years ago 

¿Qué es una Cadena de Bloques? ¿Cómo funciona? ¿Es segura?

¿Qué es una Blockchain?


fuente

Una cadena de bloques o cadena articulada, conocidas en inglés como blockchain, es una estructura de datos en la que la información contenida se agrupa en conjuntos (bloques) a los que se les añade metainformación relativa a otro bloque de la cadena anterior en una línea temporal, de manera que gracias a técnicas criptográficas la información contenida en un bloque sólo puede ser repudiada o editada modificando todos los bloques posteriores - Wikipedia

En 1991 Stuart Haber y W. Scott Stornetta describen lo que sería el primer trabajo criptográfico relacionado a una cadena de bloques, en 1992 Bayer, Haber y Stornetta agregan Árboles de Merkle para mejorar la eficiencia de la blockchain.
Recién en 2008 esta tecnología es usada con fines económicos. Satoshi Nakamoto crea/n Bitcoin, la primera y más conocida criptomoneda.

... es una estructura de datos en la que la información contenida se agrupa en conjuntos (bloques) ...

Toda las operaciones que se generan en una Blockchain (por ejemplo cuando se compra un libro con Bitcoin, cuando una persona le transfiere una criptomoneda a otra, cuando comentas un Post en Steemit, etc.) son procesadas, verificadas y agregadas a un Bloque, una vez que este bloque almacena una cantidad X de operaciones es agregado a la cadena de bloques por medio de un proceso conocido como minado.

Cada bloque contiene:

  • el detalle de la operación (Enviar $3 de A a B, Comentar X post de A, etc.)
  • la dirección del bloque anterior
  • su propia dirección a la cuál va a apuntar el bloque siguiente

Esta dirección es generada por una función llamada Hash, esta función toma un parámetro y devuelve un valor, este valor es único, nunca se repite, por lo que hace que la dirección del bloque sea única. (Podes probar la Función Hash acá, toda información que se agregue en Data genera un Hash diferente).

Para generar la dirección de un bloque se toma como párametro la información que contiene ese bloque y la direccion del bloque anterior:

    Bloque 1: 
        Información: Y operaciones
        Dirección propia: 1234
    Bloque 2: 
        Información: X operaciones
        Dirección Bloque anterior: 1234
        Dirección propia: 
            (X operaciones + 1234) --> función Hash --> 2578

El primer bloque es conocido como Bloque Génesis y la dirección anterior es definida manualmente.

... de manera que gracias a técnicas criptográficas la información contenida en un bloque sólo puede ser repudiada o editada modificando todos los bloques posteriores ...

Esto hace que la cadena de bloques sea segura y prácticamente imposible de modificar.
Tomando Bitcoin como ejemplo, si un hacker modifica un bloque para que los Bitcoins que le envías a tu amigo terminen llegando a su Monedero se produce un error en el momento de verificar ese bloque y el cambio que hizo el hacker es eliminado.


fuente

Cuando el hacker modifica la información del bloque el hash es regenerado (ya que es único) y cuando el bloque siguiente apunta al bloque hackeado se da cuenta que el hash es diferente al que el tiene que apuntar y se produce un error, por lo que el hacker tendría que modificar los bloques siguientes también.


fuente

Nodos

La validación de los bloques, los que verifican que no haya errores, que los hash no sean alterados, los que agregan bloques a la blockchain son llamados Nodos o Mineros, son personas que ejecutan un algoritmo (que difiere dependiendo la cadena de bloques) y son recompensados con la criptomoneda de la blockchain. Cuando un nodo agrega un bloque los demás nodos verifican que todo este correcto, que el hash sea el esperado, etc., si todos concuerdan con que ese bloque es válido se lo agrega a la cadena de bloques, de lo contrario se lo rechaza.


Las imágenes sin la fuente son screenshots hechos por mí.
@favcau

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Muy buen post favcau, creo que puede ser muy útil para la comunidad.

Este post ha sido propuesto para que lo vote Cervantes. Saludos.

Gracias! :)

Muchas gracias por la información, fue muy valiosa.