Saltar al contenido

Palabra de Satoshi

julio 15, 2020
qhite paper de bitcoin

Es la tercera vez que leo el white paper de bitcoin y me quedé sorprendido de las cosas que se comprenden en cada lectura, luego de mantenerte en constante aprendizaje sobre este entorno.

La primera vez que lo leí, lo entendí pero me quedé con la sensación que te queda cuando comienzas a jugar un videojuego y pasas por el tutorial. Me refiero a que entiendes lo que lees, pero no eres capaz de visualizar las posibilidades con pura teoría.

La segunda vez que lo leí  fue una experiencia muy diferente, ya había pasado por esa etapa, en la que lo único para lo que queremos bitcoin es para ganar dinero. En este punto ya lo veía como una tecnología.

La revelación ocurrió en mi tercera lectura, solo estaba buscando el fragmento donde hace referencia a los bloques en cadena, y terminé leyendo por completo el white paper con una perspectiva totalmente distinta.

Te voy a ayudar a comprender el white paper.

También disponible en audio

El white paper de bitcoin

Un sistema de efectivo electrónico peer to peer, se puede leer en el título.

A pesar de ser solo un título, hay criptomonedas que han basado su existencia en solo esta pequeña frase, han asociado la palabra efectivo con dinero del diario.

Con base en este punto de comparación, estas criptomonedas toman el argumento de que no se puede comprar una botella de agua o un café, pagando con bitcoin porque es muy lento. Argumento que sirve para que puedan ofrecer su shitcoin que permite transacciones instantaneas.

Como se que existe esta confución entre efectivo y dinero del diario, me fui a wikipedia para ver que significa efectivo y encontré lo siguiente:

Efectivo es el dinero que se lleva encima, el dinero que llevas en la cartera, se define como dinero contante y sonante, dinero tangible que no está forzozamente en la base de datos de un banco o de otra entidad. 

Bitcoin no encaja con esta definición, porque bitcoin no se puede llevar en una cartera, aunque las wallets tengan esta definición en su nombre, el término correcto sería llavero y lo que llevas contigo no son monedas sino llaves.

Dice la definición que es dinero tangible, pues bitcoin tampoco es eso, además agrega que es dinero que no necesariamente está en una base de datos. Resulta que bitcoin siempre está en una base de datos llamada blokchain.

Hasta este punto bitcoin no se semeja para nada con el término efectivo. Pero el artículo de wikipedia continua y dice: En la economía, el dinero efectivo es considerado de mucha más liquidez que otras formas de representaciones de valor económico, incluso más líquido que el denominado dinero bancario.

Entiéndase liquidez como la facilidad de intercambiar un activo.

Entonces entiendo que cuando critican a bitcoin por no poder comprarse un café, es porque están tomando la definción del consumidor, para nosotros el efectivo es lo que llevamos en la bolsa.

Desde el punto económico (que ahora sé que es el punto al que Satoshi se refiere), efectivo es una moneda con un mayor grado de liquidez, que supere incluso al dinero bancario.

La liquidez a la que se refiere al utilizar el término efectivo, es a una liquidez mundial descentralizada. Al hecho de que no hay que cambiar de moneda para pagarle a alguien que está en otro país, saber que procesador de pago acepta, que moneda maneja, cual es la cotización de cambio de mi moneda con la de la otra persona etc.

Per to peer significa entre pares, el consumidor y el que ofrece algo a cambio son los pares a los que hace referencia el título del white paper. Es posible llegar a un acuerdo económico que solo involucre a estos dos pares.

Para esto no importa si uno de ellos es una empresa, un gobierno, una persona, su edad, su nacionalidad, la región donde vive etc. Bitcoin es la moneda con mayor liquidez en el mundo, porque es la única moneda internacional.

Satoshi no quiso solucionar un problema local entre tú y la cafetería más cercana, Satoshi solucionó un problema internacional que jamás va a ser solucionado de otra forma. Porque el dinero es poder, aceptar la moneda que se maneja en otro país hace ver que se perdió poder.

Todo lo que ahora podemos comprender con solo el título.

