Bitcoins (segunda parte)

Seguimos contándoles qué es esto de las criptomonedas

 

Ahora llegó el momento de contar cómo aparecen los bitcoins y qué es la Blockchain. Una sugerencia: es posible que a lo largo del texto aparezca algo que no la/lo convenza, o sienta que se perdió o se está perdiendo. Si me tiene un poco de confianza, no abandone, no deje. Ningún detalle es ESENCIAL como para perderse para siempre, y cuando haya alguno que me parezca imprescindible, lo voy a escribir de varias maneras para intentar que quede claro.

Empecemos así. Si bien más arriba ya figuran algunas ideas, hagamos de cuenta que abre sus puertas una compañía que empezará a vender un cierto producto, digamos que empezará a vender (u operar con) monedas que voy a llamar bitcoins.

La compañía tiene múltiples sucursales en todo el mundo, pero lo notable es que cada vez que se produzca una operación (de compra o venta, que es lo único que hace la compañía) hay que anotar la transacción en un libro, que es lo que una empresa común y corriente, llamaría el Libro Mayor.

Una diferencia MUY IMPORTANTE  con la vida real es que en la vida cotidiana y en las empresas tales como las conocemos, DE ESTE TIPO DE LIBRO PARTICULAR (el que se llama LIBRO MAYOR)… ¡hay UNA SOLA COPIA! Esta copia está certificada por escribanos que con sus sellos y firmas, que garantizan que lo que está escrito, se corresponde con lo que fue sucediendo, paso a paso.

En cambio, en esta empresa que abre sus puertas hoy hay muchísimas copias de este Libro Mayor. Hay tantas copias como lugares en los que se compra y/o venden estos bitcoins. Por supuesto, las copias tienen que ser todas iguales.

Como usted advierte, comienzan a aparecer algunos problemas. En principio, como escribí más arriba, si se produce una operación de compra o venta de estas monedas en Roma y otra, ‘casi’ en el mismo momento en Chicago o en Formosa, las transacciones tienen que quedar registradas en todas las copias del libro al mismo tiempo. Pero esto no se presenta como una dificultad grave. En todo caso, hay otros problemas que parecen ser mucho más difíciles de resolver. Por ejemplo:

  1. ¿En qué idioma aparecen escritas las operaciones?
  2. ¿En qué orden aparecen si en principio no hay contacto entre las personas que están diseminadas en diferentes partes del mundo?
  3. ¿Cómo se validan? Y más importante aún, ¿quién es el que las da por válidas? ¿Quién tiene ese poder?
  4. ¿Cómo se hace para que todas las copias se actualicen al mismo tiempo?
  5. ¿Cuántas operaciones caben en cada página (o en cada bloque)?
  6. ¿Cuántas páginas tiene este libro o esta blockchain?

Estas son solo algunas de las preguntas para contestar.

Para empezar, un episodio notable: el tema del idioma. Voy a escribir una frase que si no está acostumbrada/o a leer o escuchar le va a parecer que está en chino. Téngame un instante de paciencia y verá que lo va a entender perfectamente.

Un hecho realmente singular es que la comunidad internacional se puso de acuerdo en utilizar un algoritmo que codifica la información que uno ingresa.

¡No se asuste! Me explico.

Un algoritmo es como una ‘hoja de ruta’ que sigue una computadora, una serie de pasos que está preparada para dar. Uno ingresa cierta información, y la computadora efectúa los pasos que tiene escritos y con ellos, obtiene un resultado. Sería algo así como tener una receta de cocina. Usted pone los ingredientes, que son los datos que ingresará con el teclado, y la computadora, siguiendo el programa (o el algoritmo) le ofrecerá en la pantalla (por ponerlo de alguna forma) un ‘resultado’.  

Usted tipea una cierta frase y en la pantalla de la computadora aparece un texto que codifica lo que uno escribió. ¿Qué quiere decir codificar? En este caso, quiere decir que la computadora traduce lo que usted escribió a un idioma particular, que está establecido y aceptado por todo el mundo. Y lo traduce de una forma extraordinaria. Mire cómo funciona porque es una de las cosas más fascinantes de este proceso.

