La primera cadena de bloques (blockchain) que ha existido es la de Bitcoin. Y para muchos es la única. Sin embargo, la realidad es que, cada vez es más evidente que no es ni será la única, al menos en un futuro próximo. El interés que la tecnología de la cadena de bloques está despertando en diferentes ámbitos, pone en relevancia que realmente es cuestión de tiempo que las cadenas de bloques invadan nuestra vida. Habrá que ver en qué dirección lo hacen y en qué formato porque, de momento, la cadena de bloques por antonomasia sigue siendo la pionera, es decir, la cadena de bloques de Bitcoin.
Ya sabemos que esto lo va a cambiar todo. Toda nuestra operativa, de cabo a rabo y no tenemos ni pu** idea del tema. Necesitamos entender cómo funciona para mantener nuestra ventaja competitiva en innovación o nos van a comer.
Esto es un fragmento de una de las diversas conversaciones que ha tenido el equipo de Blockchain Toolkit con altos cargos de los departamentos de innovación de bancos en España. En todas las reuniones con los bancos de España había una mezcla de excitación, incertidumbre… y miedo.
¿Qué es entonces eso de la blockchain que pone tan nerviosos a los todopoderosos bancos?
¿Qué tecnología puede ser tan compleja como para convertirse en un desafío para ellos y, a su vez, tan poderosa como para poner patas arriba toda su operativa?
Para responder estas preguntas debemos entender primero qué es la blockchain o cadena de bloques.
¿Qué es la blockchain o cadena de bloques de Bitcoin?
La blockchain o cadena de bloques es una base de datos distribuida y pública en la que se registran todas las transacciones de bitcoins que han tenido hasta el momento y que tendrán lugar en el futuro.Funciona de forma parecida al libro mayor de contabilidad (ledger, en inglés). Conviene recordar que el libro mayor de contabilidad es, a grandes rasgos, aquel en el que se registran todas las entradas y salidas en términos económicos de una empresa. Por ejemplo, si compras un ordenador, se registraría la entrada de un ordenador y la salida del dinero que has pagado por dicho ordenador de la cuenta corriente.
Cuando se realiza una transacción, los dispositivos que forman parte de la red Bitcoin, llamados nodos, agrupan las transacciones en bloques y las inspeccionan para verificar que son legítimas.
Este proceso se conoce como minado y consiste básicamente en resolver un problema matemático muy complejo que más adelante veremos cómo funciona en detalle.
Las transacciones se realizan desde carteras o monederos electrónicos, conocidos como wallets, que son archivos encriptados que operan de forma similar a una cuenta bancaria y que tienen dos claves, una pública y una privada:
- La clave pública es una cadena alfanumérica de entre 26 y 35 caracteres y, al hacer sobre ella una serie de determinadas operaciones obtendremos lo que se conoce como dirección Bitcoin, que hace las veces de número de cuenta, de tal manera que, para que alguien te envíe bitcoins, debes darle esta dirección.-
- La clave privada sirve para autorizar operaciones desde tu cartera. Esta clave está únicamente en tu poder, y no debe ser revelada a nadie. Esta clave es creada con lo que se conoce como criptografía asimétrica y es muy fácil de entender con esta analogía: Imagínate que quieres enviar dinero por correo a un amigo. Si metieras 500€ en un sobre que sellas únicamente con tu saliva y lo envías, es muy fácil que cualquier persona que hay entre tú y el destinatario pueda abrirlo y coger el dinero. Imagínate ahora que coges y le dices a tu amigo, “oye, cómprate una caja fuerte pequeña y envíamela abierta, pero quédate la llave”. Tu amigo te la envía, cuando te llega metes los 500€ dentro, la cierras y se la envías. Tu amigo la recibirá bloqueada y la abrirá con la única llave que puede hacerlo y que sólo tiene él.
Tú te creas una cartera que tiene una dirección Bitcoin (la caja fuerte) y una clave privada (la llave que puede abrirla). Cada vez que se hace una transacción, tú envías una “caja fuerte” a alguien que te la va a llenar con la cantidad correspondiente que sólo tú podrás abrir con “tu llave”.
Seguramente hayas escuchado en alguna ocasión, el desfalco de 400 millones de dólares de los que fueron víctimas los usuarios de la casa de cambio Mt. Gox. Cabe explicar que fue precisamente el hecho que las carteras que abrías con ellos al abrir una cuenta, dejaban la clave privada en su poder, de tal manera que ellos tenían acceso a los bitcoins que todo el mundo tenía en esas carteras sin su permiso.
Por otro lado, es importante entender que un bitcoin no es como un archivo que te descargas y almacenas en tu cartera o en tu ordenador, sino que los bitcoins como tal no existen, son “apuntes contables” y lo que se registra son los cambios de propiedad de los bitcoins que se reciben o se envían desde cada dirección, simplemente las entradas y salidas.
Es importantísimo entender esto para que quede claro que, en realidad, Bitcoin no consiste en el intercambio de monedas virtuales, sino que todo el meollo del asunto está en la “espina dorsal” de la red, la blockchain, y que es precisamente lo que permite que los bitcoins no puedan ser falsificados.
Piensa en lo que pasaría si fueran archivos digitales, como una canción o un documento. Podrían ser copiados, reproducidos de forma infinita, algo que automáticamente impediría que sirviesen como dinero. Sin embargo, si lo único que existe son apuntes contables virtualmente incorruptibles (como veremos más adelante) y todo el mundo se pone de acuerdo en que una determinada cantidad es tuya, lo es, porque lo que dice la blockchain va matemáticamente a misa.
Si la red de ordenadores que forman la red Bitcoin desapareciese, Bitcoin dejaría de existir, pero es prácticamente imposible que eso suceda, y es precisamente por eso por lo que hablamos de la blockchain como el avance verdaderamente revolucionario. La blockchain vive en cada uno de los nodos completos que, de forma distribuida, forman la red creando así un robusto sistema, en el que, aunque se cayesen los miles de nodos que forman la red excepto uno, el sistema seguiría funcionando.
¿Cómo funciona la minería en Bitcoin en relación a la blockchain?
Vamos a pensar en los mineros como ordenadores o dispositivos, que es lo que realmente son, y dejar la analogía del “pico y la pala” a un lado.La confianza que da valor a la red que cimenta Bitcoin se basa en el poder computacional aportado por los nodos que la forman.
Las transacciones se empaquetan en bloques, algo que requieren un montón de este poder para ser verificados y muy poco para comprobar que efectivamente han sido verificados.
Esto es básicamente lo que se conoce como minar y tiene fundamentalmente dos propósitos en Bitcoin:
- Asegurar la red Bitcoin asegurando que las transacciones son legítimas y están verificadas.
- Generar nuevos bitcoins como recompensa por cada bloque que se mina por asegurar la red.
Este ejemplo ilustra el problema al que se enfrentan los dispositivos conectados a la red al minar, un proceso que consiste básicamente en dos cosas:
- Agrupar las transacciones en bloques y enviárselas al resto de nodos de la red.
- Inspeccionar los bloques para verificar que todas las transacciones dentro de ellos son legítimas.
Un hash es un trozo de código con una longitud determinada resultante de aplicar un algoritmo matemático a algo, como una palabra o fragmento de código.
Si cualquier letra de esa palabra o conjunto de palabras cambia, el hash también lo haría, de tal manera que cada hash será único.
No importa la longitud de lo que queramos convertir en un hash ya que siempre será de la misma longitud y la dificultad para desencriptarlo vendrá determinada por el tipo de algoritmo que se aplique.
Por ejemplo, si aplicamos una función especial desarrollada por la NSA estadounidense, llamada “Secure Hash Algorithm” (SHA-256, el mismo que utiliza Bitcoin) para codificar estos tres elementos, nos dará estos hashes como resultado:
– La tecnología blockchain es: 7ad3f33c8d27585a66e80ba9cda9a73c5facc556163f2255c9a60c36b1bbee01
– La leche: 44d1ce60431ee647623e670513cea2fd84fcc89830922d6b5f9f0554d10a2a5b
– La tecnología Blockchain es la leche: 909479bd040e7ca681d967ceef7f1fc000329d113aeb96a54b506b8b27ac644e
El primer trabajo que debe hacer un nodo al minar es crear bloques, algo que requiere mucho trabajo y que implica hacer varias cosas a la vez:
- Agrupar un conjunto de transacciones y crear un hash que lo represente.
- Numerar el bloque.
- Crear un sello temporal.
- Crear un hash con información sobre el último bloque minado, es decir, el inmediatemente anterior al que se mina.
- Crear una variable aleatoria llamada nonce (Podemos entender un nonce como una palabra creada para describir algo y que sólo puede usarse una vez).
Por tanto, el problema que tienen que resolver los mineros con el nonce es que tienen que averiguar un determinado tipo de hash para cada bloque que tiene que contener el número de ceros correctos al principio. Para ello, el dispositivo minando lo que hace es soltar repetidamente y aleatoriamente nonces hasta que da con el hash correcto de ese bloque.
Cuanto más poder computacional aportes, más rápido podrás probar con nuevos nonces y más rápidamente podrás dar con la solución para el bloque y llevarte la recompensa en bitcoins.
Así es el hash de un bloque Bitcoin:
000000000018d6425c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Una vez que tu dispositivo ha creado un hash que encaje, la “solución del problema”, también conocida como “Proof of Work” o Prueba de Trabajo que es como se conoce este proceso, lo retransmite al resto de la red y aquí es cuando empieza a desempeñar su segunda labor: cuando se propone la solución a un bloque nuevo, el resto de dispositivos lo inspeccionan para “ponerse de acuerdo” en que efectivamente es la correcta.
Para ello el resto de nodos de la red Bitcoin:
- Comprueban que el sello temporal es correcto.
- Que el bloque propuesto muestre que está en la parte más alta de la cadena principal.
- Que todas las transacciones dentro del bloque son válidas, de tal manera que un usuario no haya gastado la misma cantidad dos veces, comprobando que es la primera vez que el propietario de esa cantidad está usando su clave privada para transferir ese bitcoin o trozo de bitcoin.
Uno a uno, esto empezaría a propagarse por la red y en el momento en el que la mayor parte de la red decida que tu bloque es justo el anterior de la cadena, se “hará oficial”.
Cuando esto pasa, el minero que resolvió bloque, recibe una recompensa en bitcoins. Actualmente, la recompensa es de 25 bitcoins y se reducirá a la mitad en julio 2016, en lo que se conoce como halving.
Cada bloque que haya por encima de éste representará el número de confirmaciones que tiene el bloque, de tal manera que, si tiene 2 bloques por encima, es decir, posteriores, se dice que tiene dos confirmaciones.
Cuantas más confirmaciones tenga, más poder computacional habrá “apilado encima” y más fuerte será la confianza de la red respecto a ese bloque y esto hará que sea exponencialmente más difícil invertir la transacción.
Se entiende que un bloque con más de 6 confirmaciones es irreversible ya que el poder computacional requerido para “deshacer” y “rehacer” esos 6 bloques es increíblemente grande. Y una transacción no queda verificada hasta que pasa a formar parte de la blockchain.
La altura de un bloque es la cantidad de bloques que hay entre él y el bloque génesis (el primero de la cadena) para mostrar el lugar que ocupa en la cadena de bloques.
De media, cada diez minutos se mina un nuevo bloque. Es importante resaltar que la dificultad de minado se reajusta cada 2016 bloques para que se mantenga este intervalos de diez minutos, y evitar así que un sólo individuo o agrupación acapare la mayor parte de las recompensas aportando más recursos a la red o más poder computacional.
Nuevas transacciones fluyen de manera constante por la red procedentes de todo tipo de carteras y otras aplicaciones y, en el momento en el que los nodos las “ven” se añaden a un memory pool temporal (una base de transacciones pendientes de ser incluidas en un bloque) de transacciones sin verificar ya que aquellas que llevan asignadas una comisión mayor (puedes indicar la comisión, la recompensa, por minar esa transacción al realizarla) tendrán prioridad sobre el resto.
Probablemente te preguntes, ¿Por qué todo este lío de bloques de Bitcoin, blockchain, nodos y mineros?
Existen dos razones fundamentales por las cuales se ha creado la red Bitcoin de esta manera:
La primera, para que la Blockchain no se desborde con información cada vez que se producen transacciones. Cada bloque se apila encima del anterior ya que, si hubiera que “leer” toda la información contenida hasta el momento, la red colapsaría. Crear hashes permite condensar toda esta información, de tal manera que es como si analizando el ADN de un salmón que acabas de comprar pudieras sacar toda la historia de la especie.
La segunda, aplicar una capa de seguridad al sistema, de tal manera que es increíblemente difícil (virtualmente imposible, de hecho), cambiar datos de alguna transacción que ya haya tenido lugar, especialmente si está “enterrada” bajo 6 bloques o más ya que tendría un coste gigantesco en recursos.
Así es un bloque “en realidad”, en concreto, el bloque génesis de Bitcoin:
Aunque descrito así pueda parecer sencillo, este es un proceso complejo que a veces se complica aún más.
Como si esto consistiese en cavar un túnel en una dirección, a veces la cosa se tuerce y los mineros siguen direcciones alternativas y, cuando esto pasa, llega un punto en el que tienen que dar la vuelta y volver a cavar en el camino correcto.
Por ejemplo, hay ocasiones en las que dos mineros resuelven el puzzle casi al mismo tiempo y, en la cadena de bloques, estos se apilan de uno en uno.
Cuando esto pasa pueden crearse dos bloques (que llamaremos A y B) pero el sistema elige uno, el bloque A, sobre el que la cadena seguirá apilando bloques, mientras que el bloque B iniciará un camino a ninguna parte.
Pero algunos dispositivos que estén minando pueden empezar a construir bloques encima del bloque B, que se conocen como bloques huérfanos de Bitcoin.
Todos los que estén siguiendo esa dirección están desperdiciando recursos ya que estas confirmaciones no tendrán valor respecto a la cadena principal.
Es por esto por lo que el protocolo Bitcoin obliga a tener 100 confirmaciones (en tiempo, aproximadamente 16 horas) para que la recompensa por minar se haga efectiva.
Las reglas que sigue el software impide que la blockchain de Bitcoin continúe desarrollándose en estas ramificaciones paralelas a la cadena principal, de tal manera que los dispositivos “extraviados” volverán eventualmente a trabajar sobre la cadena principal.
Cuando esto pasa, las recompensas que creían haber ganado desaparecen y las transacciones que se habían verificado en forma de estos bloques pasan a formar una cola de transacciones por verificar nuevamente en la cadena principal.
¿Por qué es tan importante la blockchain de Bitcoin?
Incluso si ahora mismo no tuviésemos en cuenta la infinidad de potenciales aplicaciones de Bitcoin y la tecnología de la blockchain o cadena de bloques, Bitcoin, en su nivel más fundamental, representa un progreso enorme que concentra 20 años de investigación en la aplicación de la criptografía a las divisas y más de 40 años de investigación en criptografía en general por miles de investigadores de todo el mundo.
¿Por qué la cadena de bloques de Bitcoin es importante entonces?
Porque Bitcoin es la solución a un problema que lleva intentando resolverse desde hace mucho tiempo. Hasta que llegó Bitcoin y con él la aplicación de la tecnología de la blockchain como plataforma, los intentos de dinero electrónico que habrían habido serían como cualquier otro activo digital, es decir, capaces de ser copiados tantas veces como quisieras, como se ha venido haciendo hasta ahora con archivos MP3, documentos, vídeos, etc.Como te puedes imaginar esto representa un “pequeño” problema cuando hablamos de dinero porque no había manera de confirmar que una determinada cantidad de dinero ya había sido gastada sin que un intermediario central velase por ello.
Hasta ahora tenía que haber un tercero en el que todos confiásemos para garantizar la veracidad de las transacciones ya sea un banco o paypal, por ejemplo, que tuviese un registro con el que contrastar que cierta cantidad sólo ha sido gastada una vez.
Este problema se conoce como el problema del doble gasto.
Un desafío parecido es el Problema de los Generales Bizantinos que, utilizando la analogía de los generales en un campo de batalla, ilustra la dificultad para que diferentes partes se pongan de acuerdo cuando no saben si pueden confiar los unos en los otros.
La blockchain de Bitcoin soluciona el problema del doble gasto al combinar la tecnología P2P de intercambio entre pares con la criptografía de clave pública para crear una nueva forma de dinero digital.
Esta tecnología permite que el usuario no necesite confiar en la otra u otras partes de la transacción o un intermediario central, sino que puede delegar eso en el propio sistema.
¿Cuál es el potencial de la blockchain de Bitcoin?
Tenemos que pensar en la blockchain de Bitcoin como algo de la envergadura del propio Internet. Podría decirse que Internet es una tecnología compuesta por diferentes niveles técnicos sobre la que se han desarrollado un sinfín de aplicaciones que van desde complejos servicios como Google o Facebook, hasta apps con virales de gatos haciendo todo tipo de cosas, pasando por webs de compraventa de activos, agregadores de contenido, etc.Pero el concepto de la blockchain de Bitcoin va incluso más allá. Es un cambio absoluto de paradigma que podría modificar para siempre cómo descubrimos, valoramos, transferimos y registramos todo dato que sea cuantificable, y que tiene el potencial para coordinar la vida humana hasta un punto que es incluso difícil de imaginar. Puede sonar a ciencia ficción, pero no lo es.
El banco Santander, por ejemplo, estima el ahorro que la tecnología blockchain puede suponer para la banca en 20.000 millones de dólares al año, y el jefe de innovación del banco suizo UBS piensa que la blockchain va a simplificar toda su operativa de forma masiva. Muchos de los bancos están desarrollando blockchains privadas y, por ahora, no están apostando por la blockchain de Bitcoin, pero los grandes inversores de capital de riesgo de Silicon Valley quieren crear con Bitcoin el Internet del dinero e intercambio de valor.
La tecnología Bitcoin va camino de convertirse en una capa integrada en la web, que encaja como un guante, y que servirá como el sustrato tecnológico para gestionar pagos, intercambios descentralizados, transferencias y un largo etcétera.
La blockchain ya es vista por muchos expertos como la siguiente gran disrupción tecnológica, colocándola a la altura del cambio que supuso el PC en los años 80, el Internet de masas en los 90, las redes sociales y el Internet móvil de los últimos años.
La blockchain tiene el poder para reconfigurar la manera en que se coordina toda la actividad humana. Por ello, los beneficios potenciales de la blockchain van mucho más allá de lo puramente económico ya que tienen el poder de modificar en esencia el ámbito político, humanitario, social y científico y ya hay organizaciones experimentando con ello para intentar resolver problemas reales de esta envergadura.
Por ejemplo, la tecnología de la blockchain puede utilizarse para descentralizar gestiones administrativas que hasta ahora han sido llevadas a cabo por los estados a través de sus instituciones, como referéndums o registros de todo tipo.
O imagínate por ejemplo el caso de WikiLeaks, en el que los gobiernos de diferentes países congelaron sus cuentas bancarias para inmovilizarles e impedir que pudieran recibir donaciones para casos como el de Edward Snowden.
Sólo con la primera aplicación de la blockchain, que es Bitcoin y que aún está en pañales, WikiLeaks pudo puentear en cierta medida estas barreras impuestas por terceros.
Esto también afectará positivamente a organizaciones que tienen un alcance global y son políticamente neutrales en esencia, como el grupo ICANN, que coordina los dominios para páginas web en Internet.
Más allá de situaciones en las que el interés público deba superar a los gobiernos, hay muchos otros sectores en los que la tecnología de la blockchain supondrá un cambio radical. Piensa en todo aquello que tenga que ver con registro de documentos, eventos, identidades, activos, propiedad… Aplicando la tecnología de la blockchain, toda propiedad podría convertirse en una “smart property” o propiedad inteligente.
Una smart property es todo activo “incrustado” en la blockchain y dotado de un identificador único que puede ser rastreado, controlado e intercambiado usando la blockchain, lo que implica que prácticamente todo tipo de cosas materiales y digitales pueden ser registradas y transferidas a través de ella.
Imagina por un momento lo que esto supondría a la hora de registrar propiedad intelectual, por ejemplo, como patentes, diseños o cualquier tipo de arte, como ya es posible hacer con Stampery. Podría probarse de forma incontestable que tú has creado algo en un momento del tiempo concreto sin que nadie pueda rebatirte lo contrario.
Mecanismos como el contrato han supuesto avances revolucionarios para nuestras sociedades y, en una economía en la que la propiedad intelectual es cada vez más relevante, el registro de la misma de esta manera puede suponer otro punto de inflexión a la hora de coordinar sociedades a gran escala.
Un nuevo paradigma con la tecnología blockchain de Bitcoin
Una manera de entender mejor el mundo moderno es a través de lo que se conoce como los “paradigmas computacionales”, surgiendo un nuevo paradigma más o menos cada década desde los años 70.El primero, en la década de los 70 lo protagonizaron las “Computadoras centrales” (Mainframe en inglés), que eran esos ordenadores enormes parecidos a armarios.
El segundo, en la década de los 80 vino con los ordenadores personales.
El tercero, Internet de las masas en los 90.
El cuarto, en los 2000, las redes sociales y el Internet móvil.
Es muy probable que el paradigma computacional de esta década esté protagonizado por la interconexión de todo tipo de máquinas por todo el planeta en constante interacción las unas con los otras, lo que se conoce como el Internet de las Cosas (Internet of Things -IoT) y cuyo “lenguaje” a la hora de comunicarse utilice la criptografía y la tecnología de la blockchain.
Imagínate una perfecta integración sin fisuras, líquida, que haría las veces de la capa “económica” que Internet nunca ha tenido para registrar no sólo pagos, micropagos y transferencias, sino también contratos que se autoejecutan, registros de propiedad y un sinfín de aplicaciones que cambiarán para siempre la forma en que las sociedades se gestionan y coordinan.
Visita la web del equipo de Blockchain Toolkit para aprender más sobre la blockchain y su funcionamiento con sus cursos online.
No hay comentarios:
Publicar un comentario