Introducción a Blockchain: ¿Qué es y cómo funciona? (Guía)

Guía de Blockchain para principiantes

Bitcoin para novatos, bitcoin para principiantes

Índice

 

¿Qué es blockchain?

1. Analogía

2. Definición

 

¿Para qué sirve la blockchain?

 

¿Cuales son sus caracterísitcas?

 

1. Pública

2. Descentralizada

3. Inmutable

4. Inhackeable

 

¿Qué es un nodo? 

 

¿Cómo se agrega un bloque a la cadena?

 

Proof of work (PoW)

 

Proof of stake (PoS)

 

Distintos tipos de blockchain

 

¿Cómo funciona la blockchain? 

 

¿Cómo se almacena la información?

 

¿Qué es una función hash?

 

¿Por qué es inmutable la blockchain?

 

Billeteras: llaves públicas y privadas

 

Firmas digitales: ¿qué son y para qué sirven?

 

Proceso de una firma digital

 

Como funciona una firma digital

 

 

¿Qué es Blockchain?

 

Para comenzar, vamos a hacer una analogía.

 

Imaginá que te vas de vacaciones con un grupo de amigos y cada uno hace distintos gastos, aunque compartidos (uno compra la comida, otro paga el alquiler del departamento, etc). En lugar de anotar las transacciones en una sola lista (una base de datos centralizada), cada uno anota todos los gastos de todos en su propia hoja de papel.

 

Entonces, cuando uno hace una compra, los otros validan el gasto y cada uno lo anota en su hoja de papel. Si alguien quisiera hacer trampa y modificar un gasto, debería cambiar los papeles de todos.

 

Esos papeles en pocas palabras representan la Blockchain. La blockchain es un registro, aunque distribuido. En lugar de anotar las transacciones en un solo lugar de forma centralizada, se anotan los mismos datos en miles de distintos “nodos" repartidos alrededor del mundo, representados en las hojas de cada amigo.

 

Entonces… ¿qué es Blockchain?

 

Es una tecnología criptográfica de registro distribuido que permite almacenar bloques de información, de forma transparente, inmutable y descentralizada. Se llama blockchain o “cadena de bloques”, porque la información se almacena de esa manera, en bloques de datos que se encadenan unos con otros.

 

 

¿Para que sirve la Blockchain?

 

El primer uso de la blockchain nace con Bitcoin. Esta tecnología es la que permite registrar -como lo hace un libro contable- las transacciones de Bitcoin entre sus usuarios de manera cronológica.

 

Luego fueron surgiendo más usos a medida que Bitcoin y otras criptomonedas fue creciendo. De esta manera, surgieron nuevas blockchains, y distintas aplicaciones en distintos ámbitos, desde las criptomonedas y las inversiones, hasta el arte, la política, la logística, el ámbito jurídico, entre otros. 

 

 

¿Qué características tiene blockchain que la hacen tan especial?

 

Pública

 

Esta gran “base de datos” digital es pública. Es decir que todo el que quiera, puede ingresar a visualizarla, verificar los datos y las transacciones. La forma más fácil de acceder a ella es a través de un explorador de bloques.

 

Descentralizada

 

La gran mayoría de las empresas, gobiernos e industrias trabajan con bases de datos centralizadas y privadas. Eso implica tener que depender siempre de un tercero de confianza o un intermediario que, volviendo al ejemplo inicial, tiene el registro de todo en “su hoja de papel”, o sea en su propia bases de datos.

 

  • Pensemos en los bancos: los datos que indican que tenés 1000 pesos en tu cuenta bancaria los custodia el banco en sus servidores, no podemos confirmarlos ni validarlos, únicamente visualizar lo que ellos nos muestran. 
  • Pensemos en las redes sociales: los perfiles, el contenido, toda esa informacíón, está almacenada en los servidores de la empresa, y los usuarios únicamente la pueden verificar o consultar, en la medida que Instagram, Facebook o Twitter no los censure. 

 