Fíjese lo que sucede —por ejemplo— en español. Tome la palabra ‘matemática’. Cuente cuántas letras tiene. En total, son diez letras. La palabra ‘computadora’, tiene once letras. Las palabras ‘te’ y ‘café’ tienen dos y cuatro letras respectivamente.

Esto sucede en todos los idiomas que usted conozca y/o hable, el diccionario está formado por palabras de diferente longitud. Lo EXTRAORDINARIO es que las palabras de este ‘nuevo’ idioma que aparece en la pantalla después que usted escribió un texto, tienen SIEMPRE 64 letras. No importa cuán largo o corto sea el texto que usted ingresa: la traducción es UNA SOLA palabra que tiene 64 letras. ¿No es notable este hecho?

Y algo más: el alfabeto que usa este nuevo idioma usa nada más que 16 letras. Sí, como leyó: ¡solamente 16 letras! En español, por ejemplo, nuestro alfabeto tiene 26 letras y en general, dependiendo del idioma, no hay ninguno que tenga menos de 25. En cambio este idioma particular tiene solamente 16.

Antes de avanzar, un breve resumen con lo que escribí hasta acá y me interesa que nos pongamos de acuerdo:

  1. Usted escribe un texto cualquiera que quiere que aparezca en el libro mayor. Por ejemplo: ‘Alicia le vendió cinco bitcoins a Carmen’.
  2. Ni bien usted ‘ingresa’ este texto en su computadora, el algoritmo que traduce o codifica o convierte este texto, le asigna UNA SOLA PALABRA de este nuevo idioma.
  3. Todas las palabras de este idioma tienen la misma longitud: ¡64 caracteres!
  4. El alfabeto del que están compuestas las palabras de este nuevo idioma, tiene exactamente 16 letras.

Quizás usted se estará preguntando: ¿por qué yo uso la palabra caracteres? Es que este idioma, como escribí más arriba, usa nada más que 16 símbolos entre los cuales están los diez dígitos que conocemos (0, 1, 2, 3, 4, 5, 6, 7, 8 y 9) y también las primeras seis letras: A, B, C, D, E y F. O sea, en total, estos son los 16 caracteres que usa este nuevo lenguaje [7]:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F.

Eso sí: me importa hacer énfasis en un hecho particular. La percepción que uno tiene cuando escucha (o lee) que en este lenguaje TODAS las palabras tienen la misma longitud (64 caracteres), pero que hay nada más que 16 letras, pareciera como que ¡no van a alcanzar! Es que yo estoy diciendo que cualquier texto que yo ponga, la computadora lo traducirá a UNA SOLA PALABRA de este tipo... Parece que serán insuficientes, ¿no es así?

Me apuro con la respuesta a la pregunta que quizás usted todavía no se hizo, pero creo que en algún momento le aparecerá: la manera de contar cuántas de estas palabras hay [8] es multiplicar el número 16 por sí mismo 64 veces. Es decir:

16 x 16 x 16 x 16 x 16 x .... x 16 x 16 (64 veces) =

115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936

Como usted advierte, es un número muy grande.

El algoritmo que traduce y/o convierte cualquier texto a una sola de estas palabras, tiene un nombre (y usted puede buscarlo por internet ya que hay muchísima literatura escrita al respecto). Se llama SHA-256 (un nombre técnico), pero SHA son las iniciales de Secure Hashing Algorithm (Algoritmo Seguro de Hashing) y de hecho, es ‘casi’ auto-explicativo, en el sentido que habla sobre la seguridad criptográfica.

Ahora llega el momento de contestar otra pregunta que —quizás— usted se haga (o ya se hizo): ¿qué pasa al revés? Es decir, uno podría preguntarse:

Si yo encuentro (o invento) una de esas ‘palabras’ de 64 caracteres (elegidas entre las 16 que escribí más arriba)... ¿puedo encontrar el texto del cuál proviene?”

Por ejemplo: supongamos que yo encuentro en alguna parte escrito este texto:

A13CB8879023509BCBCB0192753789111112111387997BBBA044798728555ABC

que tiene 64 caracteres (no hace falta que los cuente y pierda el tiempo, ya lo hice yo): ¿se podrá ir para atrás’ y encontrar el texto que dio lugar a esa palabra?

