Hacer CoinJoins Realmente Requieren de la Igualdad de las Cantidades de Transacción para la Privacidad? Parte Uno: CashFusion


Aunque Satoshi Nakamoto del libro blanco sugiere que la privacidad era un objetivo de diseño del protocolo Bitcoin, blockchain análisis puede a menudo romper la privacidad de los usuarios. Este es un problema. Bitcoin que los usuarios no necesariamente quiere que el mundo sepa donde gastar su dinero, lo que gana o cuánto ellos propios, mientras que las empresas no quieren pérdida de los detalles de la transacción a los competidores, para nombrar algunos ejemplos.


Pero hay soluciones para recuperar la intimidad, como CoinJoin. Algunos de los más populares de la mezcla de soluciones disponibles hoy en día el uso de este truco, incluyendo el Wasabi en la Cartera (que aprovecha ZeroLink) y Samourai en la Cartera (que aprovecha las piscina de Hidromasaje). En ambos casos, los usuarios chop sus monedas en cantidades iguales para que se mezclen unos con otros. El uso de cantidades iguales se considera un paso fundamental para que la mezcla sea efectiva.


Sin embargo, una nueva mezcla de protocolo llamado CashFusion, para el desarrollo de los Bitcoin en Efectivo de la red, los desafíos de esta suposición. Los desarrolladores detrás del protocolo afirmación de que CashFusion ofrece privacidad a través de CoinJoins sin el requisito de que sólo mezclar cantidades iguales. Si es verdad, esto podría cambiar drásticamente nuestra forma de pensar acerca de la privacidad en Bitcoin así.


Si es verdad…



CoinJoin


Vamos a empezar por el principio. (U omitir esta parte si usted sabe lo que CoinJoin es.)


Una típica transacción bitcoin tiene una o varias entradas (básicamente en las direcciones de las monedas son enviados desde) y una o varias salidas (básicamente en las direcciones de las monedas son enviados a). Si una transacción tiene más de una entrada, es generalmente porque el remitente utiliza varios trozos de sus monedas (UTXOs) para llegar a la cantidad requerida. Si una transacción tiene más de una salida, por lo general es debido a varias personas están siendo pagado a la vez (una por lotes de transacción) y/o el pagador es el envío de dinero a una de sus propias direcciones de cambio (debido a que los trozos no se añade a la exacta cantidad; esto es a menudo el caso).


Por desgracia, una transacción típica como se indica aquí revela mucho. Por ejemplo, es fácil concluir que todas las direcciones pertenecen a la misma persona, lo que permite la dirección de la agrupación. La transacción también muestra que a partir de la cual las direcciones a las cuales las direcciones de las monedas están en movimiento, revelando un rastro de monedas en el blockchain. Puede haber más (sutil) consejos, y todas son malas para la privacidad.


Una posible solución a este problema, primero propuesto por Bitcoin Core contribuyente Gregorio de Maxwell en 2013, se llama CoinJoin. La idea detrás de CoinJoin es simple: Varias transacciones independientes se fusionan en una sola transacción. Así que si dos transacciones tienen dos entradas y dos salidas de cada uno, esto se combina en una sola transacción que tiene cuatro entradas y cuatro salidas. Esto al menos se rompe el supuesto de que todas las direcciones pertenecen a la misma persona y que podría ayudar a romper el rastro de monedas.



Por Qué Cantidades Iguales


Se asume generalmente que la privacidad de las ganancias de CoinJoin como se describe más arriba, sería limitado, sin embargo. En muchos casos, las cantidades enviadas en los insumos y las cantidades recibidas en las salidas puede ser confundido juntos, para redescubrir que las transacciones individuales entró en el combinado CoinJoin transacción.


Por ejemplo, tomemos dos transacciones, una de Alice a Carol y uno de Bob a Dave. Alice tiene dos trozos de monedas, con un valor de 2.3 y 1.4 de bitcoin, y quiere pagar Carol 3.2 bitcoin. Bob tiene trozos de 3 y 2 de bitcoin, y quiere pagar Dave 4 bitcoin.


Simplificado, estas transacciones se parece a lo siguiente:


2.3 + 1.4 = 3.2 + 0.5


y


3 + 2 = 4 + 1


(El 0.5 BTC y 1 BTC salidas son el cambio).


Combinadas, la CoinJoin transacción se vería así:


3 + 2.3 + 2 + 1.4 = 4 + 3.2 + 1 + 0.5


Aunque las transacciones se fusionaron, es trivial para redescubrir las entradas que pagan los que las salidas, y, por lo tanto, también el que las entradas pueden ser equiparados como pertenecientes a un mismo remitente. Suponiendo que saber que hay dos pagadores, las cantidades puede ser confundido junto con una posible configuración: las transacciones originales.