Estas instituciones tienen control de esos datos y operan de manera centralizada. Por el contrario, la blockchain es descentralizada. Significa que la información de sus registros está distribuida entre los miles de nodos que conforman la red. Es decir, cada participante de la red aloja una copia exacta de todos los datos que allí se encuentran. 

 

Si alguien quisiera manipular un dato, debería hacerlo en más de la mitad de los ordenadores, ya que en la blockchain, se necesita consenso. A esto se lo conoce como el ataque de la mayoría, o del 51%, una definición que vas a poder encontrar en nuestro manual para principiantes de ¿Qué es Bitcoin?

 

 

¿Y quiénes son esos “participantes” o “nodos” que almacenan los datos de la blockchain?

 

Dentro de la blockchain de la Red de Bitcoin tenemos a los mineros. Los mineros son quienes verifican y “anotan” las transacciones de bitcoins en la blockchain. Las personas y empresas que se dedican a la minería invertien en hardware especializado y energía eléctrica. Este hardware resuelve problemas criptográficos complejos para verificar las transacciones. A cambio, los mineros reciben la comisión de las transacciones y además nuevos Bitcoins que emite la red.

 

Cada minero, es un nodo. 

 

Si querés profundizar en esta práctica, te invitamos a leer nuestra guía de minería.

 

 

red descentralizada vs red centralizada bitgalea

 

 

Inmutable e inhackeable

 

Imaginá un archivo excel o un Google Sheets gigante en el que una vez que se agrega información en una celda, esta se comparte con todos los demás y no puede se puede borrar o modificar. O, volviendo a la analogía de las vacaciones entre amigos, imaginá que la tinta con la que escriben los gastos compartidos en sus hojas es indeleble. 

 

Esta “tinta” indeleble que usan, representa en la blockchain a la criptografía. Todos los mensajes allí dentro están cifrados para asegurar su autenticidad y proteger los datos. En cada bloque de la cadena se registran las transacciones de manera cronológica. Cada vez que se produce una operación debe ser aprobada por la mayoría de los nodos de la red.

 

Los nodos de la red son las computadoras de los mineros que tienen una copia actualizada de la Blockchain y verifican la validez de cada intercambio. Más adelante te explicamos cómo, a través de la criptografía, se logra esta condición de inmutabilidad y por consecuencia seguridad extrema.

 

 

¿Cómo se agregan los bloques a la cadena?

 

¿Entonces cuando hago transacciones entre criptomonedas necesito saber de criptografía o anotar cosas en la blockchain? ¡No! Como te comentamos esta tarea la hacen los mineros gracias a un algoritmo llamado Proof of Work (PoW) o Prueba de Trabajo. Otras blockchains, usan un sistema alternativo llamado Proof of Stake (PoS). A continuación, te explicamos los dos:



Proof of Work (PoW o Prueba de Trabajo):

 

Es el algoritmo usado por Bitcoin y otras monedas como Litecoin, Bitcoin Cash y Monero. 

 

En las blockchains que usan la Prueba de Trabajo, los mineros son quienes agregan bloques a la cadena. Ellos disponen de un hardware especializado e invierten poder computacional y energía para validar las transacciones que se hacen en la blockchain.

 

La Prueba de Trabajo consiste en un algoritmo en el que los mineros compiten entre sí para poder agregar nuevos bloques a la blockchain, y para hacerlo deben resolver problemas criptográficos, como “acertijos” (no, no los resuelven ellos, sino sus computadoras).

Los mineros invierten poder computacional y energía para resolver el acertijo antes que el resto, ya que el primero en resolverlo, podrá agregar el siguiente bloque a la cadena, llevándose nuevos bitcoins y además, las comisiones que pagaron los usuarios que hicieron las transacciones de ese bloque.

 

Mientras más “trabajo” o poder computacional invierta un minero, más chances tiene de resolver el problema antes que el resto y recibir la recompensa. Cualquiera con un hardware especializado y conexión a internet puede convertirse en minero.

 

El propósito de este algoritmo es evitar que algún ente centralizado consiga suficiente poder como para manipular la red a su beneficio, ya que para lograrlo necesitaría una cantidad exorbitante de computadoras trabajando al mismo tiempo. De esta manera bitcoin logra ser una red descentralizada, que es una de sus características más importantes.

 

