Explicando el Bitcoin y otras criptomonedas




El tema de las criptomonedas, el Bitcoin y el Blockchain ya no es algo nuevo ni de lo que se haya hablado poco, sin embargo cada vez que hablo con alguien al respecto me doy cuenta de que hay varios mitos, temas entendidos de forma parcial y percepciones erróneas.

Le explicaba a un amigo algunos de esos puntos y me dijo que no había logrado entender ni encontrar información al respecto de forma clara y concisa. Espero con este artículo poder contribuir y de alguna forma ayudar a entender de qué se tratan estas nuevas tecnologías, qué se puede lograr con ellas y lo que habría que evitar para no tener problemas con ellas.

Para entenderlas mejor, hay varios conceptos que deben quedar claros:

Datos, información, archivos. Si bien son conceptos distintos, en este texto usaré (tal vez de forma irresponsable pero no por ello menos conveniente) de forma indistinta los conceptos de "datos", "información", "documento" y hasta "archivo", para referirme en todos los casos al contenido de un paquete de datos en algún medio electrónico.

Cifrado y criptografía. Son técnicas para proteger información mediante mecanismos que rompen su integridad haciéndola ilegible e irrecuperable de forma voluntaria, a menos que se cuente con una llave o clave para recuperarla. En algunos textos traducidos lo encontraremos como encripción por su contraparte en inglés: encription.

Función hash o hash. Esto se refiere a una función que a través de algoritmos criptográficos, permite obtener una "huella digital" de un archivo o documento electrónico, de forma que el documento completo puede ser codificado en una cadena de caracteres con una longitud predeterminada, corta, y de la cual no es posible obtener nuevamente el documento original, solamente es posible corroborar su autenticidad, de la misma manera que podemos identificar a una persona a través de sus huellas digitales, pero no podríamos conocer el resto de sus características como altura, peso, color de ojos, rasgos, etc. En teoría dos documentos de origen no podrían producir el mismo hash, aunque en varias funciones de hash se han logrado generar "colisiones" que son dos orígenes que generan el mismo hash. La posibilidad de que estas colisiones existan está ligada a la longitud predeterminada de hash (por lo que un hash con una cadena larga es más seguro que uno con una cadena corta), también está ligada a la complejidad de los algoritmos que generan el hash, normalmente asociados con la generación de números primos muy grandes, y también está ligada a la longitud de los documentos o información de origen, de forma que aquellos orígenes de longitudes cortas son menos susceptibles a que existan colisiones que aquella información de origen con una longitud mayor.

Blockchain. Esto, como su nombre lo dice, es una cadena de bloques. En realidad, no sólo una cadena de bloques: el blockchain es una tecnología más que un producto, así que existen muchos blockchains distintos y cada uno tiene objetivos distintos. El primero y hoy en día más significativo es el blockchain del Bitcoin, creado por Satoshi Nakamoto para soportar las transacciones de la criptomoneda. El elemento común entre todos los blockchain es que se trata de un libro de registros (Ledger en inglés) en el que se puede registrar o almacenar cualquier tipo de información como una base de datos, con algunas características importantes:
-      Descentralizado y distribuido: no se encuentra almacenado en un solo lugar, ni requiere de una autoridad central que lo administre. Existe un grupo grande de gente llamados "mineros" y cada uno tiene una copia completa del libro de registros.
-      Altamente disponible y con muy alto nivel de no repudio: consecuencia del punto anterior, al no existir un solo lugar donde se almacene, la disponibilidad de la base de datos completa es muy alta dado que hay muchísimas copias, en manos de cada uno de los mineros en la red. De la misma forma, la credibilidad de cada registro es muy alta y hay muy pocas posibilidades de corrupción intencional o accidental de la información ya que puede comprobarse la integridad de la información con todos los demás miembros de la red de mineros, ya que el registro es público. Se requeriría coludir a la mayoría de los mineros para alterar un registro, y dado que se trata de personas con intereses muy distintos, en varias partes del mundo y bajo control de distintas organizaciones, esto es poco probable. Existe el riesgo de que alguna entidad tomara el control de una porción significativa de la red de mineros, aunque es muy baja hoy, podrían cambiar en el futuro si disminuyen la motivación para que haya nuevos mineros, la complejidad del minado crece y se hace poco redituable para los pequeños mineros, esto en conjunción con una caída o falta de crecimiento en el precio de la moneda que lo soporta. Pueden leer más aquí al respecto: https://www.coindesk.com/ahead-bitcoin-halving-51-attack-risks-reappear/
-      Modularidad: la información almacenada se encuentra separada en bloques, cada uno de estos bloques es uno de los eslabones en la cadena y que tiene 3 elementos: 
1)   el hash del bloque anterior, de forma que siempre se puede identificar la posición que le corresponde a cada bloque con respecto de los anteriores. 
2)   un estampado de tiempo que identifica en momento en el tiempo en el que se registró el bloque. 
3)   la información registrada, que puede ser de cualquier tipo, solamente con la limitación de que cada bloque tiene una longitud predeterminada, según las características del blockchain (para el caso del Blockchain de Bitcoin la longitud es de 1 megabyte) que es de un tamaño reducido, por lo que si se requiriera almacenar grandes cantidades de información se necesitaría utilizar varios bloques, por ello es poco común almacenar en el Blockchain información con una longitud muy grande, ya que el registro de cada bloque tiene un costo, que es uno de los incentivos que tienen los mineros para hacer esta función. Por eso lo más utilizado es sólo almacenar el hash de la información o documentos que se desea registrar, para que la información original sea almacenada en otro sitio y el registro en el blockchain sirva para corroborar su autenticidad, sin importar quién lo tenga almacenado. Otra solución común para almacenar grandes cantidades de información es hacerlo en otros blockchain distintos al de Bitcoin, que tengan una longitud de bloques más grande y el costo de registro por bloque sea menor.