Introducción a bitcoin

En la introducción encontramos al siguiente enunciado: Lo que se necesita es un sistema de pagos electrónicos basado en pruebas criptográficas en lugar de confianza.

Satoshi en este punto propone eliminar la confianza que se le da a un tercero y cambiarla por un modelo auditable, un modelo en el que la información esté encriptada y cualquiera con acceso a un dispositivo conectado a internet la pueda verificar para no tener que confiar a ciegas.

Y esto no solo habla de blockchain, sino también del código, un código abierto y auditable.

El sistema es seguro, mientras que nodos honestos controlen colectivamente más poder de procesamiento que cualquier grupo de nodos atacantes en cooperación.

Cuando comenzó bitcoin, no tenía un valor monetario. De ahí la confianza en que los primero usuarios, no buscarían hacer mal uso de la tecnología porque no existía un incentivo.

Algo que siempre me ha generado curiosidad es saber si Satoshi pensó en que su moneda iba a ser canjeable por dinero fiat, o si pensó que todos ibamos a prender nuestras computadoras y a minar la moneda. Esto es algo que jamás sabremos.

Trtansacciones bitcoin

Pasemos a la parte de transacciones y dice Satoshi: Necesitamos una forma para que el beneficiario, pueda saber que los dueños previos de la moneda no gastaron esos bitcoins antes de dárselos a él.

Estamos hablando de una transacción digital, no es como una moneda física que no se puede gastar dos veces porque cambia de dueño cuando se usa.

Aquí la transacción que se hace primero es la que cuenta, la única forma de confirmar que esta moneda no se ha gastado en el pasado, es conociendo el histórico entero que ha tenido esa moneda digital ¿Te imaginas si pudieramos conocer todas las manos por las que ha pasado un billete?

Para lograr esto sin la necesidad de involucrar a un tercero, es necesario hacer públicas las transacciones.

Solucionando el problema del doble gasto

El problema del doble gasto es utilizar una moneda dos veces. La banca lo soluciona a través de un intermediario, no se puede usar dos veces el dinero de una tarjeta de débito, porque el banco sabe que ese dinero ya fue utilizado previamente.

En un entorno descentralizado necesitamos considerar únicamente a la primer transacción como válida, porque un doble gasto siempre hace referencia a una segunda transacción.

La forma que vió Satoshi de conseguir esto, es tener todo el historial de la moneda desde que nace, para saber con certeza el orgien de la moneda y si se ha utilizado en una transacción previa.

De aquí viene el que se tenga que bajar un nodo completo, para verificar las transacciones futuras. Un nodo completo, contiene toda la historia de todos los bitcoins que han sido creados.

Satoshi dice: necesitamos participantes – Qué en este caso son los nodos- que estén de acuerdo con la historia única, de todos y cada uno de los bitcoins en circulación.

Con esto, el beneficiario tiene una prueba consistente. Prueba de que todos los participantes están de acuerdo, en que su transacción fue la primera en recibirse y nadie puede reutilizar ese bitcoin.

En caso de haber más de una transacción, solo la primera cuenta.

Servidores de marca de tiempo

Es el lugar donde se agrupan temporalmente las transacciones, para poder identificar cual fue la primera.

Satoshi habla de hashes, información encriptada. Este hash es el resultado de los datos contenidos dentro de un bloque. El hash confirma que la información existe, porque es a partir de la información que se genera ese hash. Así el bloque de información siguiente tomará el hash anterior formando una cadena.

Esta es la primera vez que satoshi habla de la blokchain, pero no hace mención a una tecnología. Solo a que cierto conjunto de información es agrupada, y ligada una con la otra.

Al decir que la información se agrupa dentro de un bloque y gracias a los hashes se encadena, es que se populariza el término blockchain o cadena de bloques.

Profundiza sobre la mempool de bitcoin

Proof of work

Para poder imlpementar estas marcas de tiempo, se require un sistema de prueba de trabajo y hace referencia al hashcash de Adam Back.