Para saber más sobre la minería de bitcoin mira nuestra guía de minería.



 

Proof of Stake (PoS o Prueba de Participación):

 

Es un sistema utilizado por monedas más modernas como Cardano, Binance Coin o Polkadot. Este algoritmo también busca la descentralización, pero elimina la competencia entre mineros. 

 

En este caso se reemplazan a los mineros por validadores. Para ser un validador, debemos tener una determinada cantidad de monedas y “bloquearlas” a favor de la red y aguardar a ser elegidos como validadores.

 

Mientras más monedas bloqueadas mayor es la probabilidad de ser elegido para validar el próximo bloque. Si un validador actúa de manera deshonesta validando un bloque incorrecto o con mala fe, va a perder esas monedas que tenía bloqueadas. Igual que en PoW, por cada bloque validado ganamos una recompensa. Entonces en PoS no es la previa inversión de trabajo la que motiva a los participantes a comportarse de manera honesta, sino el miedo de perder su capital.

 

Ethereum, la segunda criptomoneda más grande del mercado, está transicionando de un algoritmo PoW hacia PoS en un proceso llamado Ethereum 2.0. Si queres saber más sobre esto mira esta publicación en nuestro blog.

 

 

Tipos de blockchain

 

Hay distintos tipos de blockchains con distintas características, ninguna es mejor que otra sino que cada una tiene un uso diferente.

 

Tipos de blockchain, Bitgalea

 

 

Vale la pena aclarar que el único tipo de blockchain que necesita de un algoritmo de consenso como PoW o PoS para funcionar son las blockchains abiertas públicas. Las características de descentralización, inmutabilidad y seguridad absoluta son exclusivas de este grupo.

 

 

¿Cómo funciona la blockchain?

 

 

 

 

 

¿Cómo se almacena allí la información?

 

La información que contiene las transacciones se agrupa y se almacena en bloques.

 

Estos bloques forman una cadena al estar conectados entre sí gracias a una función hash. La función hash que usa Bitcoin se llama SHA-256.

 

Imaginá a la función hash como la cadena de hierro que une a los distintos bloques. Ahora te vamos a explicar que es una función hash y como se usa para unir los bloques. 

 

 

¿Qué es una función hash?

 

Una función hash criptográfica es un algoritmo que funciona como una especie de traductor. Tiene ciertas propiedades que sirven para cifrar los datos, o sea, protegerlos.

 

Cuando este algoritmo recibe cualquier tipo de dato, es decir, una entrada, los traduce a un código criptográfico. Este código es una mezcla de números y letras que tiene un tamaño fijo. Nosotros le podemos entregar un número, una oración o un libro entero y nos va a devolver diferentes códigos criptográficos, pero con el mismo tamaño. Este código alfanumérico se llama hash.

 

Si una sola parte, aunque sea un solo punto del mensaje original cambia, el hash también lo hace de forma radical.

 

Esto funciona para verificar que, en efecto, se trata de ese mensaje (o transacción) en particular y que no fue modificado antes de su entrega. 

 

Una aplicación muy común de las funciones hash es chequear la veracidad de un programa o archivo luego de descargarlo. Por ejemplo, si queremos bajar el código de bitcoin, también nos van a ofrecer un archivo con el código hash del programa. Entonces, luego de descargarlo, lo pasamos por la función SHA-256 y obtenemos nuestro propio hash. Si este es igual al hash que nos dieron nos podemos asegurar que la versión que descargamos es la original y no fue manipulada por nadie.

 

 

¿Cómo hace la función hash para unir los bloques de la blockchain?

 

Cada bloque cuando es cerrado se pasa por una función hash, la cual se le agrega al bloque siguiente. Esto es lo que hace que estén todos los bloques conectados. 

 

 

 

 

¿Por qué es inmutable la blockchain?

 

