Blockchain y Cripto-monedas
Reading time: 10 minutes
tip
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.
Conceptos b谩sicos
- Contratos inteligentes (Smart Contracts) son programas que se ejecutan en una blockchain cuando se cumplen ciertas condiciones, automatizando la ejecuci贸n de acuerdos sin intermediarios.
- dApps (Decentralized Applications) se construyen sobre contratos inteligentes, con un front-end amigable para el usuario y un back-end transparente y auditable.
- Tokens & Coins se diferencian en que las coins 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 representan la propiedad de un activo.
- DeFi significa Decentralized Finance, ofreciendo servicios financieros sin autoridades centrales.
- DEX y DAOs se refieren a plataformas de intercambio descentralizadas y organizaciones aut贸nomas descentralizadas, respectivamente.
Mecanismos de consenso
Los mecanismos de consenso aseguran la validaci贸n segura y acordada de transacciones en la blockchain:
- Proof of Work (PoW) se basa en la potencia computacional para la verificaci贸n de transacciones.
- Proof of Stake (PoS) requiere que los validadores mantengan una cierta cantidad de tokens, reduciendo el consumo energ茅tico en comparaci贸n con PoW.
Conceptos esenciales de Bitcoin
Transacciones
Las transacciones de Bitcoin implican transferir fondos entre direcciones. Las transacciones se validan mediante firmas digitales, asegurando que solo el propietario de la clave privada pueda iniciar transferencias.
Componentes clave:
- Transacciones multifirma (Multisignature Transactions) requieren m煤ltiples firmas para autorizar una transacci贸n.
- Las transacciones consisten en inputs (origen de los fondos), outputs (destino), fees (pagados a los miners) y scripts (reglas de la transacci贸n).
Lightning Network
Busca mejorar la escalabilidad de Bitcoin permitiendo m煤ltiples transacciones dentro de un canal, solo transmitiendo el estado final a la blockchain.
Preocupaciones de privacidad en Bitcoin
Los ataques a la privacidad, como Common Input Ownership y UTXO Change Address Detection, explotan patrones de las transacciones. Estrategias como Mixers y CoinJoin mejoran el anonimato al ocultar los enlaces entre transacciones de diferentes usuarios.
Adquisici贸n an贸nima de Bitcoins
Los m茅todos incluyen cambios 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 normales para mayor privacidad.
Ataques de privacidad en Bitcoin
Resumen de ataques de privacidad en Bitcoin
En el mundo de Bitcoin, la privacidad de las transacciones y el anonimato de los usuarios son a menudo motivo de preocupaci贸n. Aqu铆 hay una visi贸n simplificada de varios m茅todos comunes mediante los cuales los atacantes pueden comprometer la privacidad en Bitcoin.
Suposici贸n de propiedad com煤n de inputs (Common Input Ownership Assumption)
Generalmente es raro que inputs de diferentes usuarios se combinen en una sola transacci贸n debido a la complejidad involucrada. Por lo tanto, dos direcciones input en la misma transacci贸n a menudo se asumen pertenecen al mismo propietario.
Detecci贸n de direcci贸n de cambio UTXO (UTXO Change Address Detection)
Un UTXO (Unspent Transaction Output) debe gastarse completamente en una transacci贸n. Si solo se env铆a una parte 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.
Ejemplo
Para mitigar esto, los servicios de mixing o el uso de m煤ltiples direcciones pueden ayudar a ocultar la propiedad.
Exposici贸n en redes sociales y foros
Los usuarios a veces comparten sus direcciones de Bitcoin en l铆nea, lo que facilita vincular la direcci贸n con su propietario.
An谩lisis del grafo de transacciones
Las transacciones pueden visualizarse como grafos, revelando conexiones potenciales entre usuarios basadas en el flujo de fondos.
Heur铆stica de input innecesario (Optimal Change Heuristic)
Esta heur铆stica se basa en analizar transacciones con m煤ltiples inputs y outputs para adivinar cu谩l output es el cambio que regresa al remitente.
Ejemplo
2 btc --> 4 btc
3 btc 1 btc
Si a帽adir m谩s inputs hace que la salida de change sea m谩s grande que cualquier input individual, puede confundir a la heur铆stica.
Forced Address Reuse
Los atacantes pueden enviar peque帽as cantidades a direcciones usadas anteriormente, con la esperanza de que el receptor las combine con otros inputs en transacciones futuras, enlazando as铆 las direcciones entre s铆.
Comportamiento correcto del wallet
Las wallets deber铆an evitar usar coins recibidas en direcciones vac铆as ya usadas para prevenir este privacy leak.
Other Blockchain Analysis Techniques
- Exact Payment Amounts: Las transacciones sin change probablemente sean entre dos direcciones propiedad del mismo usuario.
- Round Numbers: Un n煤mero redondo en una transacci贸n sugiere que es un pago, y la salida no redonda probablemente sea el change.
- Wallet Fingerprinting: Diferentes wallets tienen patrones 煤nicos de creaci贸n de transacciones, lo que permite a los analistas identificar el software usado y potencialmente la direcci贸n de change.
- Amount & Timing Correlations: Revelar los tiempos o montos de transacciones puede hacer a las transacciones rastreables.
Traffic Analysis
Al monitorizar el tr谩fico de 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, lo que mejora su capacidad para supervisar transacciones.
M谩s
For a comprehensive list of privacy attacks and defenses, visit Bitcoin Privacy on Bitcoin Wiki.
Transacciones an贸nimas de Bitcoin
Formas de obtener Bitcoins de forma an贸nima
- Cash Transactions: Adquirir bitcoin con efectivo.
- Cash Alternatives: Comprar tarjetas regalo y cambiarlas en l铆nea por bitcoin.
- Mining: El m茅todo m谩s privado para obtener bitcoins es la miner铆a, especialmente si se hace en solitario, ya que los mining pools pueden conocer la direcci贸n IP del minero. Mining Pools Information
- Theft: En teor铆a, robar bitcoin podr铆a ser otro m茅todo para adquirirlo an贸nimamente, aunque es ilegal y no recomendable.
Mixing Services
Al usar un servicio de mezcla, un usuario puede enviar bitcoins y recibir bitcoins diferentes a cambio, lo que complica rastrear al propietario original. Sin embargo, esto requiere confiar en que el servicio no guarde logs y que realmente devuelva los bitcoins. Opciones alternativas de mezclado incluyen casinos de Bitcoin.
CoinJoin
CoinJoin combina m煤ltiples transacciones de distintos usuarios en una sola, complicando el proceso de emparejar inputs con outputs. A pesar de su efectividad, las transacciones con tama帽os 煤nicos de inputs y outputs a煤n pueden ser rastreadas potencialmente.
Example transactions that may have used CoinJoin include 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a
and 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238
.
Para m谩s informaci贸n, visita CoinJoin. Para un servicio similar en Ethereum, consulta Tornado Cash, que anonimiza transacciones con fondos de los mineros.
PayJoin
Una variante de CoinJoin, PayJoin (o P2EP), disfraza la transacci贸n entre dos partes (p. ej., un cliente y un comerciante) como una transacci贸n normal, sin las salidas iguales distintivas caracter铆sticas de CoinJoin. Esto hace que sea extremadamente dif铆cil de detectar y podr铆a invalidar la common-input-ownership heuristic usada por entidades de vigilancia de transacciones.
2 btc --> 3 btc
5 btc 4 btc
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 perturbar significativamente los m茅todos tradicionales de vigilancia, convirti茅ndolo en un avance prometedor en la b煤squeda de privacidad transaccional.
Mejores pr谩cticas para la privacidad en criptomonedas
T茅cnicas de sincronizaci贸n de wallets
Para mantener la privacidad y la seguridad, sincronizar las wallets con la blockchain es crucial. Destacan dos m茅todos:
- Full node: Al descargar toda la blockchain, un nodo completo garantiza la m谩xima privacidad. Todas las transacciones realizadas se almacenan localmente, haciendo imposible que los adversarios identifiquen cu谩les transacciones o direcciones interesan al usuario.
- Client-side block filtering: Este m茅todo consiste en crear filtros para cada bloque de la blockchain, permitiendo a las wallets identificar transacciones relevantes sin exponer intereses espec铆ficos a los observadores de la red. Las wallets ligeras descargan estos filtros, solicitando bloques completos solo cuando hay una coincidencia con las direcciones del usuario.
Utilizar Tor para anonimato
Dado que Bitcoin opera en una red peer-to-peer, se recomienda usar Tor para ocultar tu direcci贸n IP, mejorando la privacidad al interactuar con la red.
Prevenir la reutilizaci贸n de direcciones
Para salvaguardar la privacidad, es vital usar una direcci贸n nueva para cada transacci贸n. Reutilizar direcciones puede comprometer la privacidad al vincular transacciones con la misma entidad. Las wallets modernas desalientan la reutilizaci贸n de direcciones mediante su dise帽o.
Estrategias para la privacidad de las transacciones
- M煤ltiples transacciones: Dividir un pago en varias transacciones puede ocultar el monto de la transacci贸n, frustrando ataques de privacidad.
- Evitaci贸n del cambio: Optar por transacciones que no requieran salidas de cambio mejora la privacidad al dificultar los m茅todos de detecci贸n de cambio.
- M煤ltiples salidas de cambio: Si evitar el cambio no es factible, generar m煤ltiples salidas de cambio todav铆a puede mejorar la privacidad.
Monero: Un faro de anonimato
Monero responde a la necesidad de anonimato absoluto en las transacciones digitales, estableciendo un alto est谩ndar para la privacidad.
Ethereum: Gas y transacciones
Entendiendo el gas
El gas mide el esfuerzo computacional necesario para ejecutar operaciones en Ethereum, valorado en gwei. Por ejemplo, una transacci贸n que cuesta 2,310,000 gwei (o 0.00231 ETH) implica un gas limit y una base fee, 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.
Ejecuci贸n de transacciones
Las transacciones en Ethereum involucran un remitente y un destinatario, que pueden ser direcciones de usuario o de smart contracts. 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. Cabe destacar que 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 quiera interactuar con criptomonedas priorizando la privacidad y la seguridad.
Smart Contract Security
- Pruebas de mutaci贸n para encontrar puntos ciegos en los conjuntos de pruebas:
Referencias
- https://en.wikipedia.org/wiki/Proof_of_stake
- https://www.mycryptopedia.com/public-key-private-key-explained/
- https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions
- https://ethereum.org/en/developers/docs/transactions/
- https://ethereum.org/en/developers/docs/gas/
- https://en.bitcoin.it/wiki/Privacy
Explotaci贸n DeFi/AMM
Si est谩s investigando la explotaci贸n pr谩ctica de DEXes y AMMs (Uniswap v4 hooks, abuso de redondeo/precisi贸n, swaps de cruce de umbral amplificados por flash鈥憀oan), consulta:
tip
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprende y practica Hacking en Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Apoya a HackTricks
- Revisa los planes de suscripci贸n!
- 脷nete al 馃挰 grupo de Discord o al grupo de telegram o s铆guenos en Twitter 馃惁 @hacktricks_live.
- Comparte trucos de hacking enviando PRs a los HackTricks y HackTricks Cloud repositorios de github.