Defectos de Blockchains: Defectos de privacidad

May 10 2022
¿Cómo te sientes cuando te preguntan por tu salario o el dinero que recibes de tu familia en tu día a día? O imagine que su arrendador puede ver sus ingresos. No suena muy bien.

¿Cómo te sientes cuando te preguntan por tu salario o el dinero que recibes de tu familia en tu día a día? O imagine que su arrendador puede ver sus ingresos. No suena muy bien. Entonces, si todo está tan claro, ¿por qué los delincuentes prefieren Bitcoin como método de pago? ¿Cómo podemos asegurar la confidencialidad, qué nos aporta y qué nos perjudica? Estos son los temas de los que hablaremos en este artículo.

Enlace de imágen

Incluso el número actual de usuarios de blockchains no es despreciable, pero imaginemos por un momento que todo el mundo lo está adoptando y usando. ¿Quién quiere mantener confidencial qué información? La razón por la que usamos la frase "Mantenerlo confidencial" es porque es diferente de "Anonimato". La confidencialidad es saber quiénes somos y no saber qué hacemos; Podemos pensar en el anonimato como no saber quiénes somos, pero saber lo que hacemos. Volvamos a nuestra pregunta. Por ejemplo, para consumidores, salarios, alquileres, gastos personales; costos de materiales para las empresas, salarios de los empleados y cuánto presupuesto asignan; acciones para delincuentes como obtener fondos pirateados, tráfico de drogas, evasión de impuestos; y aplicaciones, puede ser necesario para evitar la ejecución anticipada, mantener la confidencialidad del libro de órdenes y subastas de oferta cerrada. Así que diferentes grupos pueden usarlo para diferentes propósitos. Así como los propósitos del uso del dinero en entornos físicos son diferentes.

En los casos en que no se proporcione esta confidencialidad, se pueden ver todos sus ahorros, su arrendador puede intentar aumentar su salario, su cuenta puede estar restringida debido a alguna donación o acción en el historial de su billetera.

Echemos un vistazo a la comparación a continuación:

Zcash, Monero, Aleo, Secret Network y Dash son cadenas centradas en la privacidad. En estas cadenas, solo el receptor puede ver la información como el remitente, el receptor y la cantidad enviada con la clave requerida. Está disponible como opción en Dash y Zcash, mientras que la configuración predeterminada es privacidad en Aleo, Secret Network y Monero. Los bancos tienen confidencialidad media como mecanismos donde el remitente y el receptor pueden ver todo entre ellos y los servidores centrales y las personas autorizadas pueden controlarlos. Las cadenas de bloques abiertas como Bitcoin, Ethereum, Avalanche, Solana se pueden clasificar como el nivel más bajo. Examinemos una transacción que recibimos en Ethereum:

https://etherscan.io/tx/0xcbd67610bf6bdc251ce4d60f138de8b4c759acd42d156ea486990314dff91de5

"Obtuvimos muchos datos, pero no vimos el nombre, ¿qué no es secreto al respecto?" Me gustaría señalar que estos datos son muy convenientes para el rastreo. En cualquiera de los retiros bancarios, cambios (u otras aplicaciones) de hoy en día, se requiere confirmación de identidad debido a las regulaciones. Cuando enviamos dinero al intercambio con nuestra billetera, tanto nuestra identidad como la billetera a la que enviamos dinero son conocidas por el intercambio. Esto nos permite ser rastreados a lo largo de las transacciones finales. Como observador externo, también puede obtener información diferente siguiendo las billeteras en cualquier transacción. Si ha compartido la dirección de su billetera en las redes sociales o al completar varios formularios, la información que proporcionó en el formulario y la dirección de su billetera se pueden vincular fácilmente en caso de un posible pirateo. En otras palabras, mientras tu entorno está aprendiendo sobre tus ahorros;

Puede usar este sitio para verificar si su información ha sido robada en algún evento de piratería:https://haveibeenpwned.com/

