Roberto Díaz
Furai Blog
Published in
15 min readMay 15, 2016

--

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 hemos tenido este año con altos cargos de los departamentos de innovación de bancos en España.

Bancos grandes.

En todas ellas había una mezcla de excitación, incertidumbre……y miedo.

¿Qué es eso que puede poner tan nerviosos a los todopoderosos bancos?

¿Qué tecnología puede ser tan compleja como para resultar un desafío para y ellos y a la vez tan poderosa como para poner patas arriba toda su operativa?

Qué es la Blockchain o Cadena de Bloques

Nota: Para entender el concepto vamos a hablar de la Blockchain de Bitcoin, aunque es posible crear otras diferentes, ya sea con el mismo código, con variantes (también conocidas como “forks”) o con otro completamente nuevo.

La Blockchain o cadena de bloques es una base de datos distribuida y pública en el que se registran todas las transacciones de bitcoins que han tenido y tendrán lugar.

Funciona de forma parecida al libro mayor en contabilidad.

Por si no lo sabes, el libro mayor en 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 lápiz, se registraría la entrada de un lápiz y la salida de dinero de la cuenta corriente.

Cuando se realiza una transacción, los dispositivos que forman parte de la red, llamados nodos, empaquetan 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 difícil y veremos cómo funciona en detalle más adelante.

Las transacciones se realizan desde 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 de Bitcoin y hace las veces de número de cuenta, de tal manera que para que alguien te envíe bitcoins debes dársela para que te lleguen a ella.

La clave privada sirve para autorizar operaciones desde tu wallet.

Esto es 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 solo tiene él.

Así es cómo funciona básicamente en el caso de Bitcoin:

Tú te creas un wallet que tiene una dirección de Bitcoin (la caja fuerte) y una clave privada (la llave que puede abrirla) y 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”.

Esto fue lo que permitió el desfalco de 400 millones de la casa de cambio Mt. Gox, ya que los wallets que te creabas al abrir una cuenta con ellos dejaban la clave privada en su poder, de tal manera que tenían acceso a los bitcoins que todo el mundo tenía en esos wallets sin su permiso.

Es importante entender que un bitcoin no es como un archivo que te descargas y almacenas en tu wallet o en tu ordenador ya que los bitcoins como tal no existen, son “apuntes contables” y lo que se registra son cambios de propiedad relativos a cada dirección, simplemente entradas y salidas.

Esto deja 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, lo que permite por tanto 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 y esto 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 desapareciese, Bitcoin dejaría de existir, por eso hablamos de la Blockchain como el avance verdaderamente revolucionario que vive en cada uno de los nodos completos que forman a la red de forma distribuida dando forma a un sistema antifrágil, de tal manera que, aunque se cayesen los miles de nodos que forman la red excepto uno, el sistema seguiría funcionando.

Cómo funciona

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 un momento.

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 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:

  • Crear nuevos bitcoins por cada bloque que se mina.
  • Generar confianza asegurando que las transacciones son legítimas y están verificadas.

Una buena analogía para entender esto es imaginarte el minado como si fuese una competición por ver quién resuelve antes un puzzle que tiene decenas de miles de filas y columnas, con millones de piezas, que se deshace y cambia por completo cuando alguien lo soluciona, algo que pasa cada 10 minutos de media.

Si yo te enseño el puzzle ya hecho, volver a rehacerlo es fácil pero si no, es una tarea complicada.

Incluso para un ordenador.

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.

Para que un bloque sea añadido a la cadena, hace falta llevar a cabo un proceso conocido como hasheo o hashing.

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 americana, 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: 44d1ce60431ee647623e670513cea2fd84fcc89830922d6b5f9f0554d10a2ab

- La tecnología Blockchain es la leche: 909479bd040e7ca681d967ceef7f1fc000329d113aeb96a54b506b8b27ac64e

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:

  • Empaquetar las transacciones más recientes y crear un hash que lo represente
  • Numerar el bloque.
  • Crear un sello temporal.
  • Crear un hash con información sobre el bloque minado más reciente.
  • Crear una variable aleatoria llamada nonce.

Podemos entender un nonce como una palabra creada para describir algo y que solo puede usarse una vez.