Cifrado asimétrico. El cifrado convencional o simétrico utiliza una clave que es compartida por cada uno de los que requieren tener acceso a la información, lo cual abre la posibilidad de que esa clave sea extraviada, compartida con alguien no autorizado o interceptada. Para contrarrestar esta problemática se utilizan métodos de cifrado asíncrono, donde cada persona o entidad tiene un par de llaves: una llave pública y otra privada, de forma que si Alicia quiere enviar un mensaje cifrado a Roberto (de cariño Bob) ella toma la llave pública de Bob, que como su nombre lo dice, puede ponerse a disposición de cualquiera sin que eso signifique un riesgo. Con la llave privada de Bob, Alicia cifra el mensaje y a partir de ese momento nadie, incluso Alicia, podrá abrir el mensaje, solamente Bob utilizando su llave privada. Esto tiene la ventaja de que cada quien tiene una llave que no necesita compartir con nadie más y que cualquiera puede enviarle información de forma segura a otro, con solo conocer su llave pública. Esto también funciona a la inversa, si Bob utiliza su llave privada para cifrar un documento, proceso al que normalmente se le llama "firmar el documento", Alicia puede tomar la llave pública de Bob, utilizarla para descifrar el mensaje firmado y obtener un hash, que puede comparar con la generación de otro hash directo del documento y comparar ambos hashes. Si coinciden quiere decir que el documento en efecto fue firmado por Bob y que no fue alterado.

Ahora sí: El Bitcoin. Es una moneda que utiliza un blockchain en particular: el Blockchain de Bitcoin (con mayúscula para distinguirlo de cualquier otro blockchain), para registrar las transacciones de envío y recepción de esta moneda; para ello se utiliza como dirección de envío una llave pública del destinatario llamada Wallet (billetera) y el remitente firma el envío con su llave privada, de esta manera solo el destinatario podrá abrir el envío y podrá corroborar su procedencia con la llave pública del remitente. Por esta razón se les llama criptomonedas, porque utilizan estos métodos criptográficos para el registro de las transacciones. De esta forma una transacción en el Blockchain de Bitcoin tiene todas las características que mencionamos de un blockchain, como no repudio, alta disponibilidad, descentralización y distribución, pero también las transacciones registradas en el Blockchain son seguras al usar el cifrado asimétrico (siempre y cuando no se dé a conocer la llave privada del Wallet). En el Blockchain, los mineros:
-      Reciben las transacciones que buscan ser subidas por los remitentes al Blockchain
-      Verifican que las transacciones sean válidas
-      Agrupan las transacciones en un bloque (1 megabyte)
-      Incluyen como encabezado del nuevo bloque el hash del bloque anterior y un estampado de tiempo
-      Resuelven la "Prueba de Trabajo" (esta es una parte importante que detallaré más adelante)
-      El minero que resuelve la Prueba de Trabajo firma el bloque y lo agrega al Blockchain