El hashcash es una teconología que se utilizó para eliminar el spam de los correos electrónicos. Cuando se creo este medio de comunicación todos estaban muy contentos pero se les vino abajo el teatro cuando recibiron el primer mensaje de spam.

Las computadoras en aquel entonces eran ineficientes, incapaces de soportar la recepción masiva de correos electrónicos, a costo cero.

Se comenzó a pensar que el internet fracasaría y no tenía futuro debido a la saturación. La solución fue la prueba de trabajo. Consistía en un pequeño estímulo al procesador, en pequeña escala era insignificante pero en grandes cantidades era insostenible.

En ese entonces el desgaste era para el procesador y así eiminaron el spam.

Minería de bitcoin

Aquí nace entonces la minería de bitcoin, una prueba de trabajo que implica un desgaste y un costo. Alguien que incurre en este gasto, es acreedor a la recompensa. En este caso a los bitcoins recién creados.

Una vez que el esfuerzo se hace, cambiar el resultado requiere volver a hacer todo el esfuerzo, incurrir en el gasto necesario, y aún así no tener la garantía de que la alteración será exitosa.

Lo siguiente fue como tomar en cuenta a la mayoría. Es decir como saber cuantas personas están participando. Una idea pudo ser por IP, pero incluso con la tecnología del 2008 ya era posible asignar diferentes IPs, por lo que una sola persona podría disfrazarse de varias para conseguir una mayoría.

Satoshi lo definió por equipo o mejor dicho por procesador. Cada CPU es un voto. Es por eso que las granjas de minería, necesitan un enorme espacio y una cantidad impresionante de equipos de minería trabajando para tener mayor número de votos. Es la única forma de tener más de una participación, con más de un procesador activo y trabajando.

Dificultad para encontrar un bloque válido

Para compensar por el incremento de velocidad de hardware, y el interés de los participantes por minar bloques, la dificultad se determina por una media de bloques por hora.

Se tiene un estandar en el que cada 10 minutos se genera un nuevo bloque. Si de pronto se enciende una nueva granja de minería y ahora hay más mineros trabajando, los bloques se van a minar a mayor velocidad (menos de 10 minutos). Esto provoca que la dificultad incremente.

La dificultad se ajusta de acuerdo al poder de minado que se tenga, es así que podemos predecir que el último bitcoin, se va a minar cerca del año 2140.

Gestión de la red

En el punto número 5 es en donde se explican los pasos para gestionar la red

  1. Las transacciones nuevas son emitidas a todos los nodos. Al enviar bitcoins, se hace una transacción y esta se envia a los nodos.
  2. Cada nodo recolecta nuevas transacciones en un bloque. Se habla de la mempool, una memoria temporal en donde se guardan las transacciones pendientes. Todas las transacciones se van agrupando dentro de un bloque de información.
  3. Cada nodo trabaja en encontrar una prueba de trabajo dificil para su propio bloque. Cada nodo tiene un bloque preparado con transacciones agrupadas, cuando uno gana los demás lo tienen que aceptar.
  4. Cuando un nodo encuentra una prueba de trabajo emite el bloque a todos los nodos. El minero encuentra el hash y se lo manda a los nodos verificadores, para que comparen el bloque con las reglas del concenso
  5. Los nodos aceptan el bloque si todas las transacciones que incluye el bloque son válidas y no se han gastado ya. Aquí es donde se depura que no se incurra en un doble gasto.
  6. Los mineros aceptan el nuevo bloque como válido y lo expresan poniendose a trabajar en uno nuevo. Descartan lo que tenían, toman el hash del nuevo bloque publicado como el último y comienzan a trabajar en un nuevo bloque.

Una de las dudas más comunes es ¿Qué pasa si al mismo tiempo dos bloques son descubiertos? Esto en realidad sucede más comúnmente de lo que puedes creer.

Cuando ocurre, el nodo toma el primer bloque que se recibió porque generó la cadena más larga, siempre va a ganar la cadena más larga. A veces un nodo recibe un bloque y otro nodo recibe otro bloque distinto. Ambos son válidos pero son diferentes.