Por esta razón, la popular mezcla de soluciones como ZeroLink y la bañera de Hidromasaje están limitados a la mezcla de cantidades iguales. No importa en qué cantidades se ponen en una mezcla como entradas, la mezcla de salidas son indistinguibles uno de otro, lo que significa que cualquier participante podría haber recibido cualquier tamaño fijo fragmento de la moneda.


Si las cantidades fijas se establece en 1 BTC, Alice, Bob, Carol y Dave CoinJoin se vería así:


3 + 2.3 + 2 + 1.4 = 1 + 1 + 1 + 1 +1 + 1 + 1 + 1 + 0.5 + 0.2


Esta es una gran mejora, ya que cualquiera de los trozos de 1 podría ser confundido de nuevo juntos en cualquiera de las dos transacciones originales. No está claro que de la 1 BTCs pertenecen a Alice, Bob, Carol o Dave, o incluso a que par.


Sin embargo, aún no es perfecto, porque hay desigualdad de salidas a la izquierda. Estas salidas, exactamente porque no tienen cantidades iguales, todavía puede estar vinculado a los insumos específicos: la de Alice. Esto también significa que Alice entradas pueden ser ligados el uno al otro. Y si, después de varias mezclas, alguien combina la desigualdad de los resultados en una transacción siguiente, que perjudica a la privacidad: vincula los diferentes trozos de la misma persona. Por otra parte, si la desigualdad de las salidas se utiliza en combinación con la fija-cantidad de salidas, estas pérdidas podrían arruinar el inicial proceso de mezcla en sí.



CashFusion


CashFusion, un proyecto de Bitcoin en Efectivo a los desarrolladores de la Marca Lundeberg y Jonald Fyookball, establecidos para lidiar con los “restos” de las salidas problema. Inicialmente fue creado como una adición a CashShuffle, que es una implementación de CoinShuffle para Bitcoin, dinero en Efectivo, y las mezcla en cantidades iguales. Algo sorprendente potencial de CashFusion también podría significar que se convierte en su propia independiente de la mezcla de protocolo, sin embargo.


Para entender este potencial, vamos a ver otro conjunto de transacciones. Digamos que Alice quiere pagar Carol 4 monedas, y ella tiene dos UTXOs un valor de 2 y 3 monedas. Mientras tanto, Bob quiere pagar Dave 9 monedas, y que tiene dos UTXOs la pena de 7 y 8 monedas.


Simplificado, estas transacciones se parece a lo siguiente:


3 + 2 = 4 + 1


y


8 + 7 = 9 + 6


Combinadas, la CoinJoin transacción se vería así:


8 + 7 + 3 + 2 = 9 + 6 + 4 + 1


Ahora, a partir de este CoinJoin transacción, es posible rompecabezas juntos los dos originales de las transacciones, por supuesto. Sin embargo, incluso si usted sabe que hay dos pagadores, varias otras combinaciones son posibles.


Por ejemplo:


8 + 2 = 9 + 1


y


7 + 3 = 6 + 4


O:


8 + 2 = 6 + 4


y


7 + 3 = 9 + 1


O:


7 + 2 = 9


y


8 + 3 = 6 + 4 + 1


O:


7 = 6 + 1


y


8 + 3 + 2 = 9 + 4


Por el bien de la simplicidad, en este ejemplo sólo se utilizan los números redondos. Esto hace que más potencial de configuraciones posibles, pero en realidad no reflejan la realidad muy a menudo. En el otro lado, este ejemplo simplificado sólo se utilizan dos transacciones originales. En realidad, un CoinJoin podría consistir en docenas o incluso cientos de transacciones originales. Así, mientras simplificado, esta simplificación tanto de ayuda y perjudica el potencial de crear múltiples configuraciones.


CashFusion está construido alrededor de la teoría, derivado del campo de la Combinatoria, que una lo suficientemente grande como CoinJoin transacción a menudo (aunque no siempre) ofrecemos diferentes soluciones a los rompecabezas, incluso cuando realista cantidades se utilizan. Y que, como más entradas y salidas están incluidos, más posibles configuraciones que se pueden derivar de ella. (Esto debe ser especialmente cierto si las cantidades son en el mismo estadio de béisbol — como 1 BCH — que CashFusion los usuarios son alentados a hacer por el bien de su propia privacidad.)


Como hay más posibles soluciones a los rompecabezas, una blockchain analista tendrá un tiempo más difícil de averiguar cuál es la solución que fue la configuración original. Este debe romper el rastro de las monedas y hacer que sea más difícil para entradas de enlace juntos. Como tal, debe ofrecer privacidad.