La Prueba de Trabajo consiste en buscar cadenas de caracteres que den como resultado un hash determinado, recordando que un hash se trata de una función que genera una cadena de salida de longitud predeterminada para cada cadena de entrada, independientemente de su longitud. Este proceso como ya comentamos no es reversible, de forma que no es posible de manera sencilla obtener la cadena de entrada usando como base la cadena de salida. La Prueba de Trabajo consiste en "adivinar" la cadena de entrada correspondiente al valor del hash objetivo en un momento determinado; esto lo hacen los mineros probando las combinaciones una por una de las posibles cadenas de entrada, hasta conseguir dar con una que genera un hash como el esperado. Estas pruebas de trabajo van siendo cada vez más complicadas, de forma que el encontrar el resultado esperado toma cada vez más esfuerzo, tiempo y recursos de cómputo. Esto es compensado de alguna manera con el creciente número de personas y equipos dedicados a la minería; el objetivo es que se consiga una nueva prueba de trabajo cada 10 minutos sin importar la complejidad, el número de mineros o la capacidad de cómputo en la red. A cada minero que concreta una nueva prueba de trabajo y por ende firma un nuevo bloque se le asignaban 25 bitcoins hasta julio de 2016 y 12.5 a partir de esa fecha. Esos bitcoins entran al mercado gracias a que los mineros lo ponen a la venta. Podemos asumir que cada 10 minutos entran en circulación 12.5 nuevos Bitcoin.

El Bitcoin adquiere valor y es demandado en el mercado por varias razones:
-      Es identificado como un sistema monetario descentralizado, que no depende de un banco central y que sirve para realizar transacciones a nivel global, a un costo más bajo en comparación con otros sistemas existentes como SWIFT (el sistema de transferencias interbancarias a nivel mundial). Siendo entonces una alternativa al sistema bancario tradicional y posicionándolo como un medio de pago seguro, rápido y con suficiente trazabilidad de operaciones. Esto ante un descontento hacia la banca tradicional y el sistema financiero capitalista que lo respalda
-      Ya que cada persona puede generar un par de llaves criptográficas para tener nuevas Wallets y con ello recibir o enviar bitcoins, no existe un registro central de la identidad de la persona detrás de cada Wallet, por ello es considerado un sistema de transacciones anónimas. Sin embargo hay que tomar en cuenta que si recibimos bitcoins siempre en el mismo Wallet, esto le da visibilidad y trazabilidad a las transacciones y podría hacer identificable a la persona que hay detrás. De hecho así es como varios grupos de policía y gobiernos han logrado identificar a las personas detrás de Wallets asociados a fraude, extorsión, ransomware y otras actividades ilícitas. Por otro lado, los gobiernos de varios países han establecido reglas para que las organizaciones o personas que venden criptomonedas registren la identidad de las personas que realizan transacciones de compra.
-      Existe un límite en la cantidad de bitcoins que serán minados. Esto aunado a que la complejidad de minarlos es cada vez más alta, así como la oferta por ellos, provocando un efecto de apreciación en el mercado. El diseño del Bitcoin contempla un límite de 21 millones de bitcoins, que será alcanzado en el año 2140 al ritmo establecido de 10 minutos por bloque, 12.5 bitcoins por bloque y que esta cantidad se divide a la mitad cada 210,000 bloques
-      Se han creado instrumentos bursátiles y derivados que especulan sobre el valor del Bitcoin, convirtiéndolo de alguna manera en un "instrumento de inversión". 
-      O sea, su valor es mera especulación sobre la utilidad que tiene o podría tener el Bitcoin en la economía local y global.

Pasemos ahora al surgimiento de otras criptomonedas. Tomando como ejemplo primero la segunda en relevancia actualmente, se trata de la plataforma Etherum y su moneda Ether. Ésta se creó también basado en un blockchain, con la intención de que el proceso de minado y todo lo que hay detrás, no fuera sólo para dar soporte al sistema mismo (sólo en el mundo digital) sino a algo en el mundo real. En este caso el objetivo es el registro de contratos que puedan operar de manera automática con respecto de las contraprestaciones y penalizaciones en ellos establecidas, llamados contratos inteligentes. Aprovechando las características de no repudio, alta disponibilidad y confidencialidad que tiene un blockchain, subir contratos en él ofrece posibilidades interesantes para mantener un registro en todo momento actualizado, descentralizado, público, seguro y en este caso asociado al Ether como sistema de pago para la cancelación de los compromisos contractuales. 
De esta manera cada vez que alguien compra Ether puede hacerlo para con ello dar soporte a un contrato inteligente montado en la plataforma Etherum o solamente por interés en la moneda, en cualquier caso es una manera de fondear una plataforma en crecimiento. 

