¿Cómo funciona una criptomoneda?

Blockchain – Confianza + Criptografía = Criptomoneda

Este no es un artículo con comentarios o especulaciones sobre los tipos de cambio actuales o futuros del Bitcoin. Pero si trata sobre conocer al menos los fundamentos de la tecnología.

Libro mayor

Es una lista de registros organizados en bloques, que se encuentran enlazados y asegurados mediante criptografía. Cada bloque contiene típicamente un puntero de hash criptográfico que enlaza hacia un bloque anterior, una fecha completa y los datos de la transacción.

Por diseño, los blockchains son intrínsecamente resistentes a la modificación de sus datos. Un blockchain puede servir como “un libro mayor abierto y distribuido que puede registrar transacciones entre dos partes de manera eficiente y de manera verificable y permanente”.

Mastering Bitcoin by Andreas M. Antonopoulos

Mastering Bitcoin by Andreas M. Antonopoulos

Para usar como un libro mayor distribuido, un blockchain es típicamente administrado por una red peer-to-peer que se adhiere colectivamente a un protocolo para validar nuevos bloques. Una vez registrados, los datos en cualquier bloque dado no pueden alterarse retroactivamente sin la alteración de todos los bloques posteriores, lo que requiere la colusión de la mayoría de la red.

Firmas digitales

Cada transacción está firmada. Además se asegura que no sea factible que otra persona adivine o falsifique una transacción firmada.

Llave privada – sk

Firmar(mensaje, Llave Secreta) = Firma

  • Es algo que guardamos en secreto para nosotros mismos.
  • Cambia para diferentes mensajes, la alteración de un mensaje cambia completamente el aspecto de la firma en ese mensaje.
  • Producir una firma implica una función que depende tanto del mensaje en sí como de nuestra llave privada.

Llave pública – pk

Verificar(Mensaje/Transacción, Firma, Llave Pública) = Booleano

  • Cuando se verifica una firma contra una transacción, podemos sentirnos extremadamente seguros de que la única forma en que alguien podría haberlo producido es porque conocía la llave secreta asociada con la llave pública que se utiliza para la verificación.
  • Entonces, cuando se firma una transacción, el mensaje también incluye un tipo de identificación asociado a esa transacción. Inicialmente esto hace que las firmas digitales sean realmente confiables dentro de este protocolo.

Protocolo

  • Solo las transacciones firmadas son válidas.
  • Cualquiera puede agregar líneas al libro mayor.
  • Puede haber liquidez con dinero real.
  • Previene que alguien gaste más de lo que tiene.

Moneda = Historial de transacciones

Un libro mayor de contabilidad contiene el historial de transacciones de una moneda.

¿Quién controla las reglas de agregar nuevas líneas?

Para asegurar la confianza, todos guardan su propia copia del libro mayor. Entonces, cuando queremos hacer una transacción, lo que hacemos es transmitirlo al mundo para que la gente lo escuche y lo grabe en sus propios libros contables privados.

  • ¿Cómo se logra que todos estén de acuerdo en cuál es el libro mayor de registro correcto?
  • ¿Cómo podemos estar seguros de que todos los demás recibieron y creen en la misma transacción?
  • ¿Cómo podemos estar seguros de que otra persona está grabando la misma transacción y en el mismo orden?
  • ¿Cómo podemos estar seguros de que alguien más en el mundo que está siguiendo ese mismo protocolo tiene un libro mayor personal que se ve igual al nuestro?

La solución que ofrece Bitocoin es

  • No es un banco que verifica las transacciones, sino que es un sistema inteligente de verificación descentralizada sin fideicomiso basado en algunas de las matemáticas nacidas en la criptografía.
  • Se confía en los libros mayores que tienen el mayor trabajo computacional.
  • El trabajo computacional asegura que las transacciones fraudulentas y los libros mayores contables conflictivos requieran de una cantidad de computación no factible de generar.
  • El fraude es computacionalmente inviable.

Función hash criptográfica

