¿Qué son las cadenas de bloques? Pequeña premisa: nosotros tampoco conocíamos el tema, luego se convirtió en el tema de alguna de nuestras charlas. Porque son importantes, porque son precisos sobre todo. Y porque el auge de los últimos meses nos ha llevado a revalorizarlos por completo. Otra pequeña premisa: partimos de las criptomonedas, que se basan en este algoritmo muy sui generis.
Gracias a esta serie de números y palabras, la blockchain permite regular las redes entre pares de una forma nunca vista: forma una cadena de bloques que contienen eventos, pero al mismo tiempo pueden ser de cualquier tipo y no sólo transacciones. Por eso se hace importante destacar cómo el sistema blockchain tiene aplicaciones muy versátiles. Que van más allá de las criptomonedas.
La red peer-to-peer
Bien, empecemos con lo básico aquí también. Las redes peer-to-peer son diferentes de la típica Internet. En los tradicionales, el usuario se conecta a un servidor a través de un dispositivo: el servidor en cuestión toma la información y la envía al dispositivo. ¿Cómo? A través de la conexión. El usuario puede así navegar por la web, tomando y dando datos. Los servicios de mensajería son un ejemplo rotundo y fácilmente comprensible de ello. Por eso existe el doble tick: ambos dispositivos deben estar conectados a Internet para que el mensaje llegue.
En cambio, la red peer-to-peer es una red que conecta dispositivos entre sí: no pasa por un servidor, es directa. Por eso no tiene una entidad que controle materialmente la red, por eso no tiene un único punto de fallo. No depende de nadie.
¿Para qué sirve la blockchain y qué es?
Pero, ¿cuál es el objetivo de la cadena de bloques? Pongamos el caso de una red PTP: es necesario que exista una regulación subyacente para que los dispositivos puedan ser utilizados. En las redes con un servidor central, es el mismo servidor el que determina el cifrado de los mensajes enviados y recibidos. También determina el flujo cronológico de los mensajes y los transmite según ciertos criterios. Eso es todo: en un sistema PTP, ese es el trabajo de la blockchain. Que es simplemente una cadena de bloques, dentro de la cual se pueden encontrar datos organizados para una determinada criptografía. El envío de dinero o la recepción de documentos son procesos encriptados: es decir, comunicados a todos los dispositivos de la red. Los dispositivos también están organizados en orden cronológico y sistemático. Formando, de hecho, un bloque.
Una vez construido este bloque, hay que respetar las reglas matemáticas: de lo contrario, descubrirás por ti mismo que el servidor ha sido manipulado, con un gran robo de datos. Si el bloque respeta estas reglas internas, se añade a la cadena.
¿Por qué no los servidores centrales? Hay que tener «confianza» en el PTP. No siempre hay que contar con la supervisión de un tercero. La cadena de bloques, en este sentido, elimina inmediatamente esta necesidad de confianza: lo cual es normal, seamos claros. Pero, ¿qué puede ser más tranquilizador que un algoritmo matemático? Tan justo, tan numérico, tan perfecto. Los protocolos eliminan todos los problemas asociados a la era digital, desde el monopolio de los grandes datos hasta el propio miedo de los consumidores en los mercados digitales.
Ejemplo práctico para entender la Blockchain
Esperando que todo quede claro, también le debemos un ejemplo: para la interfaz con el sistema blockchain nos ayuda Vitalik Buterin, fundador de Ethereum. La blockchain no se entiende -explica-, pero en el mismo momento en que lo uses, ya te habrá cambiado la vida. En la práctica, es un sistema informático que está hecho para ayudar. Sólo ayuda.
Primer paso: instalar un cliente
Ahora vamos a instalar un cliente juntos. Y estos son los pasos básicos:
- Utilicemos el bitcoin como ejemplo. Primer paso: consigamos un cliente. ¿Qué es? Es el programa necesario para entrar en la red peer-to-peer, en la que circula la criptomoneda. El cliente utilizado es Bitcoin Core: muy fiable y utilizado en todos los sistemas operativos.
- Descargado el cliente, vamos a instalarlo en el dispositivo que prefiramos. Entonces se conectará automáticamente a la red Bitcoin. Significa, en definitiva, que siempre tendremos una copia constante de la blockchain, con las transacciones realizadas hasta un momento determinado.
- Dentro de la blockchain encontraremos diferentes resultados: todos anónimos, por supuesto. También esto gracias al protocolo, que en la información tiene la referencia del monedero del emisor, el del receptor y la cantidad de Bitcoin transferida. Además, cada monedero tiene un código alfanumérico que no se puede rastrear. Ergo: no es posible saber con precisión a qué se refiere quién.
Cada nuevo bloque se forma una vez que se ha adquirido el tamaño de los datos que contiene: no hay límite de tiempo ni de cantidad en las transacciones. En el caso de Bitcoin, un bloque puede requerir 1MB de datos para ser añadido a la cadena y, por tanto, ser válido. Sin embargo, para la creación de un bloque entero se necesitan dos mil transacciones. Tiempo medio: 10 minutos.
La cadena de bloques también se puede programar, incluso con diferentes parámetros. Al fin y al cabo, en este caso estamos hablando de protocolos diferentes: Litecoin es un ejemplo, y tiene la intención de aumentar el tamaño de cada bloque para hacer más accesible todo el sistema.
Segundo paso: abrir un monedero y comprar bitcoin
Pero procedamos en orden. ¿Cuál es el siguiente paso? Abrir un monedero y comprar bitcoin. Por fin lo hemos conseguido: pero para poder operar en un sistema de cadena de bloques, es necesario que haya datos almacenados en los bloques. Es decir, transacciones. Eso es todo: para tener los Bitcoins para operar en el sistema hay entonces la necesidad de la Cartera, dentro de la cual se almacenará la moneda virtual.
¿Qué tipo de carteras hay? Varias, empecemos con estas:
- Algunos de ellas están online, accesibles desde la PC y con Bitcoins puestos en el servidor por un servicio externo. Este tipo de plataformas ofrecen la posibilidad de almacenar criptodivisas fuera de línea en almacenes llamados deep cold wallets. Suele ser un «almacén» gratuito, además de seguro y protegido de los ciberataques.
- Hay otra forma de hacerlo: una vez que compras la moneda, la almacenas en un monedero externo y la envías sin conexión (pero conectable a tu pc en el momento de la transacción).
Finalmente, estamos preparados para comprar bitcoins. Sí, pero ¿cómo? Existen múltiples intercambios preparados para cambiar moneda fiduciaria en criptodivisa.
Tercer paso: operar en la cadena de bloques
Una vez completados los dos primeros pasos, podemos empezar a operar en elblockchain: siempre que la criptomoneda esté dentro de nuestro monedero, el cliente esté instalado y formemos parte de la red. Todo listo entonces: empecemos con nuestra primera transacción.
El envío de Bitcoin a otro monedero requiere un paso más: la transacción genera un código automático que se traduce en crédito en el monedero de la persona que recibe el pago. El código del movimiento se comunica entonces a todos los nodos que forman parte de la red. Nuestro ordenador incluía.
La transacción se organizará entonces con las demás: formará el bloque de un mínimo de 1MB necesario para que sea válida. El algoritmo se verificará y, si no hay problemas subyacentes, se añadirá a la cadena de bloques.
Como la cadena de bloques se verifica, aquí está la verdadera trampa. No porque sea problemático, sino porque sigue siendo algo profundamente técnico: todo se resuelve por intuición. Los bloques se han formado, pero en su interior tienen una firma digital que equivale a un número determinado. Este número varía indefinidamente, y modifica la parte de los datos que contiene, haciendo que el algoritmo sea infalible.
El código formado debe ser correcto: en este punto, una expresión matemática partirá del código del bloque anterior, modificando una transacción pasada y luego cambiando el código del bloque en el que está presente. Los siguientes bloques no tienen que cumplir el algoritmo: simplemente porque no pueden. Y no se añadirán correctamente a la cadena de bloques.
Para aclarar: los bloques formados ya no pueden ser modificados, de lo contrario afectarían (de forma negativa) a todo el sistema. Por eso la transacción forma parte de una blockchain ya formada, por lo tanto bien ejecutada.
El fenómeno de la minería y su relación con la blockchain
Esto lleva al fenómeno de la minería. Presta atención, porque hace falta imaginación: es una enorme red de nodos conectados entre sí. Envían información para ser organizada y ordenan los bloques rápidamente, siguiendo complejos esquemas de verificación matemática. Un sistema así necesita mucha potencia de cálculo. Y este poder se utiliza para recoger todas las transacciones y ponerlas en orden cronológico, creando finalmente un bloque válido.
Luego llegamos a los mineros: las unidades que practican la minería, los elementos que aseguran el perfecto funcionamiento de la red. Su poder se utiliza para combinar las transacciones y formar los bloques correctos: una vez formado el bloque, obtienen una recompensa. Como el azúcar para los caballos.
Prueba de trabajo y prueba de participación: los dos tipos de blockchain
Hay que añadir que existen principalmente dos tipos de blockchain. Primero, el proof-of-work, Bitcoin lo es; luego los sistemas proof-of-stake, un ejemplo de ello es Ethereum. ¿Diferencias? Muy importante, cambian radicalmente la forma de concebir la propia blockchain. En este diagrama le diremos por qué:
- Proof-of-work – Punto fundamental: la potencia de cálculo. Hay bloques difíciles de formar, que requieren intentos de combinaciones matemáticas. Lo que hacen los mineros: compiten entre sí para llegar primero al siguiente bloque, simplemente probando múltiples conjuntos de números. El problema es que no pueden hacerlo solos debido a la falta de potencia de cálculo: por ello, los mineros de pruebas de trabajo se reúnen en pequeños grupos llamados pools de minería. En un pool, las recompensas se reparten entre los que prestan sus energías. Trabajo en equipo.
¿Cómo se asignan las recompensas? Automáticamente. Por cada bloque resuelto, se emite una recompensa consistente en una nueva criptomoneda. Con el Bitcoin, el total de emisiones asciende a 21 millones.
- Proof-of-stake- Mucho más fácil de usar: tiene muchas ventajas en términos de escalabilidad y comodidad. Di adiós a la potencia de cálculo exagerada o a las facturas ultra caras, el proof-of-skate garantiza un minero nuevo y diferente: uno que tiene la capacidad de resolver la blockchain en parámetros precisos. En resumen: los nodos que dirigen toda la economía son sólo unos pocos, y a ellos se refieren las transacciones o la tenencia de grandes cantidades de criptodivisas. Se trata de la confianza. La confianza está bien depositada. La minería de Ethereum también sólo necesita un pc normal con 8 gb de RAM: lo siento sólo por los bloques, no por las recompensas. Sólo tiene unos pocos costes de transacción asignados entonces al minero.
La blockchain no es perfecta
Seamos claros: la cadena de bloques puede fallar. O al menos puede hacerlo en un sistema de prueba de trabajo, que a estas alturas es cada vez menos conveniente. Sí, porque las pruebas de trabajo están «habitadas» por mineros que compiten por ellas. Tal vez dos puedan resolver el mismo bloque en unos segundos y entonces se añaden a la cadena de bloques: el sistema aquí es falible. No sólo eso: también provoca una bifurcación de la cadena de bloques. De uno, de hecho, parten dos diferentes.
En este caso, la inteligencia de los bloques seguirá intentando imponerse: los protocolos posteriores verificarán uno u otro paquete adicional. La que forme la cadena más larga será finalmente declarada válida, la otra simplemente eliminada de la blockchain.
Ah, estos últimos se denominan «huérfanos», y es mejor mantenerse alejado de ellos: una vez que el bloque se elimina y se convierte en «huérfano», las transacciones no volverán a añadirse a la blockchain. En un sistema de prueba de trabajo, cada bloque tiene su propio minero: nunca existe la posibilidad de que dos mineros resuelvan el mismo bloque en estrecha proximidad. De hecho: nunca lo harán.
Los contratos inteligentes, la aplicación fundamental del blockchain
Superada esta etapa, es hora de hablar de lo bueno: los contratos inteligentes, la aplicación fundamental del blockchain. Partamos de la base de que blockchain permite diversificar un trabajo que va más allá del intercambio de criptomonedas. De hecho, con Ethereum se empezó a hablar de contratos inteligentes: son contratos vinculantes que pueden ejecutarse por sí mismos. ¿Qué? Has acertado: como un pequeño activo que se gestiona solo. Obviamente a través de un sistema de blockchain.
Vayamos con ejemplos: tienes un alojamiento en AirBnB, por lo que tu intención es alquilarlo a un tercero. El sistema blockchain se encarga de que quien entre en la casa reciba la llave y de que llegue la transferencia con el pago regular. El contrato inteligente asociará códigos para cada acción y regulará todo. No es una cuestión de confianza, sino de matemáticas.
Otras pequeñas historias para conocer: hay algunos ejemplos de blockchain que lo hacen más cercano a nosotros, más ‘humano’. O casi. De hecho, ¿sabías que con este mecanismo es posible reescribir todo lo que está regulado por una autoridad central? Todo ello siempre que un algoritmo lo regule. Podrás prestar dinero a través de un contrato inteligente: una especie de seguro contra el fraude. Completa con una nube sin entidad intermedia.
Blockchain es el futuro. Y si estuviera en TripAdvisor, no tendría críticas negativas: ejemplo extremo, pero seguro que nos entendemos. Dile adiós a tu notario: ahorra dinero y apuesta por la blockchain. El futuro es ahora.