Cada vez que se crea un bloque, se le da un hash único así que cuando el nonce cambia, el hash del bloque cambia también.

Por tanto, el problema que tienen que resolver los mineros con el nonce es que tienen que dar un determinado tipo de hash para cada bloque que tiene que tener el número de ceros correctos al principio, así que el dispositivo minando lo que hace es soltar nonces repetidamente 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:

000000000018d6425c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce2f

Una vez que tu dispositivo ha creado un hash que funcione, la “solución del problema”, también conocida como “Proof of Work”, 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:

  • 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 una persona 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.

Si otro dispositivo aprueba tu bloque, empieza a trabajar en el siguiente identificando el tuyo como el hash del bloque previo.

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, recibes una recompensa en bitcoins según la dificultad del momento, que se reajusta cada 2016 bloques para que un solo individuo o agrupación acapare la mayor parte de las recompensas aportando más recursos a la red.

Actualmente, la recompensa es de 25 bitcoins y se reducirá a la mitad en 2017.

Cada bloque que haya por encima de este representará el número de confirmaciones que tiene el bloque de tal manera que, si tiene 2 por encima, 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 de ese bloque y esto hará que sea exponencialmente más difícil invertir la transacción.

Se ha convenido 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.

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 ella.

Cada diez minutos de media se mina un nuevo bloque y una transacción no queda verificada hasta que pasa a formar parte de la Blockchain.

Nuevas transacciones fluyen de manera constante por la red procedentes de todo tipo de wallets y otras aplicaciones y, en el momento en el que los nodos las “ven” se añaden a un pool temporal 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?

Existen dos razones fundamentales.

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:

Bloque génesis

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.

Todos los que estén siguiendo esa dirección están desperdiciando recursos ya que estas confirmaciones no tendrán valor respecto de la cadena principal.

Cadena principal y bloques huérfanos

Es por esto por lo que el protocolo de 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 continúe desarrollándose en estas ramificaciones paralelas a la cadena principal, de tal manera que los dispositivosextraviados” 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?

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é?

Porque Bitcoin es la solución a un problema que lleva intentando resolverse desde hace mucho tiempo:

El problema del doble gasto.

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ídeo, 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 solo ha sido gastada una vez.

Este es 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 confían los unos en los otros.

La Blockchain 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.

Potencial

Tenemos que pensar en la Blockchain 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 compra venta de activos, agregadores de contenido, etc.

Pero el concepto de Blockchain va incluso más allá.

Es un cambio absoluto de paradigma que 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.

Ya sé que esto suena 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.

Esta tecnología 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.

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.

Es decir:

La Blockchain tiene el poder para reconfigurar la manera en que se coordina toda la actividad humana.

Bitcoin es solo el principio

Los beneficios potenciales de la Blockchain van mucho más allá de lo puramente económico ya que tiene el poder de modificar en esencia el ámbito político, humanitario, social y científico y ya hay organizaciones experimentando con él 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.

Solo con la primera aplicación de la Blockchain, como es el bitcoin y que aún está en pañales, WikiLeaks podría 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 puede 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 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 el 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

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.

Paradigmas computacionales

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, el 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 los unos con los otros, lo que se conoce como Internet de las Máquinas (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 solo 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.

¿Y tú qué opinas? ¿Qué relevancia crees que tendrá esta tecnología?

¿Quieres saber más sobre la Blockchain? Blockchain Toolkit es el curso que te permite entender su tecnología para poder aplicar su potencial en áreas o procesos de tu empresa y detectar oportunidades en su mercado o en otros nuevos.

Está distribuido en cuatro niveles para que, sea cual sea la base de la que partes, siempre vayas a más.

Haz click aquí para ver en detalle el programa y apuntarte ahora.

¿Te ha gustado este artículo? Suscríbete a nuestra newsletter para recibir en tu correo los artículos nuevos que publiquemos y una selección semanal curada de las noticias más relevantes de la industria.

--

--

Roberto Díaz
Furai Blog

Helping digital makers with makersway.io Prev: Blockchain @UST-Global, Growth @anfix , Product & Growth @bit2me.com . Thoughts on Tech, Startups and Life.