Anatomía de las transacciones mixtas

He leído algo de literatura sobre la mezcla en sistemas como TOR y también en Bitcoin. En Bitcoin and Cryptocurrency Technologies , los autores explican que las transacciones uniformes son muy importantes para evitar ataques de correlación al hacer coincidir entradas y salidas:

Transacciones uniformes. Si las transacciones mixtas de diferentes usuarios tuvieran diferentes cantidades de bitcoins, entonces la mezcla no sería muy efectiva. Dado que el valor que entra en la mezcla y sale de una mezcla debería preservarse, permitirá vincular las monedas de un usuario a medida que fluyen a través de la mezcla, o al menos disminuirá en gran medida el tamaño del conjunto de anonimato. En su lugar, queremos que las transacciones mixtas tengan un valor uniforme para minimizar la vinculabilidad. Todas las mezclas deben coincidir en un tamaño de trozo estándar...

Sin embargo, no puedo encontrar ejemplos donde esto sea visible en la cadena de bloques.

También he visto que mezclar Bitcoin se describe de manera diferente, por ejemplo, en el documento Bitcoin and Beyond :

El servicio de mezcla agrega los bitcoins recibidos de todos sus usuarios para redistribuirlos nuevamente. Algunos servicios utilizan la aleatoriedad, es decir, dividen la cantidad en partes aleatorias más pequeñas y las transfieren después de intervalos aleatorios. El usuario puede programar las transacciones y proporcionar restricciones de tiempo.

Ahora estoy buscando ejemplos de estos tipos de transacciones mixtas en la cadena de bloques, especialmente uno en el que puedo ver que se usa un tamaño de fragmento fijo. ¿Alguno de estos esquemas se usa con más frecuencia hoy en día?

¿Es el segundo esquema realmente seguro? Si ESTO realmente se está mezclando como supongo, ¿no es posible hacer coincidir conjuntos de entradas con conjuntos de salidas que tienen la cantidad (o un poco menos) de valor BTC y, por lo tanto, deben estar conectados? Puedo imaginar que esto también funciona en el transcurso de transacciones múltiples en caso de que el pago de un mezclador se divida en intervalos.

Respuestas (1)

Tal como lo veo, las técnicas a las que te refieres son dos formas posibles pero diferentes de mezclar. El primero, explicado en el libro Bitcoin and Cryptocurrency Technologies, se refiere a un tipo de técnica de mezcla como CoinJoin .

CoinJoin es una técnica de mezcla en la que varios usuarios crean una transacción uniendo sus entradas. Para mantener su privacidad, todas las entradas deben compartir el mismo valor, ya que de esa manera una vez creada la transacción no hay forma de saber qué entrada corresponde a cada salida, mientras que si las entradas tienen un valor diferente, será mucho más directo. -adelante. Hay dos formas de implementar un esquema CoinJoin, la primera y más simple transmite a un tercero que recibe todas las entradas, salidas y firmas, y construye la transacción de los participantes. El otro, más elaborado, no necesita de ningún tercero, ya que cada usuario actúa como un servidor de firma ciega.

Por otro lado, la técnica a la que se hace referencia en el documento Bitcoin and Beyond utiliza un servidor de mezcla, que actúa como un tercero de confianza, donde los usuarios envían fondos y eventualmente los reciben en una dirección diferente (después de aplicar una determinada tarifa de mezcla). Para evitar la vinculabilidad entre las transacciones recibidas y enviadas, este tipo de técnica de mezcla utiliza retrasos aleatorios para redistribuir las transacciones. Send Shared de blockchain.info y bitmixer.io solían ser ejemplos de dicha técnica de mezcla.

Finalmente, con respecto a los ejemplos de tales transacciones, lamentablemente no tengo ninguna transacción CoinJoin en particular identificada para informarle, tal vez alguien más pueda ayudarlo con eso.