Existe otro ejemplo interesante, que es la plataforma Ripple y su moneda XRP. Esta plataforma está diseñada para ser un sistema de pagos interbancarios. Uno de los primeros bancos que decidió invertir en este proyecto fue Santander y recientemente Western Union anunció que realizará pruebas para montar sus envíos de dinero sobre Ripple. Así es que cuando alguien adquiere la moneda XRP está fondeando la plataforma Ripple y con ello el proyecto para un sistema alterno de transacciones interbancarios.

Así es como hoy en día la creación de criptomonedas se está convirtiendo, a veces silenciosamente, otras de forma más abierta, en un mecanismo para hacerse de fondos para financiar proyectos específicos, una especie de "crowd funding" donde si el proyecto tiene éxito el valor de la moneda podría tender a subir y si no es así, podría tender a bajar. Diariamente hay nuevas ofertas de Ofertas Iniciales de Monedas (ICO por las siglas en inglés de Initial Coin Offering) que a modo de una salida al mercado ofrecen un número de sus monedas o tokens a un grupo específico de inversionistas, algo parecido a una IPO (Initial Public Offering) en el mercado bursátil, pero en pequeño.

Quiero recalcar que, si bien tengo bitcoins y otras criptomonedas, no creo que hoy debieran ser vistos como instrumentos de inversión, a menos que se entienda bien el proyecto en el que se está invirtiendo, que el valor de la moneda dependerá del éxito del proyecto y que esos proyectos toman tiempo en consolidarse. Yo le comento a la gente que me pregunta si es un buen medio de inversión, que se parece más a jugar en Las Vegas que a invertir en algo estable. También habría que estar alerta, porque como en todo hay engaños y fraudes en cada esquina, tanto en nuevos proyectos y criptomonedas, como en los mecanismos de compra de Monedas ya consolidadas como Bitcoin o Ether.

La forma más sencilla y segura de comprar criptomonedas es acercarse a una "Casa de cambio de criptomonedas" o Exchange, que funciona como una plataforma para que los usuarios depositen dinero en moneda corriente en una cuenta de banco, con esto alimenten el saldo de su cuenta en esa plataforma (similar a cuando compramos tarjetas de prepago para plataformas como eBay, ITunes, Xbox Live, etc) y con ello adquirir criptomonedas dentro del Exchange, comprándolas de los demás usuarios que las venden. 

Para esto la mayoría de los Exchanges solicita inicialmente un registro de usuario y permite hacer transacciones por un monto limitado. Para poder hacer transacciones más grandes normalmente piden más información del usuario, como copia de documentos oficiales, comprobante de domicilio o algún formato donde se declara el origen de los fondos que se piensa utilizar en la plataforma.

En México el Exchange más grande se llama Bitso, https://bitso.com/?ref=icgk
Ahí a través de un depósito en un banco mexicano o en tiendas de conveniencia se puede fondear la cuenta para con ello comprar Bitcoin, Ether, XRP, Litecoin y hay planes de incluir algunas otras. 

Por último, algunas recomendaciones en caso de que decidan comprar criptomonedas:
-      Háganlo en sitios con buena reputación y que sean seguros
-      Utilizar una contraseña robusta, que no sea la misma a la utilizada en otros servicios y de ser posible habilitar en las plataformas la autenticación de 2 factores para reforzar la seguridad de su dinero
-      Si piensan tener una moneda por un tiempo largo, es conveniente pasarla a un "cold storage" o "paper wallet" de un solo uso (https://www.coindesk.com/information/paper-wallet-tutorial/ ), que básicamente es tener una llave pública y una llave privada de un Wallet que no depende de ningún Exchange o plataforma en línea y que sólo se puede acceder dándole de alta cuando se va a sacar el dinero, en algún sistema como blockchain.org para Bitcoin.
-      No metan todos sus ahorros en criptomonedas pues el precio es inestable y podrían terminar en pérdidas monetarias


Comentarios

Publicar un comentario

Entradas populares de este blog

Investigación Forense con Autopsy

Preocupaciones y propuestas sobre los cambios en la ley Telecom y la CURP biométrica

Plausibilidad técnica vs prudencia analítica: mi análisis sobre el caso del presunto uso de Claude para vulnerar datos en México