Criptomoneda para tontos: Bitcoin y más allá

Publicado: 2022-03-11

Bitcoin generó mucho revuelo en Internet. Fue ridiculizado, atacado y finalmente aceptado y convertido en parte de nuestras vidas. Sin embargo, Bitcoin no está solo. En este momento, hay más de 700 implementaciones de AltCoin, que utilizan principios similares y varios algoritmos de criptomonedas.

Ilustración de portada de criptomoneda para tontos

Entonces, ¿qué necesitas para crear algo como Bitcoin?

Sin tratar de entender su motivación personal para crear un sistema anónimo y descentralizado para intercambiar dinero/información (pero esperando que esté dentro del alcance de las actividades morales y legales), primero analicemos los requisitos básicos para nuestro nuevo sistema de pago:

  1. Todas las transacciones deben hacerse a través de Internet.
  2. No queremos tener una autoridad central que procese las transacciones
  3. Los usuarios deben ser anónimos e identificados únicamente por su identidad virtual
  4. Un solo usuario puede tener tantas identidades virtuales como quiera
  5. La oferta de valor (nuevas facturas virtuales) debe agregarse de forma controlada

Intercambio de información descentralizado a través de Internet

Ya es posible cumplir con los dos primeros requisitos de nuestra lista, eliminar una autoridad central para el intercambio de información a través de Internet. Lo que necesita es una red peer-to-peer (P2P) .

El intercambio de información en redes P2P es similar al intercambio de información entre amigos y familiares. Si comparte información con al menos un miembro de la red, eventualmente esta información llegará a todos los demás miembros de la red. La única diferencia es que en las redes digitales esta información no se verá alterada de ninguna manera.

Algoritmos de criptomonedas y Toptal

Probablemente haya oído hablar de BitTorrent, uno de los sistemas de intercambio de archivos (entrega de contenido) P2P más populares. Otra aplicación popular para compartir P2P es Skype, así como otros sistemas de chat.

La conclusión es que puede implementar o usar uno de los protocolos P2P de código abierto existentes para admitir su nueva criptomoneda, a la que llamaremos Topcoin .

Algoritmo hash

Para comprender las identidades digitales, debemos comprender cómo funciona el hash criptográfico . Hashing es el proceso de mapear datos digitales de cualquier tamaño arbitrario a datos de un tamaño fijo. En palabras más simples, hash es un proceso de tomar información que es legible y hacer algo que no tiene ningún sentido.

Puede comparar el hashing con obtener respuestas de los políticos. La información que les proporciona es clara y comprensible, mientras que el resultado que proporcionan parece un flujo aleatorio de palabras.

Protocolos P2P

Hay algunos requisitos que necesita un buen algoritmo hash:

  1. La longitud de salida del algoritmo hash debe ser fija (un buen valor es 256 bytes)
  2. Incluso el cambio más pequeño en los datos de entrada debe producir una diferencia significativa en la salida
  3. La misma entrada siempre producirá la misma salida
  4. No debe haber forma de invertir el valor de salida para calcular la entrada
  5. Calcular el valor HASH no debe ser intensivo en computación y debe ser rápido

Si observa las estadísticas simples, tendremos un número limitado (pero enorme) de posibles valores HASH, simplemente porque nuestra longitud HASH es limitada. Sin embargo, nuestro algoritmo hash (llamémoslo Politician256) debería ser lo suficientemente confiable como para que solo produzca valores hash duplicados para diferentes entradas con la misma frecuencia con la que un mono en un zoológico logra escribir correctamente Hamlet en una máquina de escribir.

Si cree que Hamlet es solo un nombre o una palabra, deje de leer ahora o lea sobre el teorema del mono infinito.

Firma digital

Al firmar un papel, todo lo que necesita hacer es agregar su firma al texto de un documento. Una firma digital es similar: solo necesita agregar sus datos personales al documento que está firmando.

Si comprende que el algoritmo hash se adhiere a la regla en la que incluso el cambio más pequeño en los datos de entrada debe producir una diferencia significativa en la salida , entonces es obvio que el valor HASH creado para el documento original será diferente del valor HASH creado para el documento. con la firma adjunta.

Una combinación del documento original y el valor HASH producido para el documento con sus datos personales adjuntos es un documento firmado digitalmente .

Y así es como llegamos a su identidad virtual , que se define como los datos que agregó al documento antes de crear ese valor HASH.

A continuación, debe asegurarse de que su firma no se pueda copiar y que nadie pueda ejecutar ninguna transacción en su nombre. La mejor manera de asegurarse de que su firma esté segura es mantenerla usted mismo y proporcionar un método diferente para que otra persona valide el documento firmado. Una vez más, podemos recurrir a la tecnología y los algoritmos que están fácilmente disponibles. Lo que necesitamos usar es criptografía de clave pública , también conocida como criptografía asimétrica .

Para que esto funcione, debe crear una clave privada y una clave pública . Estas dos claves estarán en algún tipo de correlación matemática y dependerán una de la otra. El algoritmo que utilizará para crear estas claves asegurará que cada clave privada tendrá una clave pública diferente. Como sugieren sus nombres, una clave privada es información que conservará solo para usted, mientras que una clave pública es información que compartirá.

Si usa su clave privada (su identidad) y el documento original como valores de entrada para el algoritmo de firma para crear un valor HASH, suponiendo que mantuvo su clave en secreto, puede estar seguro de que nadie más puede producir el mismo valor HASH para ese documento. .

Cómo funcionan Bitcoin y las criptomonedas

Si alguien necesita validar su firma, usará el documento original, el valor HASH que produjo y su clave pública como entradas para el algoritmo de verificación de firma para verificar que estos valores coincidan.

Algoritmo de verificación de firma

Cómo enviar Bitcoin/Dinero

Suponiendo que haya implementado la comunicación P2P, los mecanismos para crear identidades digitales (claves privadas y públicas) y proporcionado formas para que los usuarios firmen documentos con sus claves privadas, está listo para comenzar a enviar información a sus pares.

Como no tenemos una autoridad central que valide cuánto dinero tienes, el sistema tendrá que preguntarte cada vez y luego verificar si mentiste o no. Por lo tanto, su registro de transacciones podría contener la siguiente información:

  1. tengo 100 topcoins
  2. Quiero enviar 10 monedas a mi farmacéutico por el medicamento ( incluiría aquí la clave pública de su farmacéutico )
  3. Quiero dar una moneda como tarifa de transacción al sistema ( volveremos a esto más adelante )
  4. Quiero quedarme con las 89 monedas restantes

Lo único que queda por hacer es firmar digitalmente el registro de la transacción con su clave privada y transmitir el registro de la transacción a sus pares en la red. En ese momento, todos recibirán la información de que alguien (su identidad virtual) está enviando dinero a otra persona (la identidad virtual de su farmacéutico).

Tu trabajo está hecho. Sin embargo, su medicamento no se pagará hasta que toda la red esté de acuerdo en que realmente tenía 100 monedas y, por lo tanto, podría ejecutar esta transacción. Solo después de que se valide su transacción, su farmacéutico obtendrá los fondos y le enviará el medicamento.

Mineros de criptomonedas: una nueva generación de agentes

Se sabe que los mineros son personas muy trabajadoras que, en mi opinión, están muy mal pagadas. En el mundo digital de las criptomonedas, los mineros juegan un papel muy similar, excepto que en este caso, hacen el trabajo computacionalmente intensivo en lugar de cavar montones de tierra. A diferencia de los mineros reales, algunos mineros de criptomonedas ganaron una pequeña fortuna en los últimos cinco años, pero muchos otros perdieron una fortuna en este arriesgado esfuerzo.

Los mineros son el componente central del sistema y su objetivo principal es confirmar la validez de todas y cada una de las transacciones solicitadas por los usuarios.

Para confirmar la validez de su transacción (o una combinación de varias transacciones solicitadas por algunos otros usuarios), los mineros harán dos cosas.

En primer lugar, se basarán en el hecho de que "todos saben todo", lo que significa que cada transacción ejecutada en el sistema se copia y está disponible para cualquier par en la red. Revisarán el historial de sus transacciones para verificar que realmente tenía 100 monedas para empezar. Una vez que se confirme el saldo de su cuenta, generarán un valor HASH específico. Este valor hash debe tener un formato específico; debe comenzar con cierto número de ceros .

Hay dos entradas para calcular este valor HASH:

  1. Datos de registro de transacciones
  2. Prueba de trabajo de Miner

Teniendo en cuenta que incluso el cambio más pequeño en los datos de entrada debe producir una diferencia significativa en el valor HASH de salida , los mineros tienen una tarea muy difícil. Necesitan encontrar un valor específico para una variable de prueba de trabajo que produzca un HASH que comience con ceros. Si su sistema requiere un mínimo de 40 ceros en cada transacción validada, el minero deberá calcular aproximadamente 2^40 valores HASH diferentes para encontrar la prueba de trabajo correcta.

Una vez que un minero encuentra el valor adecuado para la prueba de trabajo, tiene derecho a una tarifa de transacción (la única moneda que estaba dispuesto a pagar), que se puede agregar como parte de la transacción validada. Cada transacción validada se transmite a los pares en la red y se almacena en un formato de base de datos específico conocido como Blockchain .

Pero, ¿qué sucede si aumenta la cantidad de mineros y su hardware se vuelve mucho más eficiente? Bitcoin solía extraerse en CPU, luego en GPU y FPGA, pero finalmente los mineros comenzaron a diseñar sus propios chips ASIC, que eran mucho más potentes que estas primeras soluciones. A medida que aumenta la tasa de hash, también lo hace la dificultad de minería, lo que garantiza el equilibrio. Cuando se introduce más poder de hash en la red, la dificultad aumenta y viceversa; si muchos mineros deciden desconectarse porque su operación ya no es rentable, la dificultad se reajusta para que coincida con la nueva tasa de hash.

Blockchain para tontos: el libro mayor de criptomonedas global

La cadena de bloques contiene el historial de todas las transacciones realizadas en el sistema. Cada transacción validada, o lote de transacciones, se convierte en otro anillo de la cadena. Todas las empresas de desarrollo de blockchain confían en este libro público.

Entonces, la cadena de bloques de Bitcoin es, esencialmente, un libro público donde las transacciones se enumeran en orden cronológico.

El primer anillo en la cadena de bloques de Bitcoin se llama Bloque Génesis

Para leer más sobre cómo funciona la cadena de bloques, sugiero leer Explicación de la tecnología de la cadena de bloques: potenciando Bitcoin, de Nermin Hajdarbegovic.

No hay límite para la cantidad de mineros que pueden estar activos en su sistema. Esto significa que es posible que dos o más mineros validen la misma transacción. Si esto sucede, el sistema verificará el esfuerzo total que cada minero invirtió en validar la transacción simplemente contando ceros. El minero que invirtió más esfuerzo (encontró más ceros a la izquierda) prevalecerá y su bloque será aceptado.

Controlando la oferta monetaria

La primera regla del sistema Bitcoin es que puede haber un máximo de 21.000.000 Bitcoins generados. Este número aún no se ha alcanzado y, de acuerdo con las tendencias actuales, se cree que este número se alcanzará para el año 2140.

Esto puede hacer que se cuestione la utilidad de dicho sistema, porque 21 millones de unidades no parece mucho. Sin embargo, el sistema Bitcoin admite valores fraccionarios hasta el octavo decimal (0,00000001). Esta unidad más pequeña de un bitcoin se llama Satoshi , en honor a Satoshi Nakamoto, el desarrollador anónimo detrás del protocolo Bitcoin.

Se crean nuevas monedas como recompensa a los mineros por validar transacciones. Esta recompensa no es la tarifa de transacción que especificó cuando creó un registro de transacción, pero está definida por el sistema. El monto de la recompensa disminuye con el tiempo y eventualmente se establecerá en cero una vez que se alcance el número total de monedas emitidas (21 millones). Cuando esto suceda, las tarifas de transacción desempeñarán un papel mucho más importante, ya que los mineros pueden optar por priorizar las transacciones más valiosas para la validación.

Además de establecer el límite superior en el número máximo de monedas, el sistema Bitcoin también utiliza una forma interesante de limitar la producción diaria de nuevas monedas. Al calibrar la cantidad mínima de ceros iniciales requeridos para un cálculo de prueba de trabajo, el tiempo requerido para validar la transacción y obtener una recompensa de monedas nuevas siempre se establece en aproximadamente 10 minutos. Si el tiempo entre agregar nuevos bloques a la cadena de bloques disminuye, el sistema puede requerir que la prueba de trabajo genere 45 o 50 ceros a la izquierda.

Por lo tanto, al limitar la rapidez y la cantidad de monedas nuevas que se pueden generar, el sistema Bitcoin controla efectivamente la oferta monetaria.

Comience a "imprimir" su propia moneda

Como puede ver, hacer su propia versión de Bitcoin no es tan difícil. Al utilizar la tecnología existente, implementada de manera innovadora, tiene todo lo que necesita para una criptomoneda.

  1. Todas las transacciones se realizan a través de Internet mediante comunicación P2P, lo que elimina la necesidad de una autoridad central
  2. Los usuarios pueden realizar transacciones anónimas utilizando criptografía asíncrona y solo se identifican mediante su combinación de clave privada/clave pública.
  3. Ha implementado un libro de contabilidad global validado de todas las transacciones que se ha copiado de forma segura a todos los pares de la red.
  4. Tiene un suministro de dinero seguro, automatizado y controlado, que asegura la estabilidad de su moneda sin necesidad de una autoridad central

Una última cosa que vale la pena mencionar es que, en esencia, la criptomoneda es una forma de transferir valor/información anónima de un usuario a otro en una red distribuida de igual a igual .

Considere reemplazar las monedas en su registro de transacciones con datos aleatorios que incluso podrían cifrarse mediante criptografía asíncrona para que solo el remitente y el receptor puedan descifrarlos. ¡Ahora piense en aplicar eso a algo como el Internet de las cosas !

Un sistema de criptomonedas podría ser una forma interesante de permitir la comunicación entre nuestra estufa y tostadora.
Pío

Varios pesos pesados ​​de la tecnología ya están explorando el uso de la tecnología blockchain en las plataformas IoT, pero esa no es la única aplicación potencial de esta tecnología relativamente nueva.

Si no ve ninguna razón para crear una moneda alternativa propia (aparte de una broma práctica), puede intentar usar el mismo enfoque o uno similar para otra cosa, como la autenticación distribuida, la creación de monedas virtuales utilizadas en juegos, redes sociales , y otras aplicaciones, o puede proceder a crear un nuevo programa de fidelización para su negocio de comercio electrónico, que recompensaría a los clientes habituales con tokens virtuales que podrían canjearse más adelante.