Blockchain: ¿Cómo funciona?
¿Cómo funciona la tecnología Blockchain? Una sencilla explicación que nace de una increíble historia 😮
¡Hola!
Bienvenido a Why Bitcoin?
Aquí encontrarás todo lo que necesitas saber sobre Bitcoin, descubrirás su verdadero potencial, y podrás finalmente aprovecharlo para aumentar tu patrimonio, proteger tu libertad, y mejorar tu plan de jubilación 💰
Mi nombre es José Manuel Ochoa, y aquí te dejo una breve descripción de mi blog:
Este blog es además una newsletter, por lo que te llegarán las nuevas publicaciones directamente a tu bandeja de entrada. Es muy cómodo y solo tienes que suscribirte:
En el artículo anterior te contaba qué es Blockchain y para qué sirve, y te explicaba como esta tecnología puede solucionar el problema de la centralización del dinero, de las empresas y de los estados. Te recomiendo que lo leas ahora si aún no lo has hecho:
Blockchain: ¿Qué es y para qué sirve?
En este artículo te voy a explicar cómo funciona esta tecnología denominada Blockchain, y para que lo entiendas de una forma sencilla y definitiva, te voy a contar una historia acerca de un grupo de amigos que descubrió las ventajas de la descentralización, ¡incluso antes de que existiera esta tecnología! 😮
¡Vamos a por ello!
La increíble historia de Justo, Judas y Jilin
Esta es la historia de un grupo de amigos que viajaban siempre juntos por vacaciones, y en cada uno de sus viajes tenían que ir pagando una serie de gastos. En muchas ocasiones tenían que hacer un pago único por algún gasto conjunto que afectaba a todo el grupo, como podía ser la reserva del hotel, las actividades en grupo, o la cuenta de los restaurantes 🛌✨🍽
Para cada uno de estos gastos se iban turnando a la hora de pagar, y al terminar el viaje, arreglaban las cuentas para que ninguno de ellos pagase de más o de menos 💷
En aquella época (finales del siglo XX), aún no existían los smartphones ni las apps, por lo que para apuntar todos los gastos utilizaban un único archivador con varias hojas, una para cada viaje. Este archivador les permitía calcular al final de cada viaje quién debía a quién y cuánto. También les servía para consultar los gastos y las deudas de viajes anteriores, ya que el archivador tenía una hoja por cada viaje, y en cada una de esas hojas estaban apuntados todos los pagos de ese viaje 📓
Decidieron que el más responsable del grupo, Justo, sería el encargado de apuntar todos los gastos y de hacer todas las cuentas al final de cada viaje. Justo le decía al resto del grupo quien debía a quien y cuánto, y todos se fiaban de él porque era un chico justo y honesto. Justo se encargaba también de archivar todas las hojas y guardar el archivador en su casa 🏠
Todo fue genial durante los primeros viajes, y nadie se preocupaba demasiado por las cuentas porque Justo se encargaba de todo, pero durante uno de los viajes, uno de los amigos se dio cuenta de que había un error en uno de los gastos: Justo se había equivocado al apuntarlo ❌
“No pasa nada” pensaron, “un fallo lo tiene cualquiera”, pero cuando repasaron el resto de las cuentas se dieron cuenta de que había más errores, y no solo en las cuentas de ese viaje... ¡En todas las cuentas de todos los viajes! 🤦♂️
Justo no salía beneficiado de los errores encontrados, y el resto de los amigos ganaban o perdían aleatoriamente, lo que significaba que Justo seguía siendo un amigo justo y honesto, pero no tenía la destreza y la habilidad necesarias para llevar bien las cuentas y garantizar que no hubiera fallos 🤷♂️
Viendo lo ocurrido, todos los amigos se reunieron para analizar el problema y encontrar una solución, hasta que finalmente decidieron que tendrían que rehacer todas las cuentas. Como las hojas del archivador estaban escritas a lápiz, pudieron borrar y corregir todos los fallos, y tras muchas horas de trabajo consiguieron dejar todas las cuentas correctas ✔
Habían resuelto el problema, pero ahora tenían que decidir quién sería el encargado del archivador para los siguientes viajes. Tenía que ser alguien con las habilidades adecuadas para esa tarea, por lo que decidieron que el sustituto de Justo sería un chico que acababa de unirse al grupo, y que manejaba los números con mucha agilidad, era rápido, y no se equivocaba nunca. Sin duda él era el mejor candidato, así que toda la responsabilidad del archivador quedó en manos del amigo... Judas 🤨
Los siguientes viajes transcurrieron con normalidad, y los amigos se despreocupan de las cuentas porque sabían que Judas estaba más que preparado para llevar las cuentas sin equivocarse. Alguno revisaba por encima la hoja de gastos antes de terminar cada viaje, por si acaso, pero nunca encontraban ningún fallo. Cuando Judas llegaba a casa después de cada viaje, hacía los cálculos finales y todo el mundo pagaba según esos cálculos 💷
Como probablemente ya te estés imaginando, Judas no era trigo limpio, y cuando llegaba a su casa después de cada viaje, borraba algunos de los gastos y modificaba las cifras para que le tocase pagar menos a él y más al resto de sus “amigos”. Después de unos cuantos viajes, comenzaron las sospechas, y cuando le pidieron a Judas revisar los viajes anteriores del archivador, al principio se negó, pero finalmente no pudo evitar que se descubriese el fraude: Judas les había traicionado 👺
Tras asimilar lo ocurrido, decidieron repasar y corregir todas las cuentas, empleando para ello muchas horas. Cuando le mostraron a Judas el resultado final, aceptó pagar lo que debía, pero ahora tenían que decidir cómo solucionar el tema del archivador para los siguientes viajes 🤔
Llegados a este punto, ya nadie se fiaba de nadie, así que decidieron que el archivador sería responsabilidad de todos y que lo gestionarían por turnos. En cada viaje un miembro del grupo sería el encargado del archivador, y otro miembro sería el encargado de guardarlo hasta el siguiente viaje. De esta forma, el que guardaba el archivador podía repasar las cuentas del último viaje, o incluso de viajes anteriores. Como se iban rotando a la hora de asumir estos dos roles, entre todos podían vigilarse y asegurarse de que no hubiera ni fallos ni traiciones 👮♂️
Todo fue genial durante los siguientes viajes: si algún amigo se equivocaba o intentaba engañar al resto, se detectaba al poco tiempo y se corregía rápidamente. Este sistema parecía el definitivo, pero… descubrieron su mayor debilidad cuando le tocó custodiar el archivador al amigo Jilin 🙈
Jilin era muy querido por sus amigos, pero también era conocido por sus excentricidades, entre las que estaban su costumbre de leer por la noche con velas. Una noche se dispuso a repasar las cuentas del viaje anterior, y dejó encendida una de sus velas junto al archivador. Al ir a levantarse de la silla, golpeó sin darse cuenta la vela, y esta cayó sobre las hojas, haciendo que todo el archivador ardiese en cuestión de segundos. Afortunadamente Jilin consiguió sofocar el fuego y que no ardiese toda la casa, pero no pudo evitar que todas las hojas del archivador quedasen destruidas 🔥
Debido a esta desgracia, el grupo de amigos había perdido la hoja con las cuentas del último viaje, y todas las hojas de todos los viajes anteriores. Toda la información del archivador se había perdido para siempre 🚫
Después de muchas lamentaciones, y pese a todo lo ocurrido, nuestros amigos decidieron seguir saliendo juntos de vacaciones, pero antes debían encontrar una forma infalible de apuntar todos los gastos. Tenían que encontrar un sistema a prueba de errores, imposible de manipular, y resistente a cualquier pérdida o catástrofe fortuita. Tenían que encontrar la solución definitiva 🤔
La solución descentralizada
Después de mucho pensar y analizar diferentes opciones, uno de los amigos propuso algo que sonaba muy loco al principio, pero que al analizarlo en detalle, resultó ser la mejor solución. Se requería algo más de trabajo y un mayor gasto, pero el resultado merecía la pena 💪
En esta nueva solución cada uno de los amigos tendría su propio archivador, y cada archivador tendría sus propias hojas. Para cada viaje, todos los amigos apuntarían en su propia hoja de viaje todos y cada uno de los gastos, y al final del viaje todos harían sus propias cuentas para obtener su resultado final ✏
Cuando termina el viaje y todos tienen ya su resultado, tiran un dado al aire y la suerte decide quien muestra a sus compañeros todos los gastos que tiene apuntados, incluyendo el resultado final de sus cuentas. Si la mayoría de los amigos está de acuerdo con la hoja propuesta, entonces esa hoja se da por válida y el amigo que la mostró la guarda en su archivador ✔
Los que dieron por válida esa hoja lo hicieron porque la información que contenía era la misma que tenían ellos en su hoja, así que proceden también a archivar su hoja como válida, cada uno en su propio archivador. De esta forma, los que apuntaron bien e hicieron los cálculos correctos (la mayoría), tendrán ya archivada la hoja correcta: la que contiene la verdad de todos los gastos ocurridos durante el viaje 👍
Si alguno (la minoría) tiene algún dato diferente en su hoja, se considera que el fallo o el intento de manipulación viene de su parte, porque son minoría, y entonces deberán corregir su hoja y archivarla tal y como la tienen el resto 📋
Si la mayoría hubiese rechazado la primera hoja propuesta, esa hoja no se consideraría válida (no habría consenso), y tendrían que volver a tirar el dado para que sea otro amigo el que proponga su hoja al resto del grupo 🎲
Al terminar todo el proceso, cada uno de los amigos tendrá en su archivador una hoja exactamente igual a la del resto, con toda la información de los gastos de ese viaje, y guardada junto al resto de hojas de otros viajes. Todos los amigos pueden ahora estar seguros de que lo que hay escrito en todas y cada una de las hojas de su archivador es la verdad, y de que no habrá ninguna discrepancia en el futuro 📓✔
Con este sistema ya no hay riesgo de que algún amigo se equivoque al apuntar, o intente manipular la información a su favor, ya que solo se dan por válidas las hojas que la mayoría ha confirmado que son correctas. Si algún amigo (la minoría) modifica después alguna hoja de su propio archivador, no le servirá de nada, porque el resto (la mayoría) tienen la información correcta en sus archivadores ❌
Tampoco pasaría nada si uno o varios de los amigos pierden o destruyen sus archivadores, o si se los roban, porque la información sigue estando en los archivadores del resto, y en caso de ocurrir algo así, solo tendrían que copiar la información del archivador de un amigo para ponerse al día 📋
Nuestros amigos habían descubierto un sistema descentralizado de almacenamiento de información, resistente a errores, manipulaciones, y pérdidas, y que era sin duda la solución definitiva. Lo pusieron en práctica y funcionó perfectamente, por lo que ya no tuvieron que volverlo a cambiar 👏
El amigo que propuso este ingenioso sistema al resto del grupo era sin duda muy inteligente, y se dio cuenta de que podía ampliar su estrategia de descentralización a otros ámbitos como el monetario. Trabajó en ello durante varios años, y finalmente implementó su idea, lanzando en 2009 una moneda digital descentralizada basada en la criptografía. Se desconoce su nombre real, pero se sabe que sus amigos solían llamarle por su apodo: “Satoshi” 😎
Espero que te haya gustado esta increíble historia, aunque tengo que confesarte que no es una historia real, ni cuenta el verdadero origen de Satoshi Nakamoto, el creador de Bitcoin 😉
Elaboré esta historia para que ahora puedas conectarla con el funcionamiento real de una Blockchain 🔗 Lo verás todo más claro en el siguiente apartado 😃
¿Cómo funciona una Blockchain?
Una red Blockchain está compuesta por una serie de computadoras conectadas entre sí, donde cada computadora es un participante de la red llamado nodo.
Estos participantes se unen a la Blockchain porque quieren formar parte de la red, y disfrutar así de sus ventajas. Para poder convertirse en un nodo válido que siga las reglas de la Blockchain, los participantes deben instalar un software en sus computadoras que hará todo el trabajo de forma automática. Existen muchas Blockchains diferentes, y cada una tiene su propio software, que suele ser de código abierto (revisable por cualquiera), y en las más descentralizadas, como Bitcoin, el desarrollo y la actualización de ese software no depende de una sola empresa, ni de un gobierno concreto, sino que está descentralizado entre diferentes empresas, fundaciones, y programadores independientes 👨💻
Cuando un participante nuevo se une a una Blockchain e instala su correspondiente software para convertirse en un nodo, lo primero que hace ese software es actualizarse con el histórico de todo lo ocurrido en la red hasta ese momento (las transacciones almacenadas en la cadena de bloques), y a partir de ahí, comenzará a tomar nota de todas las transacciones nuevas que ocurran en la red 💻
Los amigos de nuestra historia, en su solución descentralizada, tenían que ir apuntando de forma simultánea todos los gastos de cada viaje, cada uno en su propio archivador. De igual modo, en una red Blockchain, todos los nodos tienen que apuntar todas las transacciones que ocurran en la red ✏
Cuando el viaje terminaba, lanzaban un dado al aire y el azar decidía quien propondría su hoja al resto de amigos. Si la mayoría estaba de acuerdo con la hoja propuesta, significaba que había consenso, y esa hoja se guardaba en todos los archivadores simultáneamente 🎲
Dependiendo de la Blockchain de la que hablemos, existirán diferentes mecanismos para decidir cuál será el nodo que propondrá el siguiente bloque. Podría ser el ganador de un proceso aleatorio, (parecido a tirar un dado al aire), o podría ser el primero en resolver un acertijo matemático, como ocurre con la minería en la Blockchain de Bitcoin ⛏
Si la mayoría de los nodos aceptan el bloque propuesto, significará que hay consenso, y este nuevo bloque será añadido a la cadena. Si no hay consenso (porque la mayoría no da por válido ese bloque) se repetirá el proceso hasta que el bloque propuesto se dé por válido. Esto significa que todos los nodos tienen que guardar todos los bloques válidos, con todas las transacciones que contienen. De este modo, al igual que ocurría con los archivadores, la información de todo lo que ocurre en la Blockchain (las transacciones) se almacena en todos los nodos simultáneamente 💻🔄💻
La denominada “cadena de bloques” es en realidad el conjunto de todas las cadenas de bloques (idénticas) almacenadas en todos los nodos.
Como puedes ver, el conjunto de archivadores es equivalente a la cadena de bloques, donde cada hoja de archivador es un bloque de la cadena, y cada gasto de viaje equivale a una transacción realizada.
¿Hasta aquí todo correcto? 🤠 Espero que no te hayas perdido, porque ahora voy a ir un poquito más allá utilizando un par de definiciones sacadas de mi artículo anterior:
Blockchain: ¿Qué es y para qué sirve?
Vamos con la primera definición:
Una red Blockchain es un libro de cuentas digital, con una base de datos compartida y descentralizada cuya integridad se construye mediante consenso.
Libro de cuentas digital: En la historia de los amigos, los archivadores contenían hojas donde se iban apuntando las cuentas de los viajes (un libro de cuentas), por lo tanto, su versión digital será un libro de cuentas digital 📖
Base de datos compartida y descentralizada: Como la información de los viajes residía en todos los archivadores simultáneamente, y todos los archivador eran igual de relevantes, su sistema constituía un registro de información compartido y descentralizado 📚
Integridad construida mediante consenso: La integridad de los datos consiste en que la información almacenada no contenga errores ni pueda ser manipulada. Nuestros amigos lograron esa integridad mediante su sistema de consenso. Para cada hoja que un amigo proponía archivar, tenía que haber un consenso entre la mayoría para declararla válida y que se archivase, sino era rechazada. Solo se podía añadir nueva información a los archivadores si la mayoría de los amigos aceptaba esa hoja nueva, y las hojas ya archivadas nunca se modificaban. La única forma de modificar las hojas ya archivadas sería que la mayoría se pusiese de acuerdo para rehacerlas. En la práctica eso nunca sucedería, porque la mayoría ya dio por válidas todas las hojas antes de archivarlas, y la única razón por la que alguien querría cambiar las cuentas pasadas, que ya habían sido verificadas y aprobadas por la mayoría, sería sin duda un intento de manipulación, algo que la mayoría nunca permitiría. Con este sistema, la honestidad de la mayoría impedía que una minoría fuese deshonesta 👮♂️
Vamos ahora con la segunda definición:
La Blockchain guarda un registro inmutable de todas las transacciones que ocurren en la red, agrupándolas en bloques que se unen unos a otros formando una cadena de bloques.
En una Blockchain, solo se puede añadir un bloque nuevo con sus correspondientes transacciones si la mayoría de los nodos lo da por válido. Una vez validado y añadido a la cadena, ese bloque se sella criptográficamente con el anterior, creándose así un registro inmutable de información. A partir de ahí, se podrán añadir transacciones nuevas en futuros bloques, pero nunca se podrá modificar el histórico de transacciones pasadas ❌ Modificar una transacción ya validada y añadida a la cadena, sería como modificar el pasado de lo ya ocurrido, y cambiar lo que la mayoría consideró en su momento como “la verdad”. Como los bloques están sellados criptográficamente unos a otros, llevar a cabo esta modificación implicaría tener que rehacer el bloque de la transacción a modificar, junto con el resto de los bloques posteriores. Para llevar a cabo esta tarea, tendría que haber un motivo lo suficientemente importante y honesto, como para que la mayoría de los nodos se pusiesen de acuerdo en realizarla. En la práctica esto no ocurre nunca (o casi nunca), porque cualquier intento de modificar la cadena de bloques se considera un intento de manipulación, y es frustrado por la mayoría de los nodos, que protegen así la integridad de la Blockchain 👮♂️
Los nodos de una red Blockchain se vigilan unos a otros, y la honestidad de la mayoría impide que una minoría sea deshonesta.
¡Y esto ha sido todo! 😃
En el siguiente artículo compararé Blockchain con otras tecnologías de almacenamiento de información, como las bases de datos relacionales (SQL), y llegaré a un análisis final de las ventajas y desventajas de utilizar la tecnología Blockchain, ya que creo que también es importante que conozcas sus puntos débiles 🧐
Si te ha gustado este artículo dale like (❤️), y si te ha quedado alguna duda puedes preguntármela en los comentarios:
Compártelo con alguien a quien creas que le pueda resultar útil 😀
¡Suscríbete si aún no lo has hecho! 📩
Y no te pierdas el siguiente artículo:
Blockchain: ventajas y desventajas
¡Nos vemos allí! 👋
P.D. 1: Recuerda revisar en tu correo las carpetas de Promociones, Spam o Correo no deseado por si caen allí mis emails. Muévelos luego a la carpeta Principal para que tu gestor de correo no vuelva a enviarlos allí 💌
P.D. 2: Este blog es una combinación de formación, información y opiniones personales, y NO es asesoramiento financiero ni fiscal. Investiga bien antes de invertir y toma tus propias decisiones ✔
Este artículo es simplemente genial.
Me ha gustado mucho el planteamiento.
Ha sido muy ameno
Gracias