- Anonimato y desvinculación
- Agrupación de direcciones de Bitcoin
- Técnicas de privacidad: mezcla de monedas, firma anónima y prueba de conocimiento cero
- Privacidad en CRO Chain
¿Bitcoin es realmente “anónimo”? La respuesta corta es no. Es seudónimo, y con las herramientas y técnicas adecuadas, es posible rastrear al propietario de las direcciones de la transacción. Para responder la pregunta en su totalidad, primero echemos un vistazo al significado del anonimato y la desvinculación.
Anonimato y desvinculación
Literalmente, anónimo = “sin nombre”. De este artículo sobre cómo funcionan las transacciones en la red bitcoin, se sabe que las contrapartes deben exponer sus “direcciones”, que en realidad son las claves públicas, respectivamente, en lugar de los nombres reales. Se llama seudonimato en informática. En las redes informáticas, el anonimato se puede expresar como anonimato = seudonimato + desvinculación. Los seudónimos poseen diversos grados de anonimato, que van desde seudónimos públicos altamente vinculables (el vínculo entre el seudónimo y un ser humano es de conocimiento público o fácil de descubrir), seudónimos no públicos potencialmente vinculables (el vínculo es conocido por los operadores del sistema, pero no públicamente). divulgado) y seudónimos no vinculables (el vínculo no es conocido por los operadores del sistema y no se puede determinar) 1.
Dado que la cadena de bloques de bitcoin es de acceso público y transparente para todos, las personas siempre pueden realizar análisis para agrupar diferentes direcciones (lo que se denomina agrupación de direcciones de bitcoin). Por lo tanto, es incorrecto suponer que si tiene 100 direcciones en la red bitcoin, nadie puede identificar cuántos bitcoins tiene en total. De hecho, las personas pueden agrupar todas sus 100 direcciones bajo la misma “entidad” y calcular la cantidad total de BTC que posee. Esta es también la razón por la que no se recomienda la reutilización de direcciones de bitcoin, ya que hace que la agrupación de direcciones y la vinculación sean aún más fáciles.
La buena noticia es que, si protege bien su privacidad, es posible que las personas no puedan vincular su identidad del mundo real a sus direcciones de bitcoin, incluso si están agrupadas.
Un ejemplo infame es que el propietario de Silk Road (un mercado de la red oscura), Ross Ulbricht, estaba siendo arrestado porque había usado la misma cuenta en un foro para recibir bitcoins de Silk Road, también pidió ayuda con la programación y dio su dirección de correo electrónico que contiene su nombre completo. Luego, su identidad mundial leída se había vinculado a sus direcciones de bitcoin, y fue posible rastrear todas sus pertenencias de bitcoin.
Para concluir, Bitcoin no es completamente anónimo ni desvinculable. Pero si protege bien su privacidad, aún puede mantener su bitcoin desvinculado de su identidad del mundo real.
Agrupación de direcciones de Bitcoin
Hay varias reglas que las personas pueden usar para agrupar las direcciones de bitcoin. Los llamamos heurística de agrupamiento de bitcoins. Sin embargo, los lectores deben tener en cuenta que estas heurísticas no son 100% correctas y solo se utilizan por su eficacia en circunstancias generales.
Algunas heurísticas para introducir:
- Heurísticas de gasto compartido
- Heurísticas de cambio único
Heurísticas de gasto compartido
Supongamos que tenemos la siguiente transacción llamada “Txn 003”:
Los usuarios deben poseer la clave privada de cada dirección para poder gastarlos. En Txn 003, el usuario puede gastar adr 1 y adr 2 al mismo tiempo, lo que sugiere que adr 1 y adr 2 pertenecen al mismo usuario.
A esto se le llama heurística de gasto compartido.
Heurísticas de cambio único
Supongamos que tenemos la siguiente transacción llamada “Txn 017”:
Imagínese si este usuario gastara 1 BTC para comprar una pizza. Dado que bitcoin adopta un modelo UTXO, debe gastar todos sus 1.2 BTC y devolver los 0.2 BTC restantes a sí mismo. Por tanto, es probable que adr 1 y adr 3 pertenezcan al mismo usuario.
Esto se denomina heurística de cambio único.
Investigación2 de Harrigan et. Alabama. afirma que una sola heurística (heurística de co-gasto) puede identificar más del 69% de las direcciones en las carteras almacenadas por clientes ligeros.
Técnicas de privacidad: mezcla de monedas, firma anónima y prueba de conocimiento cero
Entonces, bitcoin no es completamente anónimo.
Aunque esto no es realmente algo malo (desde el punto de vista del cumplimiento, el anonimato total es malo para la política ALD), siempre habrá personas que deseen tener un token anónimo completo.
Para superar el problema en Bitcoin, algunas personas comenzaron a desarrollar monedas de privacidad utilizando técnicas criptográficas avanzadas.
Introduciríamos 3 técnicas aquí:
- Mezcla de monedas
- Firmas anónimas
- Prueba de conocimiento cero
Mezcla de monedas
La mezcla de monedas es una técnica para mezclar las monedas de modo que no se pueda rastrear al propietario real.
Imagina que A, B, C, D tienen cada uno 10 bitcoins. Envían sus bitcoins a un mezclador, y el mezclador envía 10 bitcoins a 4 nuevas direcciones que pertenecen a A, B, C, D respectivamente. Sin embargo, resulta muy difícil identificar quién es quién para esas 4 direcciones recién generadas.
Firmas anónimas
Las firmas anónimas son firmas digitales que pueden ocultar al firmante real.
Un ejemplo de esta firma anónima se llama “Firma de anillo” 4. Monero (XRM) utiliza la firma de anillo para preservar la privacidad de las transacciones5.
En la configuración de firma digital normal, las personas pueden verificar si la firma es verdadera utilizando la clave pública del firmante.
Sin embargo, para las firmas de anillo, extraerá un grupo de usuarios que cualquiera del grupo puede firmar. Eventualmente, otros solo pueden verificar que fue firmado por uno de ellos, pero no saben quién lo firma.
Sé que debe estar firmado por uno de ellos. ¡Pero no sé exactamente quién lo firmó!
Prueba de conocimiento cero
Prueba de conocimiento cero (ZKP) le permite demostrar que conoce algún secreto a alguien en el otro “extremo” de la comunicación sin revelarlo realmente. El mismo término “conocimiento cero” se origina en el hecho de que no se revela información (“cero”) sobre el secreto, pero la segunda parte (llamada “Verificador”) está (legítimamente) convencida de que la primera (llamada “Probador”) conoce el secreto en cuestión.
Expliquemos ZKP con el siguiente ejemplo:
Hay una cueva con forma de rosquilla con una puerta en el lado más alejado de la entrada que impide que pueda pasar. Sin embargo, esta puerta se puede atravesar diciendo una contraseña mágica. Alice quiere convencer a Bob de que conoce la contraseña. Una forma de hacerlo sería caminar con Bob hasta la puerta, luego gritar la contraseña mágica y, si la puerta se abre, Bob estaría convencido de que Alice conoce la contraseña. El problema con este enfoque convencional es que Bob podría aprender la contraseña mágica, que Alice no quiere que él sepa.
Este enfoque es similar al funcionamiento de bitcoin donde todos ven cada transacción para que podamos estar seguros del valor de bitcoin que tiene cada dirección pública, pero esto tiene el costo de que todos puedan conocer esta información6.
Alice necesita una forma de demostrarle a Bob que conoce la contraseña sin decirle realmente cuál es la contraseña. Esto es lo que llamamos “prueba de conocimiento cero”. Probar algo (el hecho de que Alice conoce la contraseña), mientras transmite conocimiento cero (sin que Bob aprenda la contraseña). Alice podría lograr la prueba de conocimiento cero de la siguiente manera:
- Alice entraría en la cueva y arbitrariamente elegiría ir al lado A o B.
- Bob luego vendría a la entrada de la cueva y le pediría a Alice que saliera por el lado A o por el lado B.
- Ahora, si Alice realmente conoce la contraseña, podrá atravesar la puerta y salir por el lado solicitado. Sin embargo, si no conoce la contraseña, tiene una probabilidad de 0.5 de poder venir del lado solicitado por Bob.
- Bob ahora simplemente repetiría el experimento n veces, cuando n es lo suficientemente grande, es simplemente imposible que Alice esté en lo correcto tantas veces si simplemente está haciendo conjeturas al azar.
Privacidad en la cadena Crypto.com
La privacidad de las transacciones es un aspecto importante para el diseño de la cadena Crypto.com. Nuestros axiomas de diseño de privacidad son:
- Datos de transacciones seudónimos cifrados en cadena, solo las partes relevantes involucradas en cada transacción pueden descifrarlos;
- Validación de transacciones eficiente.
Para abordar las necesidades de privacidad, así como otras prioridades como seguridad, velocidad de transacción y descentralización, la funcionalidad principal de Crypto.com Chain Nodes está diseñada para ejecutarse en enclaves seguros de entornos de ejecución de confianza (TEE). Los TEE, como Intel SGX, Arm TrustZone o Keystone, son conjuntos de instrucciones de CPU extendidos que aíslan el código ejecutado en un enclave del sistema operativo host en la RAM cifrada por hardware. Los TEE garantizan que incluso el administrador del nodo no pueda ver los datos privados con los que funciona el código de enclave.
Una característica importante de los TEE es su certificación local y remota. Esta función permite a los nodos o partes externas verificar que el código con el que planean interactuar es, de hecho, el código certificado de Crypto.com Chain. En caso de atestación remota, cada nodo completa este paso antes de establecer canales de comunicación seguros con otros nodos.
En el diseño de cadenas de Crypto.com, los TEE pueden encontrar varios casos de uso convincentes:
- Sellado de datos del libro mayor: si bien todos los datos de transacciones se pueden distribuir a cualquier nodo para su procesamiento, los humanos (incluso los administradores de nodos) no pueden ver estos datos en su forma sin procesar;
- Carteras de hardware “virtuales”: los nodos comunitarios pueden utilizar software tipo Ledger Trustlet para proteger sus claves privadas;
- Mejoras en el protocolo de pago: los TEE han ganado popularidad en la investigación de sistemas blockchain, ya que pueden ofrecer altos rendimientos de transacciones con baja latencia;
- Testigo de datos externos: para datos de oráculos u otras redes de blockchain, los TEE se pueden usar para atestiguar la autenticidad de los datos.
Para mejorar aún más las capacidades de privacidad, Crypto.com Chain incluirá otras medidas basadas en software en caso de violaciones del enclave seguro. El prototipo inicial utilizará firmas de árbol para firmas múltiples de umbral que proporcionan un buen equilibrio entre privacidad y responsabilidad. Además, exploraremos potencialmente el empleo de otras técnicas, como los compromisos aditivamente homomórficos (como se usa, por ejemplo, en Transacciones confidenciales), donde los datos permanecen privados incluso en el caso de violaciones de enclaves seguros, y sus partes procesadas pueden estar expuestas de manera segura y verificable. para auditorías de terceros.
Para obtener más detalles, consulte el documento técnico técnico de Crypto.com Chain 7.