Blockchain es una tecnología que permite crear modelos centralizados (controlados por una únicamente empresa o grupo de empresas) o descentralizados. Aquí asumiremos siempre que estamos tratando sobre modelos descentralizados. Son los conocidos como "permisionless". Es decir, se pueden utilizar sin permiso de nadie. O lo que es lo mismo, cualquiera puede registrar transacciones y validar transacciones en su blockchain. ¿Cool, verdad?
Ponerse de acuerdo en una red de blockchain es lo que conocemos como "mecanismo de consenso". Hay varios tipos de mecanismos tipos de consenso, te explicamos algunos aquí. Es recomendable estudiárselos para quedar bien en las cenas de navidad o de empresa. Ahora te explicamos los conceptos generales de un mecanismo de consenso.
Todo mecanismo de consenso tiene los siguientes elementos / actores (actor = persona o figura que realiza una acción):
Es el encargado de generar transacciones. Sus transacciones se registran en un bloque.
Es el encargado de mantener una copia de toda la información de la cadena de bloques. Cada bloque nuevo que se genera (recuerda que se genera cada cierto tiempo, en función de la blockchain), contenga o no transacciones (sí, puede generarse un bloque vacío pero igualmente debe guardarse el mismo para mantener la integridad de la cadena), debe almacenarse y guardarse
Cualquier persona o empresa puede ejercer de nodo en una red de blockchain "permisionless". Simplemente tiene que descargarse el histórico de bloques de la red generados hasta ese momento, sincronizar su nodo con la red para ir incluyendo los nuevos bloques generados, ¡Y listo!
Ya podrás intuir que cuantos más nodos, más segura es la red porque más copias existen del histórico de información. Por tanto, más difícil corromper la información. Para poner un ejemplo sencillo, si una red tiene 20.000 Nodos con la copia histórica de la cadena, haría falta corromper, a la vez, por lo menos a 10.001 usuarios / empresas que tengan un nodo. Por contra, si una red tiene 10 nodos, bastaría con corromper a 6 de ellos para modificar la base de datos histórica.
Es el encargado de firmar bloques e incorporar bloques a la cadena. Cualquiera puede ser Validador de una blockchain permisionless (la barrera de entrada suele ser conocimiento y económica).
Igual que sucede con la figura del Nodo, cuantos más Validadores en una red, mejor. Es cierto que hay redes que limitan el número de participantes para realizar este trabajo pero, para quedarnos con la idea, supongamos que "cuantos más mejor" es una tesis válida aquí.
Supongamos que tenemos 1.000 Validadores que se dedican a incorporar bloques y a formar bloques. Y supongamos también que nuestra blockchain, genera un bloque cada 10 segundos. Esto implica que cada 10 segundos, uno de los 1.000 validadores va a crear un bloque (con o sin transacciones) y lo va a incorporar a la cadena de bloques. ¿Qué tendrán que hacer el resto de validadores? Firmar conforme están de acuerdo en que el bloque incorporado es válido.
Es decir, que por cada bloque incluido en la cadena cada 10 segundos, 1 Validador incluye el bloque y 999 certifican (firman) que ese bloque es correcto.
¡No te asustes, el bloque no lo crean a mano! Cada blockchain utiliza un software (programa) que es idéntico para todos los validadores, que se encarga de hacer ese trabajo. El Validador se ocupa realmente de estar siempre on-line firmando y generando bloques. En nuestro ejemplo, si la mitad de los Validadores apagan su programa, la red dejaría de ser segura (es un supuesto sencillo, ¡Veremos que es mucho más complejo!).
Los validadores, como no puede ser de otra manera, cobran por hacer este trabajo de validación de la red. Al fin y al cabo, son el motor de la red que validan ya que sin ello, no sería un entorno seguro. Suelen cobrar en forma de Tokens de la propia red. En el siguiente capítulo entramos en esto de los Tokens.
Si ponemos todas las piezas juntas, tenemos que...
Una cadena de bloques alamcena información de forma descentralizada y validada por diferentes usuarios. Cualquiera que quiera realizar transacciones (recuerda: enviar o recibir tokens o SmartContracts) puede hacerlo, siendo la misma inalterable (cualquier cambio en un bloque cambia el "pegamento" de la red), transparente (cualquiera puede consultar las transacciones de la red) y segura (hace falta corromper a demasiadas personas a la vez para lograr hacerlo).