La respuesta es: ¡no! Virtualmente es imposible volver hacia atrás. Como usted se da cuenta es un dato importantísimo, ya que una persona podría ‘ingresar’ a leer el texto de este Libro Mayor y encontrar ese tipo de palabras, pero, aunque la lea, no podrá deducir qué es lo que dice.

Lo que es trivial de hacer es escribir un texto cualquiera en su computadora y el algoritmo SHA-256 le asigna una única palabra de 64 caracteres extraídos entre solamente 16 letras. ¡Y listo!

Esto que acabo de escribir es muy... (lea esta palabra una vez más: “MUY”) ...IMPORTANTE. Es muy fácil codificar usando el algoritmo SHA-256, pero es virtualmente IMPOSIBLE ‘ir para atrás’, o sea, ‘averiguar de qué texto proviene’.

Y algo más que me parece interesante observar.

Supongamos que yo tipeo: “Alicia le vendió cinco bitcoins a Carmen”.

En la pantalla de su computadora aparece esta palabra:

A13CB8879023509BCBCB0192753789111112111387997BBBA044798728555ABC

Ahora, ¿qué pasaría si yo cambiara la letra ‘c’ en el nombre de Alicia, y le pusiera una letra ‘z’ (por inventar un cambio cualquiera, que pusiera Alizia en lugar de Alicia): ¿qué modificación produciría el algoritmo? Es decir, ¿cambiará mucho o poco la nueva palabra de 64 caracteres que se obtenga?

Y la respuesta es que la nueva palabra no tiene nada que ver con la anterior, aunque el cambio que usted haya hecho en el texto original haya sido tan menor como haber alterado UNA SOLA LETRA, haber pasado de la ‘c’ a la ‘z’.

La palabra nueva que codifica el texto “Alizia le vendió cinco bitcoins a Carmen” podría ser así:

BBBBZ123455678987987034CCCC72837ABABAB80473879832CCCCCCCCC213

Aquí entonces otra breve pausa: ya sabemos que hay un algoritmo que codifica los textos y los convierte a un nuevo idioma. Sabemos que este nuevo idioma tiene palabras todas de la misma longitud (64 caracteres) y que estos caracteres son en total 16, compuestos de los diez dígitos y las primeras seis letras de nuestro alfabeto. Más aún: a cada texto le corresponde NADA MAS QUE UNA PALABRA. Y por último, si uno tiene una de estas palabras de 64 caracteres extraídos de esas 16 ‘letras’ es virtualmente imposible ‘deducir’ de qué texto provino.

Al llegar acá, piense que varias personas en el mundo están produciendo nuevas operaciones y las quieren anotar en uno de los ‘bloques’ o ‘páginas’ de este libro mayor. En realidad, además de escribir que ‘Alicia le vende los cinco bitcoins a Carmen’, el texto (aunque yo no lo haya dicho hasta acá), va a incluir que la operación se produce a las 3:17 PM del 3 de enero del año 2019. Aunque sea invisible, esta información también va a estar incluida en el texto que usted codifica. No lo escribí hasta acá, pero cada operación lleva ‘incluida’ o ‘estampada’ una suerte de ‘sello’ que contiene la dirección codificada del origen, la dirección codificada del destinatario, el monto de bitcoins involucrado en la operación y la fecha.

Las transacciones en sí mismas están totalmente anonimizadas.

De este tipo de operaciones entonces, hay miles que se están produciendo en el mundo, y hay miles de personas que ‘en el mundo’ están tratando de que queden incorporadas al Libro Mayor. Y acá es donde aparecen dos ideas de las que –quizás— usted escuchó hablar:

  1. Los mineros (de los que hablé al principio de este texto). Y lo que se llama…
  2. Proof of Work (no se asuste, en inglés quiere decir: ‘prueba de trabajo’).

Ya verá qué es. Eso será para la próxima entrega.

Eso sí: cada vez falta menos.

--------------------------------

Para suscribirte con $ 1000/mes al Cohete hace click aquí

Para suscribirte con $ 2500/mes al Cohete hace click aquí

Para suscribirte con $ 5000/mes al Cohete hace click aquí