Reforzamos la importancia de la privacidad y la descentralización con algunos ejemplos. El Internet que usamos todos los días en realidad no está tan descentralizado. Podemos entender esto a partir de millones de datos recopilados en el marco del Programa de Vigilancia Global “PRISM” , que se promulgó en 2007 bajo el nombre de leyes de “protección de América” . Algunas de las empresas que comparten datos de los usuarios al ser incluidos en el programa son Microsoft, Yahoo, Google, Facebook, Youtube, Skype , Apple ...

Como resultado de una investigación realizada en 2013 con el objetivo de desanonimizar la actividad y el anonimato en Bitcoin, se llega al siguiente mapeo:

Los puntos representan las carteras comunicantes, mientras que los círculos de colores representan el volumen. Los nombres de los círculos se agregan como resultado de varias suposiciones después del mapeo. Satoshi dice es un sitio de apuestas de los primeros días de Bitcoin. El sistema se basa en múltiples billeteras que participan en un sorteo y la dirección ganadora las obtiene todas. Tantas pero pequeñas transacciones prueban que esta dirección pertenece a Satoshi Dice. Ya se conocen algunas carteras de intercambio. De esta forma , tanto las billeteras como las aplicaciones pueden etiquetarse utilizando un grupo de datos general .

Ahora que entendemos la importancia de la privacidad y nuestros datos, pasemos a cómo la proporcionamos. Vayamos a lo básico primero y hablemos sobre la privacidad en la capa de red. Las cadenas de bloques son redes peer-to-peer (P2P) . Las redes P2P son “ redes superpuestas ” construidas sobre otra red existente . En otras palabras, para que podamos comprender estas etapas, debemos examinar cómo se sigue la capa subyacente y cómo se obtienen los datos. Por ejemplo, para leer este artículo, debe recibir paquetes de datos del servidor al que se está conectando. ¿Qué etapas atraviesan estos paquetes de datos cuando llegan a su computadora?

Comencemos examinando TCP/IP (Protocolo de control de transmisión/Protocolo de Internet).

En la imagen a continuación, podemos ver TCP/IP como la ruta que deben seguir los datos para encontrar su computadora entre hardware como enrutador, servidor, cables físicos.

Enlace de imágen
  • La primera capa por encima de la capa física es la capa de acceso a la red , o el " enlace o interfaz de red " que se ve en la primera imagen . Esta capa se encarga de decidir de qué manera te llegarán los datos después de salir del servidor.
  • Esta etapa, que representa la comunicación entre los Routers que se muestran en rojo en la imagen , también se conoce como Hop-to-hop .
  • La otra capa es la “ Capa de Internetde extremo a extremo , es decir, la parte entre el receptor y el transmisor.
  • La tercera capa es la capa de “ Transporte ” , que se encarga de la comunicación y gestión de los paquetes de datos, que se muestra en naranja .
  • En la parte superior está la capa de aplicación , que también incluye http/smtp/ssh/ftp .

En TCP/IP, el cliente oculta su dirección IP cuando solicita recursos al proveedor. De esta forma, el proveedor sabe qué está haciendo el cliente (solicitando recursos) pero no quién lo está haciendo (dirección IP).

En las cadenas de bloques, cuando dividimos las capas en dos, la capa superior es la parte de la cadena de bloques que usamos. Comunicarse con contratos inteligentes, usar diferentes protocolos, etc. Esta capa se realiza mediante nodos. Sin embargo, en las cadenas de bloques principales, en esta etapa no se utiliza un servicio que proporcionará confidencialidad , y otros nodos pueden acceder tanto a lo que quieren hacer con el mensaje entrante como a qué nodo transmite el mensaje.

Enlace de imágen

En ausencia de cualquier intermediario entre el usuario final y el nodo, el nodo malicioso también puede llegar a la IP del usuario. Si las direcciones de los nodos y las direcciones IP se asignan entre sí, los propietarios de los nodos se vuelven vulnerables a la censura u otras formas de ataque. Entonces, ¿hay alguna solución a esta situación que amenaza la privacidad tanto de los usuarios como de los propietarios de los nodos?