En estos casos, los nodos se quedan con el primero que recibieron (aunque sean diferentes) a su vez dejan en la memoria temporal el otro bloque. Lo que se necesita para definir al bloque ganador es una confirmación, el descubrimiento del nuevo bloque.

Ambos son válidos porque se propagaron al mismo tiempo, cualquiera de los mineros puede encontrar el siguiente bloque y publicarlo frente a su bloque válido. Cuando ese bloque, osea el segudo es publicado se convierte en la cadena más larga y es el que prevalece.

El otro bloque que fue minado al mismo tiempo se descarta. El nodo que tenía como válido al bloque que ahora quedó descartado, también lo descarta y busca el bloque correcto para después seguir validando de manera normal.

Es probable que un nodo pueda no recibir un bloque por cualquier motivo. En estos casos el siguiente bloque que reciba no va a coincidir con el hash anterior, leerá nuevamente la cadena para identificar el bloque perdido , lo solicita y listo se pone al corriente.

El fin de la minería de bitcoin

En el punto número 6 se habla de las transacciones y sobre que sucede cuando la cantidad finita de bitcoins sea minada. Lo que ocurre es que el incentivo también puede ser entregado con costos de transacción que es lo que conocemos como fees o comisiones. 

Un minero siempre va a tenr un incentivo para seguir operando, ahora mismo es la recompensa de nuevos bitcoins más los fees de cada transacción. Cuando todos los bitcoins sean minados, solo recibirán los fees.

Espacio en disco

En el punto número 7 nos habla sobre el espacio en disco. Seguro te has dado cuenta que no todos los servicios que trabajan con bitcoin tienen que tener una copia de la cadena completa. Para esto se utiliza una estructura conocida como el arbol de merkle, una forma de compactar bloques que permite verificar transacciones

Un negocio que reciba transacciones continuas debería elegir tener su propio nodo. Es la forma de asegurarse que las transacciones que recibe son legítimas.

En el punto nueve se nos explica la forma en que las transacciones se combinan y dividen a su vez. Cuando recibes bitcoin, lo puedes hacer de una forma entera o dividido en diversas transacciones ejecutadas al mismo tiempo.

Esto es gracias a las UTXO, tema que se profundiza en el curso mixers de bitcoin.

Un retiro genera por lo menos 1 transacción pero pueden ser 2. La segunda representa una transacción que te regresa el sobrante del bitcoin enviado. Esto porque en bitcoin no es posible enviar una fracción del saldo que se dispone, aunque la cartera lo hace parecer así.

Privacidad en bitcoin

Un banco consigue la privacidad haciendo que sus registros sean privados, solo los bancos pueden verlas, como bien sabemos esto no es ninguna garantía de que realmente exista esa privacidad.

Aún que en bitcoin los registros se hacen públicos, conserva un nivel de anonimato, porque mantiene las claves públicas como anónimas. Osea que en el registro solo vemos una dirección pública que envía bitcoins a otra dirección pública. Pero estas direcciones no estan asociadas a ningun nombre o correo electrónico.

Al menos eso era lo que Satoshi proponía porque después llegaron las carteras centralizadas.

Estas comenzaron a ligar tu nombre con tu actividad cripo. Dice Satroshi: Si el dueño de una clave es revelado, se podrían encontrar otras transacciones que pertenecen al mismo dueño, por eso lo mejor es no utilizar canales centralizados para comprar tus criptomonedas.

El siguiente punto son cálculos de probabilidad que tienes que analizar de manera visual para un correcto entendimineto. Ve al white paper directamente a este punto.

Finalmente Satoshi dice que los nodos se pueden ir y volver a voluntad propia. Al volver el nodo aceptará todos los bloques que se generaron en su ausencia, como válidos. Comenzando a validar a partir del bloque en turno.

Ocurre lo mismo cuando sincronizas un nodo por primera vez, aceptas que los bloques minados los últimos 10 años son válidos y comienza la validación desde el bloque en turno.

Así termina el documento que cambió el rumbo de la economía internacional.

Toma el curso gratuito bitcoin desde cero para comprender más a fondo lo que representa bitcoin.