SAH256 (“MessageOrFile”) = 101010101010101 ….

  • La salida se llama “hash” o “digest” del mensaje.
  • No es aleatorio.
  • Siempre da el mismo resultado para una entrada determinada. Pero la idea es que si cambiamos ligeramente la entrada, tal vez editando solo uno de los caracteres, el hash resultante cambie completamente.
  • La forma en que cambia la salida a medida que cambiamos ligeramente esa entrada es completamente impredecible. Podemos ver, que esta no es solo una función hash, es una función hash criptográfica. Eso significa que no es factible calcular en la dirección inversa tratando de encontrar la entrada.

Prueba de trabajo (SHA256)

¿Cómo una función puede probar que una lista particular de transacciones está asociada con una gran cantidad de esfuerzo computacional?

Este trabajo del cuál se habla está intrínsecamente vinculado a la lista de transacciones. Si cambiamos una de esas transacciones, incluso ligeramente cambiaría completamente el hash, tendríamos que pasar por otros “mil millones” de conjeturas para encontrar una nueva prueba de trabajo, un nuevo número que haga al hash de la lista modificada comenzar con la misma cantidad de ceros al inicio.

Organicemos el libro mayor en bloques

Transactions

La idea original es hacer que todos confíen en el libro mayor de contabilidad que trabaje más. La forma en que esto funciona es primero organizar un libro dado en bloques.

Confianza en el libro mayor que trabaja más:

Debido a que todo el mundo está allí transmitiendo transacciones y queremos un acuerdo sobre cuál libro mayor contable es el correcto para tenerle confianza. Sabemos que la idea central detrás del documento original de Bitcoin es hacer que todos confíen en el libro mayor que trabaja más.

La forma en que esto funciona es primero organizar el libro mayor dado en bloques, donde cada bloque consiste en una lista de transacciones junto con una prueba de trabajo, que es un número especial para que el hash de todo el bloque comience con un montón de ceros.

De la misma manera que una transacción solo se considera válida cuando está firmada por el remitente. Un bloque solo se considera válido si tiene una prueba de trabajo.

Importancia del hash del bloque anterior:

Para asegurarnos de que haya un orden estándar para estos bloques, cada bloque contiene el hash del bloque anterior en su encabezado. De esta manera, si tuviéramos que retroceder y cambiar cualquiera de los bloques o intercambiar el orden de dos bloques, cambiaría el bloque que viene después de él, lo que cambia el hash del bloque, que cambia el que viene después de él, y así sucesivamente. Esto requeriría rehacer todo el trabajo encontrando un nuevo número especial para cada uno de estos bloques que hace que su hash comience con ceros. Debido a que los bloques están encadenados de esta manera, en lugar de llamarlo libro mayor, es común llamarlo blockchain.

Creador de bloque

Como parte de el protocolo actualizado, se permite que cualquiera en el mundo pueda ser un creador de bloques. Lo que eso significa es que van a escuchar las transacciones que se emiten, las reúnen en un bloque y luego hacen un montón de trabajo para encontrar un número especial que hace que el hash de ese bloque comience con ceros, una vez que lo encuentran, transmiten el bloque que encontraron.

Recompensa

Para recompensar a un creador de bloque por todo este trabajo, cuando una persona arma un bloque, también incluimos una transacción muy especial en la parte superior, en la que esa persona recibe una cuota de la nada. Esto se conoce como la recompensa por bloque y es una excepción a nuestras reglas habituales sobre si se aceptan o no las transacciones. No proviene de alguien, por lo que no tiene que estar firmada. Esto también significa que el número total de moneda contable en nuestra economía aumenta con cada bloque nuevo.

 Minería

Crear un bloque a menudo se llama minería. Ya que requiere mucho trabajo que introduce nuevos trozos de moneda en la economía, tenga en cuenta que lo que realmente están haciendo es escuchar transacciones, crear bloques, transmitir esos bloques y recibir recompensas con dinero nuevo por hacerlo.

Desde la perspectiva del minero, cada bloque es como una lotería en miniatura, donde todo el mundo adivina los números lo más rápido posible hasta que un individuo afortunado encuentra un número especial que hace que el hash comience con muchos ceros, entonces el minero recibe una recompensa.

Por favor escarbe más en: https://bitmain-alliance.com/shop

Pagos

Para cualquier otra persona que solo quiera usar el sistema para realizar pagos, en lugar de estar escuchando por transacciones, todos comienzan a escuchar solo por los bloqueos que transmiten los mineros, entonces actualizan sus propias copias personales del blockchain.

Consenso descentralizado

Ahora, la adición clave a nuestro protocolo es que si escuchamos dos blockchains distintos con historiales de transacciones en conflicto, nos inclinamos por el más largo, el que trabaja más. Si hay un empate, solo espere hasta escuchar un bloque adicional que hace que uno de ellos sea más largo. Así que, aunque no existe una autoridad central y todo el mundo mantiene su propia copia de la cadena de bloques, si todos aceptan dar preferencia a la cadena de bloques que trabaje más, tenemos una forma de llegar a un consenso descentralizado.

Para ver por qué esto asegura que es un sistema confiable, y para entender en qué punto debemos confiar en que un pago es legítimo, en realidad es realmente útil analizar exactamente lo que se necesitaría para engañar a alguien que usa este sistema.

Tiempo promedio requerido para crear un bloque

Anteriormente dijimos que la prueba del trabajo podría ser encontrar un número especial para que el hash del bloque comience con ceros. Bueno, la forma en que funciona el protocolo Bitcoin real, consiste en cambiar periódicamente esa cantidad de ceros, por lo que debería tomar un promedio de N minutos encontrar un nuevo bloque, de modo que a medida que se agregan más y más mineros a la red, el desafío realmente se hace más y más difícil, de tal manera que esta lotería en miniatura solo tiene alrededor de un ganador cada N minutos.

¿De dónde provino la mayor cantidad del dinero del Bitcoin?

Muchas criptomonedas más nuevas en realidad tienen tiempos de creación de bloque mucho más cortos que el de Bitcoin. Se podría decir que todo el dinero en Bitcoin en última instancia proviene de alguna recompensa por bloque. Al principio, estas recompensas fueron de 50 Bitcoins por bloque.

210000 (50 + 25 + 12.5 + 6.25 + …) = 21000000

Si miramos los primeros pocos bloques del Blockchain al inicio, no contienen ninguna transacción que no sea esa recompensa de 50 Bitcoins para el minero. Pero cada 210000 bloques, que es aproximadamente cada 4 años, esa recompensa se reduce a la mitad. Entonces, en este momento, la recompensa es de N Bitcoins por bloque. Y debido a que esta recompensa disminuye geométricamente con el tiempo, significa que nunca habrá más de 21000000 Bitcoins en existencia.

“Fee”

Sin embargo, esto no significa que los mineros dejen de ganar dinero. Además de la recompensa por bloque, los mineros también pueden recoger costos por transacción. La forma en que esto funciona es que cada vez que se realiza un pago, se puede incluir de forma puramente opcional una pequeña tarifa de transacción que se destinará al minero de cualquier bloque que incluya ese pago. La razón por la que realmente se hace esto es para incentivar a los mineros a incluir la transacción que transmitimos en el siguiente bloque.

Sabemos que en Bitcoin, cada bloque está limitado a alrededor de 2400 transacciones, lo cual, según muchos críticos, es innecesariamente restrictivo. A modo de comparación, VISA procesa un promedio de aproximadamente 1700 transacciones por segundo, y son capaces de manejar más de 24000 por segundo. Este procesamiento comparativamente lento en Bitcoin hace que las tarifas de transacción sean más altas, y eso es lo que determina qué transacciones los mineros eligen incluir en un nuevo bloque.

Motivación

Aunque este artículo está lejos de una cobertura completa sobre como funcionan las criptomonedas, todavía hay alternativa, matices y opciones de diseño que también se pueden investigar después. Uno de los grandes motivos detrás de esto es que una gran cantidad de dinero ha comenzado a fluir hacia las criptomonedas.