Explicando Bitcoin (Bitcoin Cash por supuesto)
He decidido transcribir esta conversación entre amigos porque cada vez se me da con más frecuencia y con ánimo de que les pueda servir a otros. La conversación es la siguiente:
Amiga: Oye, tú que llevas tiempo con eso de los bitcoins deberás ser un experto, ¿puedes explicarme cómo funciona para que yo lo entienda? Ten en cuenta lo mal que se me dan las matemáticas la informática y la economía.
Yo: Te recomiendo que acudas a internet y leas el documento original de “bitcoin: A peer to peer electronic cash system”, no sin antes acudir a sitios como la Wikipedia para entender los conceptos de clave privada, clave pública, firma electrónica, hash y dirección bitcoin.
A: Pero ya me conoces, soy muy perezosa y no lo voy a hacer. ¿No podrías hacerme un resumen para torpes?
Y: Bueno lo voy a intentar, pero lo más importante es que inviertas parte de tu tiempo en una buena formación, no es necesario que conozcas todo al detalle, pero sí los conceptos más importantes. Si algo no lo entiendes bien desconfía hasta que seas capaz de entenderlo. No confíes en cualquiera que te diga algo que no seas capaz de entender, puede tener buenas intenciones (o puede que no).
A: No si yo me fio de ti.
Y: Pues lo primero que te pido es que no te fíes de mí tampoco, el mundo de las criptomonedas utiliza el refrán: “No te fíes, comprueba”. Ya verás como en esta conversación aparecen muy frecuentemente las declinaciones de comprobar.
A: De acuerdo.
Y: Empezaremos por el concepto de clave privada. Una clave privada es un número, o mejor aún un número muy grande.
A: Pero, ¿Cómo cuánto de grande?
Y: Es un número de 78 cifras.
A: Y para qué sirve.
Y: Se utiliza para poder firmar electrónicamente mensajes que todo el mundo pueda comprobar su validez.
A: No lo entiendo.
Y: Aquel que conoce una clave privada (un número de 78 cifras) obtiene mediante una función su correspondiente clave pública. Esta segunda clave se llama pública porque no importa que la conozca el resto del mundo. Existen algoritmos para a partir de un mensaje inicial y con la clave privada obtener un añadido al mensaje que llamamos firma electrónica. Cualquiera puede comprobar, con otro algoritmo complementario, la validez de un mensaje junto con su firma electrónica y una clave pública. Es decir, que el mensaje inicial fue firmado por alguien que conocía la clave privada correspondiente con la clave pública dada y además dicho mensaje inicial no ha sido modificado desde entonces.
A: ¿Y esos mensajes que son?
Y: Normalmente son las transacciones de bitcoins, pero podría ser un mensaje para anunciar algo al mundo y que cualquiera pueda comprobar la veracidad del mensaje.
A: ¿Qué importancia tiene que un mensaje haya sido modificado o no?
Y: Si un mensaje es un envío de bitcoins de tu cuenta a la mía y yo modifico la cantidad o la cuenta de destino, o cualquier detalle por insignificante que parezca, dicho mensaje no se considerará valido por todo aquel que lo compruebe y recuerda que en este mundo nadie se fía de nadie y todo el mundo lo comprueba todo.
A: ¿Eso no es lo mismo que los certificados digitales y la firma electrónica que usamos para hacer las declaraciones de la renta por internet?
Y: Están basados en las mismas tecnologías, pero los certificados digitales son emitidos normalmente por una entidad de la administración del estado y se asocian a una identidad, mientras que las claves privadas de bitcoin son completamente anónimas, nadie sabe quién es el propietario de esas claves.
A: Bueno, la firma electrónica ya la estoy usando cada día en muchas cosas por internet y me fío de ella hasta cierto punto, pero no sé si tanto como hasta para confiarle parte de mí dinero.
Y: Me gusta que por fin seas desconfiada, solo te pediré que apliques esa misma desconfianza a todas las cosas, no solo a bitcoin. Es decir, que también desconfíes del Euro y de los bancos, aunque eso lo dejaremos para otra conversación en otro momento.
A: Sí, eso mejor en otro momento.
Y: Continuamos entonces con bitcoin. Voy a utilizar un símil para explicar ciertas cosas. Como tú estás acostumbrada al concepto de la cuenta de tu banco, la cuenta de bitcoin va a ser una urna transparente depositada en un lugar público como la plaza mayor de Salamanca. Como la urna es transparente cualquiera que pase por allí puede ver el contenido que hay dentro.
A: Entonces, ¿cualquiera puede ver el saldo de mi cuenta?
Y: Cualquiera puede ver el saldo y el histórico de transacciones de esa cuenta, lo que nadie debería saber es quien es el propietario de esa cuenta.
Y: Sigo con el símil, esa urna tiene un candado con ruedas de números de 78 cifras. Cualquiera puede intentar abrirla probando varias combinaciones y si lo consigue pueda sacar y llevarse su contenido. La combinación de 78 cifras que la abre es la clave privada de la cuenta.
A: Si cualquiera puede intentar varias combinaciones entonces no es seguro.
Y: Haz la prueba de poner una combinación de 78 números y olvidarte de ella, te aseguro que te quedas sin poder abrir el candado, o lo que sería equivalente en bitcoin, perderías los fondos depositados en esa cuenta. Hay muchos que han intentado obtener la combinación (clave privada) que le da acceso a cuentas que tienen fondos cuantiosos y no han sido movidos desde su transacción inicial desde hace más de 10 años. Si pierdes las claves te quedas sin acceder a la cuenta, pero ni tú ni nadie va a poder acceder a dicha cuenta. Esos ataques intentando diferentes combinaciones los llamamos ataques de fuerza bruta y como te digo todavía no se conoce ningún caso de éxito, a pesar de las enormes recompensas que les esperan a aquellos que lo consigan.
A: Vale, entiendo la dificultad de encontrar una combinación de 77 números, pero algún día hare pruebas de ese ataque de fuerza bruta.
Y: En la urna aparece una etiqueta que dice “bitcoincash:qpaknxwen8nu8f3h83utlpkjhx3flw5zdy9gs0xyzj” que es lo que llamamos dirección de la cuenta. Se usa para que cualquiera con tan solo conocer la dirección te pueda realizar envíos de dinero a esa cuenta.
A: Y si alguien se equivoca cuando pone la dirección.
Y: La dirección tiene alguna información redundante que permite verificar su validez frente a errores de tecleado, es prácticamente imposible que tengas alguna equivocación y la dirección que resulte sea válida.
A: Haré pruebas de eso.
Y: Entonces una cuenta es una urna transparente con un candado cuya combinación llamamos clave privada y una dirección para poder recibir transacciones, porque cuando se crea una cuenta obviamente está vacía, no tiene saldo.
A: ¿Cuánto me cuesta esa cuenta-urna? Tiene un coste de apertura y/o de mantenimiento.
Y: Esa cuenta-urna la creas tú desde tu ordenador/tableta/smartphone y por tanto no te cuesta nada, lo que te va a costar es que te la rellenen con saldo. De hecho, como el coste es 0, lo habitual es crear varias cuentas-urna para aumentar la privacidad.
A: ¿Por qué es tan importante la privacidad?
Y: Te recuerdo que a partir de una dirección cualquiera puede obtener el saldo y el histórico de transacciones de la cuenta asociada a dicha dirección. Si tú usas bitcoin para pagar en un bar no te gustaría que el del bar viera el importe del ingreso de tu nómina. Tampoco te gustaría que en tu empresa se supiera que gastos haces con la cantidad que te ingresan. Para aumentar la privacidad se utilizan muchas cuentas de usar y tirar cuando ya estén vacías, así como técnicas mas sofisticadas de mezclas de muchas cuentas en una misma transacción.
A: Ahora entiendo la necesidad de la privacidad en todo lo relativo al dinero.
Y: Continuamos. Una vez que tú tienes una cuenta-urna yo te puedo enviar dinero a esa urna. Voy a hacerte la demostración. Descárgate en el móvil el monedero Crescent Cash (o cualquier otro) y ahora te mando una transacción (tx en adelante) de 1 €.
A: ¡Qué poca generosidad!
Y: Lo consideraras aún menos generoso ahora cuando me vas a enviar de vuelta 0,5 €.
A: Uy, que rápido han ido las tx.
Y: Sí, es muy rápido.
A: Entonces esas tx, ¿cuestan dinero?
Y: Sí, tienen una comisión muy pequeña, en la mayoría de los casos inferior a un céntimo de €, y además es independiente de la cantidad enviada.
A: Es como una transferencia entre cuentas de un banco mezclado con una transferencia bizum entre móviles.
Y: Así es, pero lo más importante y que lo distingue de los casos mencionados es que para realizar pagos entre tú y yo no hemos pedido permiso a nadie, ni necesitamos a un tercero, ni nadie puede evitar que lo hagamos.
A: Esto último que has dicho suena muy bien pero no me ha quedado muy claro.
Y: En una transferencia entre cuentas de bancos necesitamos que las cuentas hayan sido creadas previamente en un banco, es decir le pedimos permiso para operar con nuestra cuenta y además el banco conoce la identidad de los titulares. Sin embargo, si yo pago con billetes de euro de efectivo ese pago se hace entre personas sin pasar por intermediarios (terceras partes) y los billetes no son de nadie, tú no puedes pedir que este billete es tuyo porque te sepas su número de serie, por ejemplo. Los pagos de efectivo de una cantidad mayor de 1000 € están censurados en nuestro país por las leyes en vigor.
A: Entonces bitcoin es un dinero que yo tengo en una cuenta que me creo yo, que la controlo yo, que nadie me los puede quitar y que puedo utilizar para pagar sin pedir permiso, sin utilizar intermediarios y nadie puede evitar esos pagos. Eso es un ataque muy directo a la función que a día de hoy realizan los bancos.
Y: Efectivamente, otra de frases típicas del mundo de bitcoin es “conviértete en tu propio banco”. Ni que decir tiene que a los bancos no les hace mucha gracia.
A: Pero no entiendo cuando dices que nadie puede evitar el envío de dinero entre dos particulares. Con cortar el acceso a donde están las urnas nadie podría hacer transacciones.
Y: Buena pregunta. El intento de separar el control del dinero del poder de los estados es un concepto muy antiguo y con intentos anteriores que todos fracasaron por la idea que tú comentas. Como a los estados no les gusta la competencia que este nuevo concepto de dinero supone, basta con atacar a los que lo controlan para controlarlo. Es por ello que en el mundo de bitcoin nadie tiene el control, se dice que es un sistema descentralizado. Es decir, en lugar de tener las urnas solo en la plaza mayor de salamanca, se tiene una copia de las urnas en todas y cada una de las plazas mayores de todos los pueblos del mundo, de hecho yo tengo una copia de todas las urnas en el ordenador de casa. Esta necesidad de descentralización da lugar a la aparición de nuevos problemas, pero de momento tienes que entender que la forma con la que se consiguen las propiedades de usarlo sin permiso, sin necesitar a un tercero y que nadie pueda evitar que hagamos tx es gracias a la descentralización.
A: Entiendo que puedo controlar el acceso a una o un número reducido de plazas mayores, pero si son muchas ya no puedo controlar el acceso a todas y cada una de ellas y si además cualquiera lo puede tener en el ordenador de su casa tendría que poder controlar también todos esos ordenadores.
Y: Muy bien, esa es la clave, la descentralización como medio para conseguir la resistencia a la censura.
A: Entiendo.
Y: Por desgracia con la descentralización aparecen otros problemas técnicos que requieren soluciones técnicas que en muchos casos afectan al sistema en forma de limitaciones.
A: ¿A que problemas y limitaciones te refieres?
Y: Con la descentralización aparecen inconsistencias entre la información manejada por cada plaza mayor de forma que aunque la inmensa mayoría de las urnas tienen el mismo contenido, cuando una tx saca dinero de una urna para depositarlo en otra esa información no se replica de forma instantánea a todas las plazas mayores, lo que puede ser aprovechado por algunos listillos para realizar lo que conocemos como “doble gasto”, es decir gastarlo una vez en las urnas de la plaza mayor de Salamanca y hacer lo mismo con el mismo dinero de origen en la misma urna de otra plaza mayor.
A: ¿Y que ocurre en ese caso?
Y: Este fue un problema que se consideraba que no tenía solución hasta que en 2008 Satoshi Nakamoto (un pseudónimo) publicó su trabajo: “Bitcoin: A peer-to-peer electronic cash system”.
Y: Los nodos de las plazas mayores se comunican entre sí y cada uno intenta demostrar que ha realizado un trabajo como consecuencia del cual han encontrado una solución a un problema y les da el derecho a decidir qué tx que sea válida se confirma como tal, es decir en el caso de un ataque de doble gasto seleccionarán una de las dos, pero nunca se confirmaran las dos. Cuál de las dos será confirmada dependerá de los criterios aplicados por esa plaza mayor, pero un criterio comúnmente aceptado es que se confirmará aquella de la que antes tuvo constancia. Como tiene que invertir un gran trabajo para encontrar la solución al problema el sistema además le recompensa con unas monedas de nueva creación.
A: ¿Esto que me estás contando es lo que todo el mundo lo llama minería?
Y: Efectivamente, para evitar el doble gasto y asegurar un consenso entre la información manejada por todas las plazas mayores, algunas plazas mayores tienen ingentes recursos dedicados a resolver un problema y de esa forma dotar de seguridad al sistema. Esos recursos dedicados a tal finalidad se aseguran gracias a un sistema de incentivos basado en la recompensa obtenida por encontrar la solución mas las comisiones de las tx incluidas como confirmadas.
A: Entonces ser una plaza mayor minera es un chollo.
Y: Te aseguro que el mundo de la minería es altamente especializado y competitivo entre todas las plazas mayores del mundo, precisamente porque cualquiera puede hacerlo. Por ello no te recomiendo que intentes ser minera de bitcoin.
A: Te haré caso y no intentaré ser minera.
Y: Ahora que conoces el símil he de decirte cuales es la terminología usada en el mundo de bitcoin. Las plazas mayores se les llaman nodos. Algunos de estos nodos dedican sus esfuerzos a conseguir encontrar la solución al problema y se les llama nodos mineros. Cuando un minero encuentra una de esas soluciones se dice que ha minado un bloque. El bloque lo llena con las tx elegidas como confirmadas con su solución. Estos bloques están ligados unos con otros formando una cadena por lo que también se le llama cadena de bloques o su equivalente en inglés “blockchain”. Todo esto es jerga, los conceptos son los que te he contado.
A: Sí ya había oído hablar de blockchain y sus maravillas que no llegaba a entender.
Y: Voy a seguir con las limitaciones derivadas de la necesaria descentralización.
Y: Con la descentralización de los nodos y tanta comunicación de tx entre todos ellos aparece un problema de escalabilidad, es decir, el sistema no puede aguantar una carga de tx ilimitada.
A: ¿Qué número de tx puede aguantar el sistema?
Y: Aquí aparecen diferentes versiones de bitcoin con diferentes enfoques.
A: Sí ya había oído que había diferentes tipos de bitcoin.
Y: Tienes que tener en cuenta que bitcoin no es controlado por nadie, incluso su creador desapareció de la escena para no permitir que nadie pudiese decidir su destino. Cuando no es controlado por nadie y aparecen ciertos problemas surgen diferentes facciones con soluciones diferentes frente a dichos problemas.
A: ¿De qué problemas estamos hablando?
Y: Aproximadamente en 2015 se intuyó que el sistema tenía unas limitaciones por las que solo podía confirmar aproximadamente 4 tx por cada segundo. Como se preveía que dicho límite iba a ser alcanzado por la demanda de tx aparecieron dos facciones. La primera facción consideraba que la red de bitcoin debía de ser una red para reflejar las tx de mayor valor o importancia, dejando el resto de tx a otras soluciones fuera de la misma red. La segunda facción consideraba que la red bitcoin debía de ser una red para reflejar todas las tx posibles por lo que había que aumentar los límites técnicos tanto como fuese posible. La primera facción se quedó con el nombre de bitcoin, o bitcoin core como algunos nos gusta llamarla, mientras que la segunda facción se denominó de los bloques grandes y su cadena de bloques se bifurcó el 1 de agosto de 2017 dando lugar a la aparición de Bitcoin Cash.
Y: Como te dije nadie tiene el control de bitcoin y por ello hay mucha gente que intenta adueñarse de él. Así pues, dentro de la facción de los bloques grandes, un grupo liderado por una persona que dice ser Satoshi Nakamoto, pero que no ha presentado pruebas de que lo sea, intentó tomar el control de bitcoin cash en la denominada guerra de hash que tuvo lugar el 15 de noviembre de 2018. Cuando perdieron dicha guerra de hash para tomar el control de la cadena de bloques de Bitcoin Cash, mantuvieron la cadena perdedora dando lugar a la aparición del denominado Bitcoin SV (Satoshi Vision), pero a mi me parece un nombre más adecuado el de Bitcoin CV (Craig Vision) ya que como te decía Craig S. Wright alega ser Satoshi Nakamoto, pero no ha presentado ninguna prueba de ello.
A: Y tú ¿con cuál de los tres bitcoins te sientes más identificado?
Y: Ya te advertí al principio que no debías fiarte de mi criterio y hacer tú misma los deberes. Pero para no esquivar la pregunta yo considero a Bitcoin Cash el heredero legítimo del trabajo inicial de Satoshi Nakamoto y por tanto el verdadero Bitcoin.
A: Puff! Vaya acumulación de nuevas ideas, debes darme tiempo para asimilarlas.
Y: No hay problema continuaremos otro día.
Gracias a tí Sofia.