Supongamos que yo quiero modificar los datos de una transacción en la blockchain y ponerme como destinatario de esa transacción. Si cambio algún dato de un bloque, el hash de ese mismo va a cambiar, y va a dejar de ser un hash válido. Entonces si cambio un dato de un bloque tengo que volver a realizar la prueba de trabajo para encontrar ese hash, gastando tiempo y energía en el proceso. Sin embargo, cuando cambie el hash de mi bloque se va a cambiar el del próximo,y del otro y del otro. Eso significa que tendría que gastar energía para encontrar un hash válido para todos los bloques que le siguen en la cadena. Este es un trabajo que requiere una cantidad enorme de recursos, por lo cual es económicamente inviable.

 

 

Billeteras: llaves públicas y llaves privadas

 

La blockchain y las transacciones de criptomonedas funcionan gracias a la criptografía asimétrica. ¿La qué? Suena un poco complicado, pero entenderlo es más simple de lo que parece.

 

Nuestro acceso a las criptomonedas es a través de las billeteras o monederos virtuales, más conocidos como wallets. Cuando nosotros creamos una wallet, este sistema de criptografía asimétrica, nos crea dos llaves: una pública y otra privada. Estas “llaves” son códigos compuestos por números y letras.

 

Podemos pensar a la llave pública como el CBU, es decir, la dirección alfanumérica que es pública y la compartimos para recibir criptomonedas de otros usuarios.

 

La llave privada, sería el equivalente a la contraseña que tenemos para disponer de esos fondos. Como este código es largo y complicado para anotar y recordar, las aplicaciones de wallets suelen darnos una seed phrase o frase semilla, que es una clave de 12 a 24 palabras que representa nuestra llave privada.

 

 

Firmas digitales

 

¿Para qué sirven las firmas digitales?

 

Sirven para validar la identidad del dueño de una wallet y la autenticidad de los datos de una transacción. A través de un mecanismo que vamos a explicar más adelante, las firmas digitales le sirven a la red para comprobar que la persona que está tratando de mover bitcoins es el dueño de ellos sin revelar sus llaves privadas.

 

Como usuarios, no nos enteramos de estos procesos, pero entenderlos nos ayuda a confiar en la seguridad de esta tecnología.

 

¿Qué son las firmas digitales?

 

Son la combinación del hash de los datos de la transacción y las llaves privadas de la billetera que env los bitcoins. 

 

 

 

 

Proceso de una firma digital 

 

Ahora que sabemos qué es una firma digital vamos a explicar qué papel juegan estas en las transacciones de bitcoin. Vale la pena reiterar que este es un ejemplo simplificado y que desde el punto de vista del usuario de bitcoin no tenemos que saber nada de esto para hacer una transacción, de ello se encarga el código de Bitcoin.

 

Funcionamiento de las firmas digitales:

 

 

  • Fran le quiere transferir 1 BTC a Ana

 

  • Fran le pide la llave pública a Ana, y en su billetera elige la cantidad de bitcoins que quiere enviar y pega la dirección pública de Ana.

 

  • El código de Bitcoin toma los datos de la transacción y los pasa por la función SHA-256 obteniendo un código. Ese código se combina o se “firma” con las llaves privadas de Fran para obtener la firma digital de la transacción.

 

  • Se le envían a Ana 3 cosas:
  1. La llave pública de Fran
  2. El hash con los datos de la transacción 
  3. La firma digital de Fran

 

  • El código de Bitcoin por parte de Ana puede, con la llave pública de Fran, descifrar su firma digital y descubrir el hash con los datos de la transacción. Luego compara ese hash con el que le mandó Fran. Si coinciden se valida la transacción ya que podemos estar seguros que la firma digital de Fran era correcta y de que la información no fue alterada. El hecho de que los hash no coincidan puede indicar que las llaves privadas de Fran no eran válidas (es decir que él no es el propietario de esa billetera) o que algún dato de la transacción fue manipulado por un tercero. 

 

 

 

 

¡Esperamos que la guía te haya servido! ¡Muchas gracias por aprender con nosotros! 

Seguí aprendiendo visitando nuestras guías de bitcoin para novatos, principiantes, y todo aquel que quiera entender de una manera didáctica y simple blockchain y criptomonedas.

 

   

 

www.bitgalea.com