¿Y si usáramos un intermediario entre el usuario final y los nodos? Aunque servicios como VPN, Proxy tienen una solución para esto, requieren una herramienta confiable . ¿Y si aumentamos el número de agentes? Cuando solo hay un agente, compartimos todo nuestro conocimiento con un único servidor de agentes. ¿Podemos conseguir un sistema más seguro si aumentamos el número de agentes y encriptamos los datos?

TOR (El enrutador de cebolla)

TOR encripta los datos que recibe de usted tanto como la cantidad de nodos a los que está conectado. En el siguiente ejemplo, los datos se cifrarán 4 veces.

Enlace de imágen

Cuando los datos llegan al Nodo 1, una de sus capas se descifra y el mensaje restante se envía al Nodo 2. Cuando los datos llegan al Nodo 4, la única información disponible es que el mensaje se transmitió desde el Nodo 3 y el contenido del mensaje.

Enlace de imágen

De esta forma , proporciona un sistema seguro y confidencial que no necesita confiar en intermediarios .

Otra estructura para pagos en la cadena Bitcoin, SPV Client , por otro lado, le permite confirmar su propia transacción de manera más segura al conectarse a un nodo completo sin necesidad de una instalación de nodo completo. Realiza el proceso de validación con una estructura similar al Merkle Tree.

Si no te parecía muy posible que todo el mundo tuviera tanto conocimiento, tienes razón. La expectativa general de una tecnología adecuada para la adopción masiva no es que requiera tomar clases de computación. Por esta razón, existen diferentes soluciones que todos pueden usar fácilmente.

Wasabi Wallet, una billetera Bitcoin o blockchains centradas en la privacidad Zcash, Monero, Dash, Secret Network, Aleo son ejemplos. Comencemos abordando la privacidad en la cadena de bloques de Bitcoin.

Monedero Wasabi

Wasabi Wallet combina diferentes funciones en Bitcoin para aumentar la privacidad.

  • Protección contra ataques de polvo
  • PayJoin interno (una variante de CoinJoin)
  • Cambio de dirección personalizado

Dirección de intercambio privado: la cadena de bloques de Bitcoin utiliza UTXO para los pagos. En otras palabras, cuando quieras comprar café con 2 de los 5 BTC que tienes, 5 BTC saldrán de tu billetera, 2 cruzarán, 3 te regresarán. Mostrémoslo esquemáticamente así:

  • X: 5 BTC -> A: 2 BTC X: 3 BTC
  • X: 5 BTC -> A: 2 BTC B: 3 BTC

Algunos ejemplos en la cadena de bloques:

La misma dirección se utiliza de nuevo para el cambio :https://www.blockchain.com/btc/tx/4291ec25ae510c379fd5c422ac4c6598102083e70ace934ca83827209b7defe8

Se utiliza una dirección diferente para el cambio:

https://www.blockchain.com/btc/tx/189ba66f9c345c09ec1710d60998061cc853be8e71489319f348390f6a249755

CoinJoin : un mezclador descentralizado donde los usuarios pueden realizar transacciones juntos para aumentar la privacidad en Bitcoin . Aumenta la privacidad al romper la propiedad de entrada común . Cuando examinemos la transacción a continuación, veremos que las transacciones pertenecen a dos personas, no a una.

La parte que reduce la privacidad es que podemos usarla para rastrear cuándo podemos inspeccionar el cambio. Aquí, podemos ver a los usuarios X e Y unirse y enviar 1 BTC a las billeteras A y B. Como C compró 4 BTC de cambio, podemos decir que el propietario de esta billetera es la misma persona que X. Para Y, el cambio de 2 BTC fue a la billetera D. Entonces, aunque las direcciones son diferentes, son los mismos propietarios.