Para mejorar este potencial, CashFusion incluye un extra truco para hacer aún más difícil el rompecabezas de la configuración original: Se permite a los usuarios semi-aleatoriamente despedazar sus salidas en varias pequeñas salidas. Así que en lugar de Alice pagar Carol una salida de 4 monedas, Alice podría enviar, por ejemplo, Carol salidas de 3 y 1 de la moneda. Bob, en lugar de pagar una salida de 9 monedas, podría enviar Dave salidas de 5, 3 y 1 moneda.


Mientras tanto, los usuarios son alentados a proporcionar varias entradas, así, tal vez a partir de mezclas anteriores. Esto les permite consolidar sus fragmentos más pequeños en un más tiempo, sin que se obvia en la blockchain. (Alice, por ejemplo, proporcionar insumos de 2 + 2 + 1; Bob le proporcionan insumos de 6 + 5 + 4.) De hecho, la consolidación de la desigualdad de las sobras de los trozos más grandes salidas fue la idea original y sirve como el origen del protocolo: nombre: CashFusion.



Pero la Suposición de capacidad?


A decepcionar a usted si usted lee este lejos buscando a una conclusión final: Este artículo no va a proporcionar una respuesta definitiva a la pregunta de si CashFusion suposiciones que sostienen o no, o en qué medida. Parece que no hay una respuesta definitiva aún. La propuesta ha ido a través de relativo poco de revisión de los pares hasta el momento, y mientras los desarrolladores detrás de CashFusion creen que su solución ofrece la suficiente privacidad, otros parecen un poco más escéptico.


En la cara de ella, CashFusion del enfoque parece erróneo, como antes desigual de la cantidad de mezcla de esquemas como Blockchain del SharedCoin fueron rotos años. Pero la diferencia crucial, Lundeberg y Fyookball ahora, creo, es que un CashFusion de transacciones podría incluir más entradas y salidas de un SharedCoin transacción hizo. Similar a otros nonintuitive matemática peculiaridades como el problema del cumpleaños, el número de configuraciones posibles crece exponencialmente para cada agregado de entrada y de salida, la solución del problema SharedCoin había — aunque Lundeberg acuerda mejor de matemáticas de las pruebas será necesaria para la correcta confirmar esto.


El CashFusion descripción sí no incluyen lo que Lundeberg auto-admito que considera “una servilleta de matemáticas”, de los cuales un poco más avanzada versión también fue publicado por él en Reddit. Estas estimaciones sugieren que, incluso con sólo 10 participantes, cada uno con 10 entradas para ser consolidados en una salida (para un total de 100 entradas y 10 salidas), el número de configuraciones posibles serían, en promedio, en el rango de 100 trillones. (Eso es un uno con veinte ceros, o 10^20.) Incluso acaba de informática de todas estas posibilidades tomaría un poco de tiempo — no importa correctamente el restablecimiento de las transacciones originales.


En el momento de escribir este artículo, más la investigación está en curso; Fyookball publicado recientemente su propio análisis en este blog. Por ahora, Lundeberg, Fyookball y otros son, al menos, lo suficientemente convencidos de la CashFusion protocolo desea implementar. Un alfa cliente de la CashFusion software está disponible para pruebas; una versión completa se espera que dentro de meses.


Pero otros no están tan convencidos. Una crítica de la propuesta es que — incluso si el 10^20 número de (aproximadamente) sostiene — no cada salida de un CashFusion CoinJoin va a ser igual de probable que provienen de cada entrada. En otras palabras, mientras que algunos participantes pueden obtener importantes de privacidad, otros podrían ganar mucho menos de privacidad de la misma mezcla. Y para cualquier usuario individual, sería difícil decir si ellos son los únicos ganando mucha privacidad o no. (Esta crítica y otras críticas se pueden encontrar en este recientes bitcoin-dev subproceso de correo electrónico.)


Por el contrario, de igual cantidad de mezcla ofrece privacidad similares a todos los participantes y los resultados en un número máximo de posibles configuraciones. En una manera, igual cantidad de mezclas resultado en un “perfecto” CashFusion CoinJoin y es, por lo tanto, estrictamente mejor — si la desigual problema del cambio es ignorado.


Aun así, si CashFusion nunca reemplazar completamente igual cantidad de mezcla, que sólo podría ayudar a resolver la desigualdad-cambio de tema, como originalmente la intención de…


Nota del autor: Hay un poco más a la CashFusion propuesta, como la forma en la CoinJoin transacción se construye. También hay varios más sutil de los riesgos y las ventajas y desventajas cuando se trata de privacidad, como la forma en que los usuarios manejar sus monedas antes y después de la mezcla. Para la simplicidad y legibilidad, este artículo se centra únicamente en la central y probablemente la más interesante idea detrás de CashFusion: desigual-cantidad de mezcla.


Gracias a Mark Lundeberg para información y comentarios.


La parte dos de este artículo cubrirá otra que no sea de igual cantidad de mezcla de la técnica llamada Mochila.



cashfusion, Coinjoin, Mixing, Privacy & security

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel