Blockchain & Crypto Currencies
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Smart Contracts se definen como programas que se ejecutan en una blockchain cuando se cumplen ciertas condiciones, automatizando la ejecución de acuerdos sin intermediarios.
Decentralized Applications (dApps) se construyen sobre smart contracts, presentando una interfaz amigable para el usuario y un backend transparente y auditable.
Tokens & Coins diferencian donde las monedas sirven como dinero digital, mientras que los tokens representan valor o propiedad en contextos específicos.
Utility Tokens otorgan acceso a servicios, y Security Tokens significan propiedad de activos.
DeFi significa Finanzas Descentralizadas, ofreciendo servicios financieros sin autoridades centrales.
DEX y DAOs se refieren a Plataformas de Intercambio Descentralizadas y Organizaciones Autónomas Descentralizadas, respectivamente.
Los mecanismos de consenso aseguran validaciones de transacciones seguras y acordadas en la blockchain:
Proof of Work (PoW) se basa en el poder computacional para la verificación de transacciones.
Proof of Stake (PoS) exige que los validadores mantengan una cierta cantidad de tokens, reduciendo el consumo de energía en comparación con PoW.
Las transacciones de Bitcoin implican la transferencia de fondos entre direcciones. Las transacciones se validan a través de firmas digitales, asegurando que solo el propietario de la clave privada pueda iniciar transferencias.
Componentes Clave:
Transacciones Multisignatura requieren múltiples firmas para autorizar una transacción.
Las transacciones constan de inputs (fuente de fondos), outputs (destino), fees (pagados a los mineros) y scripts (reglas de la transacción).
Aumenta la escalabilidad de Bitcoin permitiendo múltiples transacciones dentro de un canal, transmitiendo solo el estado final a la blockchain.
Los ataques a la privacidad, como Common Input Ownership y UTXO Change Address Detection, explotan patrones de transacción. Estrategias como Mixers y CoinJoin mejoran el anonimato al oscurecer los vínculos de transacción entre usuarios.
Los métodos incluyen intercambios en efectivo, minería y el uso de mixers. CoinJoin mezcla múltiples transacciones para complicar la trazabilidad, mientras que PayJoin disfraza CoinJoins como transacciones regulares para una mayor privacidad.
En el mundo de Bitcoin, la privacidad de las transacciones y el anonimato de los usuarios son a menudo temas de preocupación. Aquí hay una visión simplificada de varios métodos comunes a través de los cuales los atacantes pueden comprometer la privacidad de Bitcoin.
Es generalmente raro que las entradas de diferentes usuarios se combinen en una sola transacción debido a la complejidad involucrada. Por lo tanto, se asume a menudo que dos direcciones de entrada en la misma transacción pertenecen al mismo propietario.
Un UTXO, o Unspent Transaction Output, debe ser completamente gastado en una transacción. Si solo una parte se envía a otra dirección, el resto va a una nueva dirección de cambio. Los observadores pueden asumir que esta nueva dirección pertenece al remitente, comprometiendo la privacidad.
Para mitigar esto, los servicios de mezcla o el uso de múltiples direcciones pueden ayudar a oscurecer la propiedad.
Los usuarios a veces comparten sus direcciones de Bitcoin en línea, lo que hace que sea fácil vincular la dirección a su propietario.
Las transacciones pueden visualizarse como gráficos, revelando conexiones potenciales entre usuarios basadas en el flujo de fondos.
Esta heurística se basa en analizar transacciones con múltiples entradas y salidas para adivinar cuál salida es el cambio que regresa al remitente.
If adding more inputs makes the change output larger than any single input, it can confuse the heuristic.
Los atacantes pueden enviar pequeñas cantidades a direcciones previamente utilizadas, esperando que el destinatario las combine con otras entradas en futuras transacciones, vinculando así las direcciones entre sí.
Las billeteras deben evitar usar monedas recibidas en direcciones ya utilizadas y vacías para prevenir esta fuga de privacidad.
Montos de Pago Exactos: Las transacciones sin cambio son probablemente entre dos direcciones pertenecientes al mismo usuario.
Números Redondos: Un número redondo en una transacción sugiere que es un pago, siendo la salida no redonda probablemente el cambio.
Huella Digital de Billetera: Diferentes billeteras tienen patrones únicos de creación de transacciones, lo que permite a los analistas identificar el software utilizado y potencialmente la dirección de cambio.
Correlaciones de Monto y Tiempo: Divulgar los tiempos o montos de las transacciones puede hacer que las transacciones sean rastreables.
Al monitorear el tráfico de la red, los atacantes pueden potencialmente vincular transacciones o bloques a direcciones IP, comprometiendo la privacidad del usuario. Esto es especialmente cierto si una entidad opera muchos nodos de Bitcoin, mejorando su capacidad para monitorear transacciones.
Para una lista completa de ataques a la privacidad y defensas, visita Bitcoin Privacy on Bitcoin Wiki.
Transacciones en Efectivo: Adquirir bitcoin a través de efectivo.
Alternativas en Efectivo: Comprar tarjetas de regalo y cambiarlas en línea por bitcoin.
Minería: El método más privado para ganar bitcoins es a través de la minería, especialmente cuando se hace solo, ya que los grupos de minería pueden conocer la dirección IP del minero. Información sobre Grupos de Minería
Robo: Teóricamente, robar bitcoin podría ser otro método para adquirirlo de forma anónima, aunque es ilegal y no se recomienda.
Al usar un servicio de mezcla, un usuario puede enviar bitcoins y recibir bitcoins diferentes a cambio, lo que dificulta rastrear al propietario original. Sin embargo, esto requiere confianza en el servicio para no mantener registros y para devolver realmente los bitcoins. Las opciones de mezcla alternativas incluyen casinos de Bitcoin.
CoinJoin combina múltiples transacciones de diferentes usuarios en una sola, complicando el proceso para cualquiera que intente emparejar entradas con salidas. A pesar de su efectividad, las transacciones con tamaños de entrada y salida únicos aún pueden ser potencialmente rastreadas.
Las transacciones de ejemplo que pueden haber utilizado CoinJoin incluyen 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a
y 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238
.
Para más información, visita CoinJoin. Para un servicio similar en Ethereum, consulta Tornado Cash, que anonimiza transacciones con fondos de mineros.
Una variante de CoinJoin, PayJoin (o P2EP), disfraza la transacción entre dos partes (por ejemplo, un cliente y un comerciante) como una transacción regular, sin las características distintivas de salidas iguales propias de CoinJoin. Esto hace que sea extremadamente difícil de detectar y podría invalidar la heurística de propiedad de entrada común utilizada por las entidades de vigilancia de transacciones.
Las transacciones como la anterior podrían ser PayJoin, mejorando la privacidad mientras permanecen indistinguibles de las transacciones estándar de bitcoin.
La utilización de PayJoin podría interrumpir significativamente los métodos de vigilancia tradicionales, lo que lo convierte en un desarrollo prometedor en la búsqueda de la privacidad transaccional.
Para mantener la privacidad y la seguridad, sincronizar los monederos con la blockchain es crucial. Dos métodos destacan:
Nodo completo: Al descargar toda la blockchain, un nodo completo asegura la máxima privacidad. Todas las transacciones realizadas se almacenan localmente, lo que hace imposible que los adversarios identifiquen qué transacciones o direcciones le interesan al usuario.
Filtrado de bloques del lado del cliente: Este método implica crear filtros para cada bloque en la blockchain, permitiendo que los monederos identifiquen transacciones relevantes sin exponer intereses específicos a los observadores de la red. Los monederos ligeros descargan estos filtros, solo obteniendo bloques completos cuando se encuentra una coincidencia con las direcciones del usuario.
Dado que Bitcoin opera en una red peer-to-peer, se recomienda usar Tor para enmascarar su dirección IP, mejorando la privacidad al interactuar con la red.
Para salvaguardar la privacidad, es vital usar una nueva dirección para cada transacción. Reutilizar direcciones puede comprometer la privacidad al vincular transacciones a la misma entidad. Los monederos modernos desincentivan la reutilización de direcciones a través de su diseño.
Múltiples transacciones: Dividir un pago en varias transacciones puede oscurecer el monto de la transacción, frustrando ataques a la privacidad.
Evitación de cambios: Optar por transacciones que no requieran salidas de cambio mejora la privacidad al interrumpir los métodos de detección de cambios.
Múltiples salidas de cambio: Si evitar el cambio no es factible, generar múltiples salidas de cambio aún puede mejorar la privacidad.
Monero aborda la necesidad de anonimato absoluto en las transacciones digitales, estableciendo un alto estándar para la privacidad.
El gas mide el esfuerzo computacional necesario para ejecutar operaciones en Ethereum, tasado en gwei. Por ejemplo, una transacción que cuesta 2,310,000 gwei (o 0.00231 ETH) implica un límite de gas y una tarifa base, con una propina para incentivar a los mineros. Los usuarios pueden establecer una tarifa máxima para asegurarse de no pagar de más, con el exceso reembolsado.
Las transacciones en Ethereum involucran un remitente y un destinatario, que pueden ser direcciones de usuario o de contrato inteligente. Requieren una tarifa y deben ser minadas. La información esencial en una transacción incluye el destinatario, la firma del remitente, el valor, datos opcionales, límite de gas y tarifas. Notablemente, la dirección del remitente se deduce de la firma, eliminando la necesidad de incluirla en los datos de la transacción.
Estas prácticas y mecanismos son fundamentales para cualquiera que busque involucrarse con criptomonedas mientras prioriza la privacidad y la seguridad.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)