Blockchain ¿Qué es?

Categoría:
Autor: Jorge
Fecha:

A ver si me puedes decir que tienen en común ¿fenómenos como la explosión de los mercados de criptodivisas que hemos vivido en los últimos años y por ejemplo la venta de un píxel por más de un millón de dólares?; Si tu respuesta ha sido la codicia humana pues si, justo estaba pensando en eso pero puede que muchos de ustedes también hayan respondido el blockchain y también sería correcto; y es que tras todos estos fenómenos nos encontramos con una tecnología muy interesante de la cual les quiero hablar hoy.

Es el blockchain o la cadena de bloques un concepto que conecta directamente con una rama de la informática que es fascinante y que quiero que conozcan, ¡Los sistemas descentralizados!

 Es importante conocerla porque sobre esta idea de descentralización es sobre lo que se sustentan muchísimas tecnologías que no paramos de escuchar hoy en día: cripto divisas, NFT, cripto arte, contratos inteligentes e incluso inteligencia artificial descentralizada.

Antes del Blockchain conozcamos que es....

Arquitectura Centralizada

¿Sabes cuándo cada cierto tiempo ocurre esto de que alguna plataforma como whatsapp, twitter o incluso google por algún motivo se cae y de repente ni tú ni ninguno de tus amigos y familiares se pueden poner en contacto? Si esto sucede es porque te estás viendo afectado por el diseño de una arquitectura centralizada.

¿Cómo Funciona?

 Sí, eso quiere decir que tú y todos nosotros nos conectamos a servidores que pertenecen a una compañía desde la que accedemos a los datos, servicios y desde la que nos comunicamos con los otros usuarios que también forman parte de la red.

Blockchain
Red Centrralizada

 Tú te conectas al servidor, pides lo que necesitas y el servidor provee.

Blockchain

Aquí todo el servicio se construye a partir de un conjunto de nodos centrales que van a gestionar y coordinar gran parte del procesamiento de la red y esto está bien, ya que esto facilita muchísimo la gestión de las cosas; pero también tiene sus aspectos negativos, uno de ellos lo hemos visto antes;si por ejemplo algo fallara aquí

Blockchain

El funcionamiento de la red cae en su conjunto.

Blockchain

¿Cuál es la alternativa? Pues, toca hablar de las redes descentralizadas.

Una red descentralizada plantea que: ¿Por qué en vez de tener un único punto central que controla todo el funcionamiento de la red no dejamos que sea cada uno de los nodos participantes los que gestionan los datos, el procesamiento y que de forma colectiva se coordinen para la toma de decisiones?

Blockchain

 De esta forma si alguno de los nodos cayera pues el resto de la red podría seguir operando sin mayores problemas; ¡Suena muy Bien! ¿No?

Blockchain

Pero les digo que gestionar todo esto no es tan fácil como parece, y es que fíjense, el funcionamiento de una red donde todos los nodos son su propio jefe hace mucho más compleja la coordinación.

 Lo explicaré con un ejemplo:

 Digamos que un grupo de amigos que tienen que decidir si se van a ir de vacaciones a la playa o a la montaña; de manera centralizada, podría ser una persona quien exclusivamente tome la decisión o incluso todo el grupo podría votar y llegar a un consenso; si se cuenta con una persona en el grupo que sea de confianza, que pueda recoger cada voto y hacer un recuento del que se pueda confiar, es decir en ambos casos existe una figura central de confianza que facilita todo el proceso.

Imaginen ahora por un momento cómo sería este proceso de votación si lo hiciéramos de manera descentralizada,  es decir,  no contando con una persona que vaya a recoger todos estos votos, que vaya a ser el recuento oficial,  que tenga un censo de todos los que estamos participando o que pueda garantizar la privacidad de los mensajes que nos estamos pasando.

Aquí somos todos nosotros los que tenemos que gestionar que este proceso electoral ocurra de manera correcta e incluso tenemos que asumir que dentro de esta red puede haber personas malintencionadas que quieran manipular este proceso electoral.

Imaginen por un momento cómo sería gestionar unas elecciones generales en un país pero donde todo el proceso electoral dependiera únicamente de los ciudadanos.

¿Suena complicado verdad?

Es complicado, sí, pero de conseguirlo podemos estar seguros de que esta red de personas u ordenadores podrá autogestionarse sola, llegando a consensos y sin necesidad de ninguna figura central que lo tenga que coordinar todo.

 Estamos hablando de un tipo de red donde todos los participantes operan y colaboran de igual a igual o dicho en inglés “peer-to-peer”.

Este concepto se le conoce comúnmente como P2P y hace referencia al tipo de redes donde todos los nodos actúan y sirven como iguales y que como te sonará están detrás del funcionamiento de redes como el tan conocido “bittorrent “.

¿Habias pensado que cuando te descargas una película del torrent en realidad esta película no está alojada en un servidor central de la empresa torrent?

Lo que te descargas es un archivo punto torrent (.torrent), un archivo que te va a indicar dónde podrás encontrar las diferentes piezas de tus archivos en los ordenadores de otras personas que también están dentro de la red torrent.

Blockchain
descarga de torrent

De igual forma que hay gente que está conectada a tu ordenador para descargarse de las piezas que necesitan para sus archivos; todos los participantes actúan dando y recibiendo trozos de archivos, actúan de igual a igual o como te dije antes  peer-to-peer.

Blockchain
Usuarios descargando de tu ordenador

Esta idea de redes entre iguales peer to peer, es una idea muy atractiva y aunque no es una idea nueva, en los últimos años ha ido ganando mucha popularidad.

¿Por qué?

Nacimiento del Blockchain

 Por la aparición en los foros de internet en 2009 de un misterioso whitepaper titulado “ A peer to peer electrónic cash system “ publicado por alguien desconocido bajo el seudónimo de Satoshi Nakamoto y que proponía una solución algorítmica para la creación de una red “peer to peer” para el intercambio de dinero entre personas sin necesidad de ninguna institución central que se encargará de hacer el trabajo; estamos hablando de una propuesta de descentralización del sistema financiero global. Esto era el nacimiento de Bitcoin.

Blockchain

¿De qué va la idea?, la forma más básica de verlo es que al igual que antes en la red de bittorent  todos estábamos almacenando parte de archivos que queríamos compartir, pudiéndonos pasar y pedir datos entre todos; ahora esta idea se mantiene pero lo que vamos a distribuir por toda esta red es la información de los intercambios de dinero que se están produciendo entre usuarios.

Cuando hablamos de una moneda electrónica digital como es el Bitcoin, en realidad nos estamos refiriendo a todo el registro de transacciones que indican cómo los usuarios se la están transfiriendo unos a otros; Ya está, este registro es la moneda.

Es decir si yo inicialmente tengo 10 bitcoins y accedo darle 2  a Elon Musk  y el acepta.

Blockchain
pago de Bitcoin

entonces esta transacción tendrá que quedar registrada dentro de esta contabilidad general, se verá que yo le he dado dos bitcoins a Elon Musk y esta información tendrá que ser propagada al resto de miembros de la red, para qué asi todos podamos tener nuestra contabilidad actualizada.

 Listo, no no era tan complicado el asunto, ya tenemos montado nuestro sistema descentralizado de transacciones;  pues parece fácil, pero porque en realidad estamos obviando muchos de los problemas asociados a este tipo de redes descentralizadas.

Posibles inconvenientes con las redes descentralizadas

Por ejemplo, hemos dicho que cuando quieras registrar una transacción avisará al resto de miembros de la red de que esta transacción ha ocurrido, con la esperanza de que todos actualicen correctamente sus registros;  pero la realidad es que por este tipo de redes la información fluye a ritmos diferentes, mientras que al mismo tiempo el resto de usuario de la red también estarán registrando un montón de transacciones simultáneamente; siendo así, el resultado que podemos esperar es que posiblemente todo se descoordine y aquí cada uno acabe con un registro diferente.

 Aquí tú podrías pensar que queda igual, porque ¿si  todos recibimos las mismas transacciones en realidad da igual que estén desordenadas, porque si tenemos un registro de cuando se ha producido cada una con hora y fecha, todos podríamos ordenarlas de igual manera verdad?

¡Pues no! y es que esta idea del tiempo en una red distribuida es algo muy complicado de gestionar cuando cada ordenador tiene su propio reloj interno.

Otra opción que podrías pensar es que sincronizemos relojes y así todos los miembros de la red tendrán la misma hora; pero para hacer esto, tendríamos que comunicarnos entre todos y enviar cuál es la hora de cada ordenador a través de una conexión de internet que también requiere de tiempo, haciendo que en efecto esta sincronización se vuelva inútil.

 Como alternativa, en lugar de pasarnos la hora unos a otros por la red, lo que podríamos contar es con un servidor central que nos pudiera dar la misma hora a todos.

Blockchain
Servidor de tiempo

 Pero ¿Que habíamos dicho de los problemas de depender de puntos centrales en nuestra red?  Un fallo en este servidor y ¡PUM!  La red dejaría de operar correctamente.

Blockchain
Fallas de Servidor

Como puedes ver una cosa tan simple como sería darnos la hora o sincronizar los relojes, sobre este tipo de redes descentralizadas se vuelve todo un dolor de cabeza.

Posibles soluciones a los problemas

Para sobrepasar esto, una solución podría ser tomar estas diferentes transacciones que sabemos que ocurren simultáneamente dentro de una ventana de tiempo y agruparlas conjuntamente en algo que podríamos llamar un bloque.

Blockchain
Bloque

 Por lo tanto el trabajo de alguien que participe en esta red, podría ser el de estar escuchando todas las transacciones que ocurren en un momento determinado e ir poco a poco agrupandolas dentro de este concepto de bloque; incluso si se quiere entretener se podría dedicar a verificar que todas las transacciones que recibe son correctas.

¿Cómo se forma un bloque?

Por ejemplo, si una transacción dice que Elon Musk le tiene que pagar 1000 BTC al señor DotCSV, esta persona debe comprobar que efectivamente este señor disponga de esos fondos. Esto es fácil de rastrear ya que en realidad contamos con el resto de transacciones que se han realizado hasta la fecha, entonces, haría un seguimiento hasta comprobar cuánto dinero tiene y validar así la transacción.

Blockchain
Registro de Transacciones

Date cuenta que es este proceso de verificación de las transacciones, el que antes en un sistema centralizado tenía que realizar un banco central;  aquí y ahora son los participantes de esta red los que se van a encargar de hacer esta tarea de verificación.

Así que ya sabes, tu trabajo será el de ir escuchando transacciones, verificarlas e ir conformando este bloque

Blockchain

Para que ya cuando lo tengas listo, lo compartas con el resto de miembros de la red y así todos podrán tener el mismo registro de transacciones.

Blockchain
Compartiendo Bloque

Pero también debes recordar que tú aquí no eres más importante que ellos y probablemente también hayan hecho los deberes y también tengan preparado su propio bloque con transacciones verificadas, esto quiere decir que ellos también van a querer compartir su registro de transacciones con su bloque nuevo.

Blockchain

¿Cómo lo hacemos entonces? ¿Cómo llegamos a un consenso de que registro aceptar?

Al igual que ocurría antes con la sincronización de los relojes, aquí nos estamos enfrentando a otro de esos problemas que son complicados y fundamentales dentro del campo de la informática.

¿Recuerdas como al principio hemos mencionado que difícil sería votar si ir a la playa o la montaña en un grupo de amigos si votáramos de forma descentralizada?

Votar se vuelve un problema y esto es aún más complicado cuando nos enfrentamos una realidad de este mundo y es que es muy probable que existan personas maliciosas dentro de nuestra red con ganas de manipular las votaciones

Esto no es complicado porque por ejemplo podríamos dejar que cada ordenador de la red identificado con su ”IP” votará que registro quiere seleccionar y así entre todos pues elegiremos lo que vote la mayoría.

En realidad hacer pasar un único ordenador por miles de ellos es bastante sencillo de lograr creando por ejemplo miles de “IP´s” virtuales. Está idea de desestabilizar a un sistema descentralizado a partir de que un ordenador simule ser cientos de ellos es lo que se conoce como un Sybil attack. y una solución rápida que podríamos adoptar para solucionar este problema es hacer pagar un coste computacional a cada una de las personas que quieran participar de esta votación

Por ejemplo podríamos decir que para votar, tienes que resolver un puzzle criptográfico, de esta manera si alguien quiere dedicarse a simular ser miles y miles de personas, pues va a tener que resolver miles y miles de puzzles criptográficos, requiriendo esto una gran inversión computacional.

Estos mecanismos de defensa que te obligan a ganarte tu participación en un proceso electoral a partir de invertir parte de tus recursos computacionales en lo que se conoce como una “Prueba de Trabajo” o en inglés “Proof of work”.

¿Quieres saber en qué podría consistir esta prueba criptográfica?  Para entenderlo, ahora nos tenemos que mover a la rama de la criptografía y conocer qué es un algoritmo de hash seguro.

Prueba de Trabajo o Proof of Work

Esto no son más que funciones que nos van a permitir codificar cualquier input de datos en una secuencia de números aparentemente aleatorio; en concreto una ristra de 256 bits si estamos operando con el algoritmo SHA 256.

Blockchain

 Insertas un archivo:

Blockchain
Calculando SHA 256

 Lo codifica y lo convierte en esto:

Blockchain
Conversor de Hash

¿Qué pasa si volvemos a codificar el mismo dato? pues que obtenemos el mismo resultado

Y ¿qué pasa si alteró mínimamente el input?  por ejemplo, este valor de un píxel.

Blockchain

Lo que sucede es que obtenemos un código de Hash completamente diferente

Blockchain
Hash diferente

Ahora, nos toca jugar con esta mecánica, ya que lo que se nos propone es lo siguiente.

El  input que le vamos a pasar a esta función de hash va a ser nuestro bloque, todos los datos de las transacciones que están contenidos en él y además un valor numérico que nosotros podremos y modificando.

El puzzle en este caso es el de ir modificando este número de aquí

Blockchain

Con el fin de buscar un código de hash resultante que contenga en su inicio una cantidad determinada de ceros

Blockchain

Si encuentras el valor correcto del input, habrás ganado el puzle; En realidad de puzzle tiene poco ya que como puedes ver la complejidad de codificación de un algoritmo como SHA 256 es tan compleja que la única forma de encontrar la solución, en realidad será ir probando y probando números, gastando computación hasta encontrar la combinación correcta.

Aquella persona que consiga encontrar primero el número que codifica su bloque con un hash que comienza con la secuencia de ceros se habrá ganado el derecho de agregar dicho bloque al registro general.

Blockchain

Cuando haya encontrado ese resultado compartirá dicho bloque con el resto de miembros de la red.

Blockchain

Esto lo pueden comprobar ustedes mismos, esta información es pública y la podemos observar por ejemplo en la cadena de bloques dentro de bitcoin como los hash de dicho bloque siempre comienzan con esta secuencia de ceros

Blockchain

 Entonces, quien probando y probando finalmente encuentre este número que te da un hash con la secuencia de ceros es decir que haya encontrado la solución a este puzzle criptográfico, se habrá ganado el derecho de poder agregar este bloque al registro general, diremos que esta persona ha minado un bloque.

 ¿Te das cuenta como todo empieza a coordinarse de manera correcta? ya por fin tenemos un sistema para poder tomar  transacciones, agruparlas, verificarlas, armar bloques y entre todos consensuar cuál es el bloque de transacciones correcto que todos vamos a tener en nuestros registros.

Pero fíjate no todo está del todo resuelto, porque podría darse el caso de que en un mismo tiempo más de una persona pudiera encontrar la solución a su bloque, verificarlo y empezar a difundirlo por la red.

Blockchain

Esto hará que por ejemplo puedan existir simultáneamente dos versiones del registro con bloques que son válidos pero diferentes.

Blockchain

 ¿Cual elegimos?

Podrías estar pensando que podemos utilizar ambos, ya que son bloques que están construidos correctamente, verificados y validados.

Pero no, porque realmente no sabemos si una transacción ha ido a parar a ambos bloques y si los registráramos, entonces podría darse que esta transacción quedará registrada por duplicado; sería un mal negocio pagar algo dos veces.

La solución a esto es que en realidad los miembros de la red mantendrán las dos versiones del registro y se empezará a trabajar en la validación del siguiente bloque

Blockchain

Hasta que llegue un punto donde no ocurre la misma casualidad, y una de las dos posibles cadenas añada un nuevo bloque.

Blockchain

Ahora sí, tal y como estipula el Whitepaper de Satoshi; elegiremos aquella cadena que tenga más bloques verificados, es decir, la cadena más larga.

Blockchain

Quienes estuvieron trabajando en esta cadena de aquí

Blockchain

 Seguirán trabajando en la que es ahora considerada la cadena oficial

Blockchain

Y este bloque de aquí que estaba validado y verificado, quedará huérfano, y no sólo eso, sino que la recompensa que se le iba a dar a esta persona por su trabajo también lo habrá perdido.

Blockchain
Bloque Huerfano

 Ahora vamos a un proceso importante que no te había contado. Pero sé que ya lo has escuchado en algún lado.

En protocolos como el de bitcoin lo que ocurre es que cada bloque que se agrega a la cadena tiene asociado una recompensa; la persona o como se le conoce comúnmente “El minero” que ha encontrado la solución a este problema, tendrá el derecho de incluir en su bloque una transacción especial asignada a él como forma de pago por su trabajo, podrá ganar bitcoins a través del proceso de minado.

Blockchain
Minado de bloques

En parte esta dinámica que permite sostener a la red es también culpable de que existan estas enormes granjas de computación dedicadas al minado de bloques.

Blockchain

La clave de todo esto esta aquí; es esta combinación de pruebas de trabajo, consenso por cola larga y procesos de incentivos a través de por ejemplo bitcoins, que permiten que una red como ésta funcione de manera descentralizada y segura.

Ahora si podemos afirmar que es una red descentralizada segura.

¿Por qué estoy tan seguro?

Recuerda que antes hemos hablado de como una función hash si modifica su input cambia radicalmente su resultado.

Esto es útil porque nos asegura que si alguien intenta manipular la información de un bloque su hash cambiará por completo

Blockchain

Pero no sólo eso, el diseño de este registro incluye algo muy especial, y es que el contenido del bloque que cada minero construye, no sólo incluye los datos de la transacción y el número de verificación, sino que además vamos a incluir cuál ha sido el hash del último bloque aceptado, estamos encadenando cada bloque con el anterior, estamos creando una cadena de bloques.

Blockchain

¡Si, BLOCKCHAIN!

(pss.. tenemos un curso totalmente gratuito en blockchain y crypto al cual puedes acceder aquí)

Blockchain

Esto es un Blockchain, una estructura de datos conformada por bloques encadenados unos con otros por su hash y que por el propio diseño de la red sabemos que es prácticamente inmutable.

Blockchain

Seguridad de Blockchain

 ¿Por qué? Pues, porque ahora si tú quisieras manipular por ejemplo este bloque de aquí

Blockchain

 Automáticamente te cargara su hash y el del siguiente bloque y el del siguiente bloque y el siguiente y todos caerán en dominó.

Blockchain

Todo eso es trabajo que ahora tú como atacante tienes que hacer para que te tomen en serio

Blockchain

Recuerda que aquí en esta red damos por buena la cadena más larga y mientras tú estás solucionando lo que hiciste, el resto de mineros de la red ajenos a tu ataque, van a seguir  trabajando en añadir bloques a la cadena principal

Blockchain

 Y tú mientras tanto tendrás que dedicarte a invertir computación para en paralelo ir encontrando la solución a los puzzles criptográficos para cada uno de estos bloques de aquí

Blockchain

Te quedará mucho esfuerzo computacional por delante a un ritmo que deberá ser superior al del resto de participantes de la red en conjunto, si realmente lo que aspiras es que tu cadena en algún momento sea más larga; Algo que realmente solo podrías conseguir si tuvieras más potencia acumulada que el resto de participantes de la red.

A este tipo de ataque se le conoce como “Ataque de 51%”,  ya que es en este punto tú tendrías más poder computacional que el resto de participantes de la red y podrías empezar a imponer tus modificaciones.

Pero si te digo que esto a la escala de redes como las de bitcoin o ethereum u otras redes, almacenar todo este poder computacional es algo muy pero que muy improbable.

Blockchain

Así que aquí lo tienes, si la red es lo suficientemente grande podemos tener garantizado su seguridad y su inmutabilidad, es decir que nadie va a modificar la cadena de bloques que hemos ido construyendo entre todos y esta garantía no viene por instituciones u organismos centrales u gobiernos, esto viene por la aplicación correcta de algoritmos de criptografía, matemática e informática y esto es magnífico.

Creo que todos podemos ver el valor que puede tener una tecnología como ésta en un futuro, donde todas las transacciones e intercambios de valor entre personas pueden estar completamente descentralizados sin ningún control central.

Blockchain

El paper presentado por Satoshi en 2009, fue la punta de lanza para todas estas tecnologías, que además plantean muchas ramificaciones a casos de importancia a nuestra sociedad, que tenemos que plantearnos; desde el impacto que puede tener el movernos un sistema económico completamente descentralizado, al impacto medioambiental que tecnologías como la prueba de trabajo introducen en el mantenimiento de estas redes.

Ahora que entiendes todo esto, quedan un par de datos finales que creo que tienes que conocer lo primero y fundamental, hoy hemos hablado de blockchain y también hemos hablado de bitcoin, pero estos son conceptos completamente diferentes; bitcoin es una criptomoneda que se construye utilizando la tecnología de blockchain, pero la cadena de bloques es algo que va más allá y que se puede aplicar a muchas otras cosas, por ejemplo los contratos inteligentes.

En este caso en vez de almacenar dentro de los bloques transacciones, lo que vamos a almacenar son piezas de código, de script que se van a ejecutar haciendo que si se cumple una serie de condiciones, suceda alguna acción.

Blockchain

Esto es similar a un contrato de los que manejamos en la vida real, con la diferencia de que aquí no hay una tercera persona que tenga que estar comprobando si se dan las condiciones para ejecutar el contrato o mediar en caso contrario.

 Aquí el contrato está públicamente dentro de la blockchain, como un programa informático que se va a ejecutar si las condiciones se prestan.

 Por ejemplo, otro uso que recientemente ha ganado mucha popularidad es el de los ”NFT” los Non-Fungible Tokens, una forma de poder certificar dentro de la cadena de bloque, la propiedad de una obra digital que podría ser una imagen, un tuit, un vídeo, el Nyan Cat.

Blockchain

 Si, ese es el precio.

 y poder certificar su existencia y propiedad dentro de esta cadena, pudiendo ser ahora un tipo de activo que podemos también transferir entre los diferentes usuarios.

 esto con un lado es una herramienta brutal, porque da una alternativa a los artistas digitales de poder certificar la autenticidad de sus obras y permitir que sean otros usuarios de manera descentralizada los que puedan pujar por su propiedad;  igual que sucede en el mercado de obras de arte real.

Esto no evita que rápidamente esto se convierta en una locura especulativa, y es que aquí está el problema de todo esto; posiblemente tu estás leyendo este articulo no porque seas un entusiasta de las redes descentralizadas y los algoritmos de criptografía, quizás,  ahora que te he explicado si lo seas.

Pero posiblemente tu interés por el blockchain sea que lo hayas conocido a través de que un amigo o algún familiar te está diciendo que compres criptomonedas porque vas a llenarte de dinero.

La tecnología de la que hemos hablado hoy tiene un valor brutal y seguiremos viendo su importancia de aquí a unos años, pero eso no quita que al día de hoy esto se haya convertido en una locura especulativa, donde mucha gente está participando de todo esto con la espectativa de volverse millonario en el corto medio plazo, aprovechándose de la gran variabilidad de precios que estás cripto tecnología tienen en sus fases prematuras.

Espero que este articulo de hoy te haya servido para entender que detrás de toda esta tendencia, existe una tecnología que realmente es bastante interesante y cuya utilidad seguiremos escuchando los próximos años.

¿Te interesa conocer más sobre blockchain y las cryptomonedas?

Te invitamos a tomar nuestro Máster class gratuito en Crypto trading donde aprenderás todo lo necesario para generar ingresos de forma pasiva con las crypto monedas.

Haz clic aquí para ir al Máster y comenzar totalmente GRATIS

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

One comment on “Blockchain ¿Qué es?”

  1. Mi deseo es saber cómo compro criptomonedas y realizó el seguimiento. Además saber cómo opera el sistema en cuanto a disponibilidad. Puedo retirar una parte? O todo? En qué momento?

Neetwork Business School es la escuela de negocios digitales más grande de hispanoamerica. ¡Más más de 2,000,000 de alumnos se han inscrito desde el 2018! Nuestro campus cuenta con más de 50 cursos y certificaciones (y contando). Inscríbete y lleva tus habilidades a otro nivel.
© 2021 Neetwork Online Business School B.V. Todos los derechos reservados.
crossmenu