PayJoin o P2EP (Pay-to-end-point) es la versión mejorada de CoinJoin. Nuevamente, un mezclador que se puede usar en Wasabi Wallet. Entonces, ¿qué está pasando aquí?

De nuevo hay dos propietarios, pero para mejorar el anonimato el proceso ahora es el siguiente:

Llamemos a 2 titulares de BTC A y 5 titulares de BTC B.

B quiere pagar 1 BTC a A.

La billetera B procesa 5 BTC, la billetera A procesa 2 BTC. Como salida, la billetera B recupera 4 BTC, la billetera A toma 1 BTC y tiene un total de 3 BTC.

Por supuesto, esta es una acción que no se hace con 2 cónyuges, sino con más de un cónyuge. Por lo tanto, las transacciones de ejemplo se verán así:https://blockstream.info/tx/e4a789d16a24a6643dfee06e018ad27648b896daae6a3577ae0f4eddcc4d9174

Zcash

Zcash tiene una cadena de bloques que ofrece privacidad como opción. Las direcciones de Zcash son privadas (direcciones z) o transparentes (direcciones t). Hay 4 tipos de transferencias que pueden tener lugar entre estos dos tipos de direcciones diferentes.

Cuando se realiza una transferencia "privada", se puede ver que se realiza una transferencia en la cadena de bloques pública y se paga una tarifa. Sin embargo, las direcciones, el monto de la transferencia y los campos de notas no se pueden ver en la cadena de bloques ya que están encriptados. Durante este cifrado, se utilizan pruebas de conocimiento cero .

dinero

Monero es una cadena de bloques que ofrece privacidad por defecto. Sus transacciones se mantienen confidenciales a menos que desee compartirlas en privado.

En una transacción realizada en esta cadena de bloques, el destinatario, el remitente y el monto del envío están protegidos de manera diferente.

Las direcciones ocultas son direcciones aleatorias y desechables que el remitente crea para cada transacción en nombre del destinatario. De esta manera, solo el destinatario y el remitente pueden ver la dirección de recepción, mientras que se evita la trazabilidad hacia atrás desde una sola dirección. Stealth address también se conoce como " clave pública de un solo uso " (one-time public key). Se requieren 2 claves para crear una dirección en la red Monero. La tecla Gastar es necesaria para mover fondos, mientras que la tecla Ver es necesaria para ver las transacciones entrantes. Con la combinación de estas dos claves , se crea tu Dirección de Monero.

Durante la transacción, el remitente solicita la clave de gasto público y la clave de vista pública del receptor y crea una clave pública desechable combinándolas con diferentes datos. Cualquier persona en la cadena de bloques puede ver la clave generada; pero solo cuando el destinatario encuentra y accede al contenido de la transacción en la cadena de bloques con la clave de visualización privada ; Al calcular una clave privada desechable que corresponde a la clave pública desechable, procesa la cantidad en la salida con la clave de gasto privado y accede a los fondos.

Las firmas de anillo , por otro lado, crean una firma combinando las acciones engañosas realizadas por diferentes usuarios y la acción real en un grupo. Contiene una clave de gasto desechable en la entrada real. Alguien que no está involucrado en este proceso no puede entender qué proceso es real y ve todo el proceso como resultado. De esta forma, se protege la privacidad del remitente.

Ring Confidential Transactions (RCT) proporciona el cifrado de la cantidad enviada. Al igual que la cadena de bloques de Bitcoin, Monero usa UTXO. En este tipo de pago, la cantidad de entrada y salida debe ser igual. RCT permite al usuario aprobar transacciones solo mostrando suficiente evidencia a los validadores. Así, se asegura la confidencialidad del importe enviado.

pizca

Una de las blockchains donde se ofrece la privacidad como opción. Para que una transacción sea privada, se debe utilizar la propiedad PrivateSend . Esta función garantiza que su transacción pase por el mismo proceso que CoinJoin en la cadena de bloques de Bitcoin antes de que su publicación se envíe a la otra parte. Para aumentar aún más la privacidad, los nodos confiables en la cadena de bloques del tablero, llamados " Masternodes ", mezclan sus fondos con otras monedas que se envían en la cadena, lo que hace que su transacción sea aún más difícil de rastrear.

Red secreta

Las cadenas de bloques que mencionamos anteriormente eran cadenas de bloques no programables similares a la cadena de bloques de Bitcoin. Secret Network, por otro lado, es una cadena de bloques programable que ofrece privacidad por defecto. En otras palabras, puede desarrollar aplicaciones desarrolladas en Ethereum en Secret Network, y su información no se publica públicamente cuando se comunica con las plataformas. Codificado en Rust on Cosmos; por lo que se afirma que es más escalable. Los contratos de Secret Network se pueden ejecutar en múltiples cadenas usando IBC con CosmWasm .

Los nodos deben contar con hardware TEE (Trusted Execution Environment) para que los cálculos en la red se puedan realizar de forma confidencial y segura . Los TEE son hardware que se ubica en un área aislada en el operador principal de un dispositivo separado del sistema operativo principal y que garantiza la protección del código y los datos cargados en él en términos de confidencialidad e integridad . De esta forma, una entrada creada por el cliente en la red puede seguir siendo procesada de forma encriptada . El estado del contrato de los Contratos Confidenciales siempre está encriptado y solo puede ser conocido por el TEE dentro del contrato. Las salidas encriptadas solo son conocidas por el remitente y el contrato en sí.

  • Cuando la red recibe una solicitud de ejecución del usuario ( argumento cifrado con Cu ), TEE descifra el texto cifrado y carga el estado actual del contrato cifrado Cb , que se toma del código fuente del contrato de la cadena de bloques .
  • Luego, TEE descifra Cb utilizando la clave de servicio de TEE , aplica la lógica del contrato y genera el resultado de la aplicación en mb .
  • Entonces Cb' se obtiene cifrando mb con la clave pública del usuario . Cb' se envía a la cadena de bloques.

Áloe

Aleo es una cadena de bloques programable , aún en etapa de testnet, donde la privacidad viene por defecto . Las aplicaciones descentralizadas y los protocolos desarrollados en él estarán escritos en su propio lenguaje de aplicación, Leo . La privacidad de Aleo se basa en Zero-knowledge , a diferencia de Secret Network . Dada solo información "suficiente" para producir evidencia, estas evidencias pueden ofrecer estructuras más eficientes mientras se mantiene la confidencialidad.

En este artículo, hablamos sobre por qué los usuarios pueden querer privacidad, las posibles consecuencias de las fallas de privacidad, las diferentes formas de garantizar la privacidad en la capa de red y en la cadena, y las cadenas de bloques centradas en la privacidad.

Gracias por tomarse el tiempo para leer.

Twitter: Comunidad Blockchain de KyaTzu y METU

Referencia

  • https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf
  • https://en.bitcoin.it/wiki/Address_reuse
  • https://arxiv.org/pdf/1405.7418.pdf
  • https://z.cash/technology/
  • https://www.getmonero.org/resources/moneropedia/stealthaddress.html
  • https://scrt.network/blog/programmable-privacy/
  • https://people.cs.umass.edu/~ramesh/Site/PUBLICATIONS_files/overlays-chapter.pdf
  • https://www.cs.helsinki.fi/webfm_send/1040
  • https://arxiv.org/pdf/2203.08548.pdf
  • https://homes.cs.washington.edu/~yoshi/papers/Tor/PETS2008_37.pdf
  • https://electrum.readthedocs.io/en/latest/spv.html
  • https://eprint.iacr.org/2018/962.pdf
  • https://cs251.stanford.edu/lectures/lecture13.pdf
  • https://codeburst.io/understanding-tcp-internals-step-by-step-for-software-engineers-system-designers-part-1-df0c10b86449

© Copyright 2021 - 2022 | unogogo.com | All Rights Reserved