El nombre suena como a construcción medieval. Pero en realidad es un nuevo tipo de libro de contabilidad digital y distribuido a la vanguardia de la informática.
Blockchain vs Bitcoin
Tal vez has escuchado a los medios de comunicación describir la tecnología blockchain como “la tecnología que impulsa a Bitcoin”. O es posible que hayas escuchado que los grandes bancos y empresas están interesados en utilizar la tecnología blockchain, pero no Bitcoin en sí…
Entonces, si la cadena de bloques o blockchain no es Bitcoin…
¿Blockchain que es exactamente?
Vamos a empezar por el principio, con la invención de la cadena de bloques o blockchain. La cual esta directamente vinculada a qué es Bitcoin. “Satoshi Nakomoto” es el seudónimo del misterioso creador de esta tecnología, cuya verdadera identidad sigue siendo desconocida hasta nuestros días.
En 2009, Satoshi lanzó al público la tecnología blockchain bajo el software gratuito de Bitcoin. Además de un “whitepaper” técnico que describía el sistema.
El revolucionario sistema de Satoshi permite a una red informática abierta crear y compartir datos valiosos de manera incorruptible… sin necesidad de ninguna autoridad central para mantener los datos sincronizados y precisos.
Por esta razón, la cadena de bloques se denomina a veces “libro descentralizado o distribuido”. Funciona de forma estrictamente peer to peer (o de igual a igual sin intermediarios). Similar a los sistemas de compartir archivos en internet como BitTorrent.
Bitcoin blockchain
De manera que, si Bitcoin opera a través de un libro de contabilidad público…
La cadena de bloques de bitcoin o bitcoin blockchain, es el mecanismo que mantiene a todos los participantes en consenso. Y evita errores contables, sean accidentales o intencionados.
Componentes de bitcoin blockchain
Satoshi fusionó varias tecnologías existentes para crear la tecnología blockchain:
1.La arquitectura de red descentralizada es el primer componente.
2.El segundo elemento es la criptografía asimétrica (o criptografía de clave pública). Esta técnica se utiliza para cifrar o descifrar información. Sin necesidad de que los participantes compartan sus códigos privados (claves privadas).
3.El tercer y último elemento es el hash de pruebas de trabajo (proof of work). Que sirve como prueba de que se realizó el trabajo computacional requerido.
En realidad Satoshi no inventó ninguna de estas tecnologías, pero al combinarlas, creó la formula única llamada blockchain o btc blockchain.
Tecnología blockchain
Afortunadamente, no necesitas ser experto en cada una de estas tecnologías contribuyentes para tener una visión general de blockchain.
Solo debes saber que son engranajes importantes en la maquinaria digital del blockchain.
Primera aplicación blockchain
La primera aplicación de la tecnología blockchain fue por supuesto monetaria. La creación de un libro contable en línea totalmente seguro que rastrea la propiedad del “oro digital” conocido como Bitcoin.
En el futuro, es probable que la tecnología blockchain sea la forma en que la sociedad rastree propiedades de todo tipo, como:
acciones
bonos
escrituras de propiedad
incluso contratos legales…
Ya que esta tecnología tiene un enorme potencial disruptivo en una gran cantidad de industrias. De hecho, hay muchas iniciativas explorando distintas aplicaciones de blockchain en distintas industrias.
Pero por ahora enfoquémonos sólo en Bitcoin y su aplicación monetaria….
¿Cómo resulta la cadena de bloques de Bitcoin en un registro público antifraude que graba fielmente las transacciones sin ninguna entidad central de control que mantenga a sus participantes honestos?
Definición de blockchain
Como su nombre indica, la cadena de bloques es una secuencia lineal de bloques enlazados. Entonces te preguntarás, ¿y qué son los bloques? Bueno, para responder a esta pregunta necesitamos explicarte brevemente cómo funciona la red Bitcoin…
¿Cómo funciona blockchain?
Puede que hayas oído hablar sobre los mineros de Bitcoin, si no es así… Échale un vistazo a nuestro vídeo, “¿Qué es minar Bitcoins?” que te explica fácilmente cómo funciona la minería en la red de Bitcoin.
Pero en resumen, básicamente los mineros registran todas las transacciones de Bitcoin en paquetes de datos conocidos como “bloques”.
Estos bloques se enlazan en secuencia lineal mediante un código especial. Cada transacción en un bloque entra en la formación de este código… Y el resultado final se registra en ese bloque.
Luego el siguiente bloque forma un nuevo código e incluye el código del bloque anterior y así sucesivamente. El encadenamiento de todos los bloques juntos garantiza la permanencia de las transacciones anteriores… No se puede cambiar la información de los bloques anteriores sin cambiar también todos los bloques posteriores.
Juntos, estos bloques enlazados forman un registro público cada vez mayor con todas las transacciones de Bitcoin desde su concepción… Conocido por supuesto como la cadena de bloques o blockchain.
Ejemplo de blockchain
Ahora que el término tiene un poco más de sentido, te voy a explicar la cadena de bloques en mayor profundidad. Imagina este ejemplo:
Digamos que le envías algunos bitcoins a una amiga utilizando una billetera Bitcoin, tu transacción será retransmitida a través de toda la red Bitcoin.
Todo el mundo verá que la dirección A (tu dirección), está intentando enviar esa cantidad de monedas a la dirección B, (la dirección de tu amiga).
Las personas que operan los denominados “nodos completos”, es decir, los clientes de software de Bitcoin que almacenan el blockchain completo… Recibirán rápidamente información sobre tu transacción.
Los nodos completos verifican la información de tu transacción contra su propia copia almacenada de la cadena de bloques. Por lo tanto, los nodos completos comprobarán si la dirección A tiene suficientes Bitcoins para pagar la cantidad especificada a la dirección B.
También comprobarán otras transacciones nuevas. Para verificar que A no está intentando enviar las mismas monedas simultáneamente a la dirección B y también C o a las direcciones C, D, E y así sucesivamente.
Esta forma particular de fraude se conoce como un “doble gasto”.
Es importante señalar que el doble gasto era un problema técnico importante en informática… Ya que impedía la fiabilidad del dinero electrónico peer to peer (o de igual a igual sin intermediarios). Hasta que apareció la solución blockchain de Satoshi.
¿Quien escribe bloques en blockchain?
Dejando a un lado el doble gasto, volvamos a nuestro ejemplo:
Si tu transacción es aprobada por nodos completos, pronto será transmitida a un tipo especial de nodo completo. Aunque a veces tu transacción llegará primero a este nodo especial.
Estos tipos especiales de nodos completos tienen la capacidad de registrar bloques de transacciones en la cadena de bloques… ¿Adivina cómo se llaman estos nodos especiales? Estos son los famosos “mineros” de Bitcoin.
Las cadenas de bloques como la de Bitcoin, en la que mineros compiten para escribir el siguiente bloque a cambio de una recompensa… Es del tipo conocido como blockchains de “Prueba de trabajo” (Proof of Work).
El trabajo en cuestión se refiere al hash o resolución de una ecuación matemática. La cual reduce información de cualquier longitud a una longitud fija.
Ajustes de dificultad en bitcoin y blockchain
El protocolo de Bitcoin ajusta la dificultad de esta ecuación de forma periódica y automática. Para satisfacer la cantidad de potencia de cálculo disponible en la red para su solución.
Estos ajustes de dificultad aseguran que se escriba un nuevo bloque cada diez minutos en promedio. Sin importar que entren o salgan más mineros a la red de Bitcoin.
En los inicios de Bitcoin la dificultad era baja. Y los bloques podían resolverse de forma fiable utilizando solo un ordenador portátil. A medida que el valor de Bitcoin fue aumentando, también lo hizo la dificultad de la minería. Ya que esta se hacía cada vez más competitiva.
Hoy en día, la minería se realiza con un hardware especializado. Alojado y refrigerado en enormes centros de datos o granjas de minería como ésta:
Establecer una operación de minería Bitcoin competitiva cuesta millones de euros, sin hablar del coste mensual de electricidad.
De hecho, este alto costo es deseable…
Ya que la seguridad de las cadenas tipo Prueba de Trabajo, se refuerza a través de la gran inversión de capital por parte de los mineros distribuidos por todo el mundo.
Funcionamiento de incentivos en Bitcoin Blockchain
Sin entrar en muchos detalles sobre cómo funciona Bitcoin, Para explicar por qué Bitcoin depende en cierto modo de factores económicos, vamos a desmenuzar el funcionamiento de estos incentivos.
Imaginemos que un atacante; llamémosle “Pedro”, quiere tomar el control de la red Bitcoin para cometer fraude o sabotaje.
Como la red es abierta y no requiere permisos, cualquiera puede unirse a ella y comenzar a minar, incluso Pedro.
Pero para poder excluir de forma efectiva transacciones válidas o incluir transacciones fraudulentas en sus “bloques corruptos”… Pedro necesita controlar la mayor parte de la potencia informática dirigida a Bitcoin. Y mantenerla controlada durante un largo periodo de tiempo.
Esto se conoce como un “ataque del 51%”.
Si tiene éxito, Pedro puede gastar dos veces las monedas bajo su control. O negarse a procesar las transacciones de otras personas. Sin embargo, Pedro no puede gastar monedas que no están bajo su control.
Lo que significa que no puede robar monedas de nadie… aunque tenga la mayoría de la red minera bajo su control.
Esta impecable función de seguridad que evita que otros nodos gasten monedas que no poseen está habilitada mediante criptografía de clave pública o asimétrica en el protocolo de Bitcoin.
Sin embargo, el ataque de Pedro probablemente resultaría muy perjudicial para el valor de los Bitcoins de todos los participantes… El valor de Bitcoin se evaporaría si todos abandonaran la red debido a las acciones de Pedro.
Entonces, ¿cómo incentivan las cadenas de bloques de Proof of Work a sus participantes para evitar un resultado tan destructivo?
Protecciones contra ataques block chain
Hay cuatro protecciones interrelacionadas contra un ataque del 51%:
1.Requeriría que Pedro comprara suficiente hardware minero para exceder la capacidad de todos los demás mineros. Esto a un costo cada vez mayor, estimado actualmente en cientos de millones de euros.
2.Como toda la información transaccional en la cadena de bloques es pública, las acciones de Pedro pronto serían notadas… Y el precio de Bitcoin se desplomaría como resultado, haciendo que la inversión en hardware del atacante no fuera rentable.
3.La ecuación matemática que el hardware de minería está específicamente diseñado para resolver puede ser alterada en respuesta. Bloqueando permanentemente al atacante.
Esto hace que la inversión en hardware de Pedro prácticamente quede sin valor. Aunque lo mismo le sucedería también a los mineros honestos.
4.Si los mineros honestos recuperan el control de la red, la cadena de bloques podría ser revertida a un estado anterior. A uno antes de que ocurriera el ataque del 51%.
Por lo tanto, las transacciones del atacante serían revertidas. Aunque también lo serían todas las transacciones honestas que ocurrieran dentro de los bloques minados del atacante.
Pero de una manera menos destructiva, los bloques podrían ser alterados para excluir sólo las transacciones del atacante.
La seguridad de las cadenas de bloques basadas en Prueba de Trabajo (Proof of Work)… Se deriva de esta compleja interacción entre el software, el hardware y los incentivos económicos.
Una blockchain de Prueba de Trabajo sin mucha inversión minera, como las que poseen varios altcoins, tiene un riesgo mucho mayor de un ataque del 51%.
Este mayor nivel de seguridad es una de las razones por las que Bitcoin es mucho más valioso que las monedas alternativas.
Otros tipos de block chains
Hablando de monedas alternativas o altcoins, es posible que haya oído que algunas de ellas (como Peercoin) utilizan cadenas de bloques basadas en otro tipo de algoritmo llamado “Proof of Stake” (en castellano algo así como “Prueba de participación”).
En lugar de gastar recursos informáticos para resolver y escribir bloques… Los sistemas Proof of Stake ofrecen a los propietarios de monedas la oportunidad de escribir el siguiente bloque.
Las probabilidades de hacerlo son proporcionales a su participación financiera en la moneda. Es decir, a la cantidad de monedas que poseen. Cuantas más monedas controlen las partes interesadas, mayores serán sus probabilidades de recibir una recompensa por encontrar el siguiente bloque.
En los sistemas Proof of Stake, se utiliza el término “acuñación” (minting) en lugar de “minado”.
Existen ventajas y desventajas entre ambos tipos de blockchains, también existen modificaciones adicionales e híbridos en constante desarrollo. Incluso es posible que algunos altcoins cambien de un sistema a otro, como ocurre con Ethereum y Bitshares.
Proof of Work vs Proof of Stake
Aunque los sistemas Proof of Stake requieren mucho menos gasto de energía y hardware, esto se consigue a costa de una mayor centralización.
Por ejemplo, para limitar la susceptibilidad del blockchain de Peercoin ante una posible alteración… Un desarrollador emite regularmente los llamados “puntos de control”. Y los bloques sólo pueden modificarse a partir de estos puntos de control.
En los sistemas de Prueba de Trabajo (Proof of Work), las alteraciones históricas requieren el dominio de más potencia minera que el total acumulado gastado que se remonta al bloque en cuestión.
El 51% es la cuota mínima requerida, con un porcentaje que se eleva al 100% a medida que se va retrocediendo en el tiempo.
En sistemas de Proof of Stake la señalización a través de estos “puntos de control” (checkpoints)… Compensa en cierta medida la capacidad técnica de los principales propietarios de monedas para alterar la cadena de bloques. Sin tener que adquirir una parte prohibitivamente cara de la potencia minera.
Por lo tanto, la señalización protege la historia profunda de las cadenas de Proof of Stake… Con el inconveniente de que se debe confiar en una sola persona o grupo con esta capacidad de señalización o emisión de puntos de control.
Amenazas de la tecnología blockchain
Dejando de lado los ataques de 51%, ¿hay alguna otra amenaza conocida para las cadenas de bloques?
Desafortunadamente sí, y es una amenaza que surge ocasionalmente como resultado natural de la forma en que funciona la minería.
Sin embargo, es una amenaza que también puede ser introducida deliberadamente a través de cambios en el código fuente del sistema… Lo que puede resultar en una división permanente de la red Bitcoin.
Como tal vez hayas escuchado, bajo ciertas condiciones es posible que una cadena de bloques se divida en ramas separadas.
Tal divergencia se conoce como una bifurcación o “fork”.
Ataque del 51% en bitcoin blockchain
Volvamos al ataque del 51% de Pedro para ilustrar con el mismo ejemplo:
Tan pronto como Pedro mina (crea) un bloque inválido (por ejemplo, uno que envía monedas idénticas a múltiples destinatarios) la cadena de bloques podría bifurcarse desde ese punto en adelante.
Aquellos mineros que sigan las reglas estándar rechazarán el bloque como ilegal. Y seguirán trabajando en su versión de la cadena… En la que se excluye el bloque fraudulento.
Pedro incluirá naturalmente su propio bloque fraudulento y basará sus futuros bloques en él.
Como Pedro controla la mayor parte de la potencia minera en este ejemplo, la cadena de bloques de Pedro crecerá más rápidamente que la cadena honesta.
Pedro y los mineros honestos sólo acumularán recompensas en bloques de sus respectivas cadenas… Y ante la posible ruina de los usuarios, las transacciones registradas en una cadena no serán reconocidas por la otra.
Esto rápidamente resulta en una situación desastrosa. En la que los usuarios suspenden sus transacciones hasta que se resuelve el problema de la bifurcación (o “fork”).
En tales condiciones, el valor de mercado de la moneda probablemente bajaría como resultado de la incertidumbre y el caos.
La regla general en los sistemas de Prueba de Trabajo o Proof of Work es que la cadena más larga aceptada por la mayoría de participantes es la oficial.
Esta es una guía completamente necesaria. Ya que pequeñas bifurcaciones o forks son un evento inevitable en este tipo de sistemas, te explico porque:
Bifurcaciones o forks en btc blockchain
Imagina que 2 mineros encuentran un nuevo bloque al mismo tiempo. Cada minero tiene un incentivo económico para transmitir su nuevo bloque a la red, ya que este contiene su recompensa monetaria.
Supongamos entonces que cada bloque de estos mineros es recibido por la mitad de la red. Una mitad de la red recibe un bloque y la otra mitad recibe el otro.
En ese momento se produce una carrera entre estas 2 cadenas bifurcadas.
La cadena o fork que reciba su siguiente bloque más pronto se adelantará a la otra. Hasta que haya un claro ganador en términos de Prueba de Trabajo exitosa.
Con el fin de consolidar sus futuras recompensas en la cadena de consenso (la más adelantada)… Los mineros que aún están en la cadena perdedora (la más atrasada) migrarán rápidamente.
Porque mientras más tiempo permanezcan en la cadena atrasada, más dinero perderán en recursos desperdiciados.
Esto es debido a que las transacciones exclusivas de la cadena de bloques perdedora… Así como cualquier recompensa de bloque a sus mineros, no se verán reflejadas en la cadena ganadora.
Por lo que existe un fuerte incentivo económico para todos los mineros en determinar rápidamente cuál es la cadena ganadora. Y migrar a ella en estos casos.
Resolución de los forks en bitcoin blockchain
Se tiene previsto que cualquiera de estas pequeñas bifurcaciones se resuelva en 6 bloques o menos. Lo que equivale en promedio a una hora (ya que se descubren nuevos bloques cada diez minutos en promedio).
Por esta razón, se recomienda que al recibir pagos de alto valor, los usuarios esperen a que la transacción sea “confirmada”. Al menos 6 veces. En otras palabras, que se superpongan 5 bloques más sobre el bloque que contiene tu pago.
Esta regla empírica garantiza un buen equilibrio entre la seguridad y la conveniencia de las transacciones.
Para sumas de poco valor, esta regla puede relajarse y esperar menos confirmaciones. Y siempre ten en cuenta que las transacciones no confirmadas (que aún no se han escrito en la cadena de bloques)… Deben considerarse como su nombre lo indica “no confirmadas” y pueden ser revertidas por participantes inescrupulosos.
Aunque las bifurcaciones (forks) se consideran una amenaza existencial, en el futuro puede ser necesario implementar cambios en el código de Bitcoin a través de un fork.
Ya que alterar el código fuente para incluir nuevas funcionalidades que no sean compatibles con la versión anterior… Inevitablemente bifurcará la red entre clientes que actualizan a esta nueva versión y clientes que no lo hacen.
Ejemplo de fork en btc blockchain
Un ejemplo de cambios en el código fuente que forzaron inevitablemente una bifurcación o fork de la red fue el controversial Bitcoin Cash… con su aumento del límite de tamaño por bloque.
Tal vez escuchaste sobre el tema. Básicamente hubo desacuerdo entre la comunidad sobre cuál era la mejor forma de ampliar la capacidad de la red de Bitcoin para procesar más transacciones.
Un grupo sugería ampliar directamente el tamaño máximo de cada bloque especificado en el código fuente… Y otro utilizar formas alternativas que evitaran incrementar el tamaño por bloque. Ya que esto podía ocasionar otra serie de inconvenientes.
Al no lograrse consenso, el grupo que sugería aumentar el tamaño máximo por bloque creó una bifurcación o fork de la red de Bitcoin. Bajo el nombre Bitcoin Cash.
Modificando el código fuente del sistema para aumentar el tamaño máximo permitido por bloque en el protocolo.
Conclusión
Sin duda será interesante ver cómo se continúa desarrollando la tecnología blockchain en el futuro… Ya que se adapta a la creciente necesidad del mundo de un sistema monetario fiable sin un emisor central. Ni otros terceros de “confianza” que en muchas ocasiones abusan de ella.
Espero que ahora comprendas mejor qué son las cadenas de bloques o blockchains y cómo funcionan. Así como sus beneficios y problemas potenciales.
Como te habrás dado cuenta, “blockchain” es un tema muy amplio que incluye muchos subtemas dentro de ella…
Así que si todavía tienes más preguntas, déjalas en la sección de comentarios a continuación. Haremos todo lo posible para responderlas.