Blockchain & Crypto Currencies

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Concetti di base

  • I Contratti Intelligenti sono definiti come programmi che vengono eseguiti su una blockchain quando vengono soddisfatte determinate condizioni, automatizzando l'esecuzione degli accordi senza intermediari.

  • Le Applicazioni Decentralizzate (dApp) si basano sui contratti intelligenti, presentando un'interfaccia utente amichevole e un backend trasparente e verificabile.

  • Token e Monete differiscono in cui le monete fungono da denaro digitale, mentre i token rappresentano valore o proprietà in contesti specifici.

  • I Token di Utilità concedono l'accesso a servizi, mentre i Token di Sicurezza indicano la proprietà di un asset.

  • DeFi sta per Finanza Decentralizzata, offrendo servizi finanziari senza autorità centrali.

  • DEX e DAO si riferiscono rispettivamente a Piattaforme di Scambio Decentralizzate e Organizzazioni Autonome Decentralizzate.

Meccanismi di Consenso

I meccanismi di consenso garantiscono la validazione sicura e concordata delle transazioni sulla blockchain:

  • Proof of Work (PoW) si basa sulla potenza di calcolo per la verifica delle transazioni.

  • Proof of Stake (PoS) richiede ai validatori di possedere una determinata quantità di token, riducendo il consumo di energia rispetto a PoW.

Concetti Essenziali di Bitcoin

Transazioni

Le transazioni Bitcoin coinvolgono il trasferimento di fondi tra indirizzi. Le transazioni vengono validate attraverso firme digitali, garantendo che solo il proprietario della chiave privata possa avviare trasferimenti.

Componenti Chiave:

  • Le Transazioni Multifirma richiedono firme multiple per autorizzare una transazione.

  • Le transazioni sono composte da input (origine dei fondi), output (destinazione), commissioni (pagate ai minatori) e script (regole di transazione).

Lightning Network

Mirata a migliorare la scalabilità di Bitcoin consentendo più transazioni all'interno di un canale, inviando solo lo stato finale alla blockchain.

Preoccupazioni sulla Privacy di Bitcoin

Gli attacchi alla privacy, come Common Input Ownership e UTXO Change Address Detection, sfruttano i modelli di transazione. Strategie come Mixers e CoinJoin migliorano l'anonimato oscurando i collegamenti tra le transazioni tra gli utenti.

Acquisizione di Bitcoin in Modo Anonimo

I metodi includono scambi in contanti, mining e l'uso di mixers. CoinJoin mescola più transazioni per complicare la tracciabilità, mentre PayJoin maschera CoinJoin come transazioni regolari per una maggiore privacy.

Attacchi alla Privacy di Bitcoin

Riassunto degli Attacchi alla Privacy di Bitcoin

Nel mondo di Bitcoin, la privacy delle transazioni e l'anonimato degli utenti sono spesso oggetto di preoccupazione. Ecco una panoramica semplificata di diversi metodi comuni attraverso i quali gli attaccanti possono compromettere la privacy di Bitcoin.

Assunzione di Proprietà Comune degli Input

È generalmente raro che gli input di utenti diversi vengano combinati in una singola transazione a causa della complessità coinvolta. Pertanto, due indirizzi di input nella stessa transazione sono spesso considerati appartenenti allo stesso proprietario.

Rilevamento dell'Indirizzo di Cambio UTXO

Un UTXO, o Unspent Transaction Output, deve essere completamente speso in una transazione. Se solo una parte di esso viene inviata a un altro indirizzo, il resto va a un nuovo indirizzo di cambio. Gli osservatori possono presumere che questo nuovo indirizzo appartenga al mittente, compromettendo la privacy.

Esempio

Per mitigare questo problema, i servizi di mixing o l'uso di indirizzi multipli possono aiutare a oscurare la proprietà.

Esposizione su Social Network e Forum

Gli utenti a volte condividono i loro indirizzi Bitcoin online, rendendo facile collegare l'indirizzo al suo proprietario.

Analisi del Grafo delle Transazioni

Le transazioni possono essere visualizzate come grafi, rivelando potenziali connessioni tra gli utenti in base al flusso di fondi.

Euristica di Input Non Necessario (Euristica di Cambio Ottimale)

Questa euristica si basa sull'analisi delle transazioni con input e output multipli per indovinare quale output è il cambio che ritorna al mittente.

Esempio

2 btc --> 4 btc
3 btc     1 btc

Se l'aggiunta di ulteriori input rende l'output del cambio più grande di qualsiasi singolo input, può confondere l'euristica.

Riutilizzo forzato degli indirizzi

Gli attaccanti possono inviare piccole quantità agli indirizzi utilizzati in precedenza, sperando che il destinatario li combini con altri input in transazioni future, collegando così gli indirizzi tra loro.

Comportamento corretto del portafoglio

I portafogli dovrebbero evitare di utilizzare monete ricevute su indirizzi vuoti già utilizzati per evitare questa perdita di privacy.

Altre tecniche di analisi della blockchain

  • Importi di pagamento esatti: Le transazioni senza resto sono probabilmente tra due indirizzi appartenenti allo stesso utente.

  • Numeri tondi: Un numero tondo in una transazione suggerisce che si tratta di un pagamento, con l'output non tondo probabilmente rappresentante il resto.

  • Fingerprinting del portafoglio: I diversi portafogli hanno modelli unici di creazione delle transazioni, consentendo agli analisti di identificare il software utilizzato e potenzialmente l'indirizzo di cambio.

  • Correlazioni di importo e timing: La divulgazione di tempi o importi delle transazioni può renderle tracciabili.

Analisi del traffico

Monitorando il traffico di rete, gli attaccanti possono potenzialmente collegare transazioni o blocchi a indirizzi IP, compromettendo la privacy dell'utente. Questo è particolarmente vero se un'entità gestisce molti nodi Bitcoin, aumentando la loro capacità di monitorare le transazioni.

Altro

Per una lista completa di attacchi e difese della privacy, visita Bitcoin Privacy su Bitcoin Wiki.

Transazioni Bitcoin anonime

Modi per ottenere Bitcoin in modo anonimo

  • Transazioni in contanti: Acquisizione di bitcoin tramite contanti.

  • Alternative in contanti: Acquisto di carte regalo e scambio online con bitcoin.

  • Mining: Il metodo più privato per guadagnare bitcoin è attraverso il mining, specialmente quando viene effettuato da soli perché i pool di mining potrebbero conoscere l'indirizzo IP del minatore. Informazioni sui pool di mining

  • Furto: Teoricamente, rubare bitcoin potrebbe essere un altro metodo per acquisirli in modo anonimo, anche se è illegale e non raccomandato.

Servizi di mixing

Utilizzando un servizio di mixing, un utente può inviare bitcoin e ricevere bitcoin diversi in cambio, rendendo difficile risalire al proprietario originale. Tuttavia, ciò richiede fiducia nel servizio affinché non conservi registri e restituisca effettivamente i bitcoin. Altre opzioni di mixing includono i casinò Bitcoin.

CoinJoin

CoinJoin unisce più transazioni di diversi utenti in una sola, complicando il processo per chiunque cerchi di abbinare gli input con gli output. Nonostante la sua efficacia, le transazioni con dimensioni di input e output uniche possono ancora essere potenzialmente tracciate.

Esempi di transazioni che potrebbero aver utilizzato CoinJoin includono 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a e 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238.

Per ulteriori informazioni, visita CoinJoin. Per un servizio simile su Ethereum, dai un'occhiata a Tornado Cash, che anonimizza le transazioni con fondi provenienti dai minatori.

PayJoin

Una variante di CoinJoin, PayJoin (o P2EP), maschera la transazione tra due parti (ad esempio, un cliente e un commerciante) come una transazione regolare, senza la caratteristica distintiva di output uguali di CoinJoin. Ciò rende estremamente difficile rilevarla e potrebbe invalidare l'euristica comune di proprietà degli input utilizzata dalle entità di sorveglianza delle transazioni.

2 btc --> 3 btc
5 btc     4 btc

Le transazioni come quella sopra potrebbero essere PayJoin, migliorando la privacy pur rimanendo indistinguibili dalle transazioni standard di bitcoin.

L'utilizzo di PayJoin potrebbe interrompere significativamente i metodi di sorveglianza tradizionali, rendendolo uno sviluppo promettente nella ricerca della privacy delle transazioni.

Best Practices per la Privacy nelle Criptovalute

Tecniche di Sincronizzazione del Portafoglio

Per mantenere la privacy e la sicurezza, è fondamentale sincronizzare i portafogli con la blockchain. Due metodi si distinguono:

  • Nodo completo: Scaricando l'intera blockchain, un nodo completo garantisce la massima privacy. Tutte le transazioni mai effettuate vengono memorizzate localmente, rendendo impossibile per gli avversari identificare quali transazioni o indirizzi interessano all'utente.

  • Filtraggio dei blocchi lato client: Questo metodo prevede la creazione di filtri per ogni blocco nella blockchain, consentendo ai portafogli di identificare le transazioni rilevanti senza esporre interessi specifici agli osservatori di rete. I portafogli leggeri scaricano questi filtri, recuperando solo i blocchi completi quando viene trovata una corrispondenza con gli indirizzi dell'utente.

Utilizzo di Tor per l'Anonimato

Dato che Bitcoin opera su una rete peer-to-peer, è consigliabile utilizzare Tor per mascherare il proprio indirizzo IP, migliorando la privacy durante l'interazione con la rete.

Prevenire il Riutilizzo degli Indirizzi

Per salvaguardare la privacy, è fondamentale utilizzare un nuovo indirizzo per ogni transazione. Il riutilizzo degli indirizzi può compromettere la privacy collegando le transazioni alla stessa entità. I portafogli moderni scoraggiano il riutilizzo degli indirizzi attraverso il loro design.

Strategie per la Privacy delle Transazioni

  • Transazioni multiple: Suddividere un pagamento in diverse transazioni può oscurare l'importo della transazione, ostacolando gli attacchi alla privacy.

  • Evitare il resto: Optare per transazioni che non richiedono output di resto migliora la privacy interrompendo i metodi di rilevamento del resto.

  • Output di resto multipli: Se non è possibile evitare il resto, generare output di resto multipli può comunque migliorare la privacy.

Monero: Un Faro dell'Anonimato

Monero affronta la necessità di assoluta anonimato nelle transazioni digitali, stabilendo uno standard elevato per la privacy.

Ethereum: Gas e Transazioni

Comprensione del Gas

Il Gas misura lo sforzo computazionale necessario per eseguire operazioni su Ethereum, con un prezzo espresso in gwei. Ad esempio, una transazione che costa 2.310.000 gwei (o 0,00231 ETH) comporta un limite di gas e una commissione di base, con una mancia per incentivare i minatori. Gli utenti possono impostare una commissione massima per assicurarsi di non pagare troppo, con l'eccesso rimborsato.

Esecuzione delle Transazioni

Le transazioni su Ethereum coinvolgono un mittente e un destinatario, che possono essere indirizzi utente o smart contract. Richiedono una commissione e devono essere estratte. Le informazioni essenziali in una transazione includono il destinatario, la firma del mittente, il valore, i dati opzionali, il limite di gas e le commissioni. In particolare, l'indirizzo del mittente viene dedotto dalla firma, eliminando la necessità di includerlo nei dati della transazione.

Queste pratiche e meccanismi sono fondamentali per chiunque voglia interagire con le criptovalute, dando priorità alla privacy e alla sicurezza.

Riferimenti

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated