Evaluar la «Privacidad» de tu transacción

La entropía se define como una medida del desorden o la aleatoriedad en un sistema cerrado. Aunque tiene numerosas aplicaciones en sistemas dinámicos y se utiliza principalmente en el ámbito de la física, su concepto también se extiende al campo de la teoría de la información.

Claude Shannon estableció las bases del campo de investigación científica conocido como la Teoría de la Información en su influyente artículo de 1948 titulado «A Mathematical Theory of Communication». Puedes encontrar su artículo original aquí.

Shannon cuantificó la cantidad de información contenida en un mensaje como «entropía», demostrando que cuanto más se asemeja un mensaje a ruido aleatorio, más información puede contener.

La entropía es una forma de cuantificar la incertidumbre en un sistema, que se puede utilizar para evaluar directamente el costo de determinar la información en un mensaje.

Fuente: YouTube.

Está bien, pero ¿qué significa esto en términos simples? La entropía se puede entender como el número promedio de preguntas de SÍ/NO que necesitas hacer para obtener toda la información de un mensaje en el orden correcto. En términos matemáticos, la entropía se calcula como el logaritmo en base 2 de la probabilidad de adivinar correctamente la información en ese mensaje.

En el caso de las transacciones de Bitcoin, LaurentMT combinó el trabajo de Claude Shannon y Kristov Atlas para cuantificar el costo computacional de evaluar una transacción de Bitcoin gracias a la herramienta de Boltzmann.

El número de interpretaciones de una transacción se cuantifica utilizando CoinJoin Sudoku y la matriz de vinculación de las entradas y salidas de una transacción. Las interpretaciones se utilizan para determinar la entropía de la transacción.

La fórmula es la siguiente:

E = log2(N)

Donde:

  • E = entropía de la transacción
  • N = número de combinaciones (número de entradas a salidas)

https://gist.github.com/LaurentMT/d361bca6dc52868573a2

Vamos a ver un par de ejemplos para calcular la Entropía de una transacción:

Transacción básica de pago de múltiples entradas

En esta transacción, el número de interpretaciones es igual a 1, lo que resulta en una entropía de 0. La mayoría de las transacciones en la blockchain de Bitcoin presentan características similares. Su análisis es sencillo, ya que es evidente que las entradas pertenecen a una única entidad y se puede identificar claramente cuáles son las salidas de pago y cuáles son las de cambio. No existe incertidumbre ni costo computacional en el análisis de este tipo de transacciones.

Transacción de coinjoin de Whirlpool

    Aquí tenemos un coinjoin de Whirlpool de 5 entradas y 5 salidas

    Para esta transacción, el total de interpretaciones posibles asciende a 1,496. Al calcular el logaritmo en base 2 de ese número, obtenemos una entropía de 10.547 bits. Si dividimos este valor entre la suma de entradas y salidas, obtenemos una entropía de 1.054 bits por UTXO. Se considera que una entropía por UTXO superior a 1 indica un alto nivel de privacidad.

    Este ejemplo correspondía a un coinjoin de Whirlpool, cuya transacción mas habitual era de 5 entradas y 5 salidas. Sin embargo, con la introducción de Surge Cycles, se observaron transacciones de hasta 9 entradas y 9 salidas. A continuación, analizaremos la entropía de las transacciones de coinjoin de Whirlpool con diferentes número de entradas y salidas:

    6 entradas / 6 salidas = 22,482 interpretaciones / Entropía = 14.45 bits / Por UTXO = 1.20 bits
    7 entradas / 7 salidas = 426,833 int. / Entropía = 18.7 bits / Por UTXO = 1.37 bits
    8 entradas / 8 salidas = 9,934,563 int. / Entropía = 23.24 bits / Por UTXO = 1.45 bits
    9 entradas / 9 salidas = 277M interpretaciones / Entropía = 28.04 bits / Por UTXO = 1.476 bits

    Privacidad en Bitcoin es un término engañoso. Podemos ver y analizar todo en la cadena de bloques. Creo que el término privacidad o anonimato debería sustituirse por incertidumbre o gasto computacional

    La entropía no considera otros factores que influyen en la privacidad y que son más subjetivos, tales como:

    • Clustering (agrupamiento)
    • Análisis gráficos de transacciones
    • Consolidación de entradas
    • Análisis de tiempo

    La entropía es una evaluación razonable del costo computacional de evaluar solo la transacción en sí. Entonces, para una transacción de Bitcoin con un número constante de entradas y salidas, cuanto más uniformes sean y cuanto más costoso computacionalmente sea analizarlo, más “privada” será.

    *Esta entrada es un resumen del hilo escrito por @ErgoBTC

    Publicaciones Similares