CoinJoin e InstantSend#
CoinJoin#
Questa documentazione descrive come utilizzare la funzione CoinJoin per creare transazioni CoinJoin con il tuo Dash per la privacy di livello consumer.
Background#
CoinJoin è un metodo trustless (cioè non custodito) per eseguire una sequenza di transazioni in modo tale che un osservatore abbia difficoltà a tracciare la cronologia delle transazioni. L’attuale implementazione di CoinJoin nel wallet Dash Core consente di elaborare qualsiasi quantità di Dash. CoinJoin è disponibile anche nel wallet Dash Electrum.
La conoscenza del numero esatto di round di CoinJoin ha un effetto quantificabile sulla fiducia che un avversario può avere quando tenta di indovinare la cronologia delle transazioni. Per questo motivo, il numero di round consigliato (e predefinito) di CoinJoin è impostato su quattro e alcuni input potrebbero passare attraverso round aggiuntivi per migliorare ulteriormente la privacy.
Puoi leggere ulteriori informazioni sulla teoria e sui processi di CoinJoin qui.
Configurazione#
Apri il tuo wallet Dash Core, vai su Impostazioni e seleziona Opzioni. Vai alla scheda CoinJoin.
Accanto a Cicli di miscelazione, inserisci un valore compreso tra 2-16. Ogni round di CoinJoin esegue una transazione CoinJoin, nota come denominazione. Un numero maggiore di round aumenta il livello generale di privacy riducendo al contempo la possibilità di rilevamento tramite collusione dei nodi. 16 è il numero più alto di round attualmente disponibili.
NOTA: per prevenire abusi del sistema, in media un round su dieci comporta una commissione di 0,0001 DASH.
Inserisci un Saldo target. Questo valore fornisce un limite inferiore all’importo finale dei fondi da elaborare. A seconda di come il cliente divide il saldo del tuo wallet, potresti ritrovarti con input denominati la cui somma totale è leggermente superiore all’importo target.
Fare clic su OK per salvare le impostazioni.
CoinJoin è disabilitato per impostazione predefinita quando apri il wallet. Si avvierà solo dopo aver impostato il numero di round e il numero di Dash da elaborare nelle impostazioni e aver fatto clic su Avvia CoinJoin nella scheda Panoramica del tuo wallet.
In questa schermata sono disponibili anche diverse opzioni avanzate per gli utenti che richiedono un maggiore controllo:
I valori Input per denominazione consentono di limitare il numero di input creati. Questo può essere utile se ti ritrovi con troppe piccole denominazioni.
Sessioni parallele imposta quanti masternode separati devono essere utilizzati in parallelo se è abilitato il mixaggio multisessione.
Avvia CoinJoin#
Il processo CoinJoin viene avviato facendo clic sul pulsante Avvia CoinJoin nella scheda Panoramica del wallet Dash Core. CoinJoin è possibile una volta soddisfatte le seguenti condizioni:
Il wallet contiene fondi non denominati sufficienti per creare i valori denominati minimi richiesti.
L’utente non ha disabilitato CoinJoin nella finestra di dialogo Opzioni.
Il valore target per i fondi elaborati nella finestra di dialogo Opzioni è maggiore di zero.
Se il tuo wallet è crittografato (altamente raccomandato), ti verrà chiesto di inserire la passphrase del tuo wallet. Abilita la casella di controllo Solo per il mixaggio tramite CoinJoin per sbloccare il wallet solo per CoinJoin.
Immissione di una password solo per l’elaborazione CoinJoin#
Questo sbloccherà il tuo wallet e inizierà il processo CoinJoin. Il wallet rimarrà sbloccato fino al completamento dell’elaborazione CoinJoin, a quel punto verrà bloccato automaticamente.
Interfaccia CoinJoin dopo aver fatto clic sul pulsante Avvia CoinJoin. Tieni presente che lo Stato è Abilitato.#
CoinJoin inizierà a creare transazioni e il tuo saldo CoinJoin aumenterà gradualmente. Questo processo può richiedere del tempo, quindi sii paziente. È possibile monitorare il processo in modo più dettagliato come descritto nella sezione seguente.
Una qualsiasi delle seguenti azioni interromperà il processo. Poiché le transazioni sono atomiche (avvengono completamente o non avvengono affatto), è possibile interrompere in sicurezza CoinJoin in qualsiasi momento.
Facendo clic sul pulsante Interrompi CoinJoin nella scheda Panoramica
Chiusura del client prima del completamento di CoinJoin
Invio di fondi CoinJoin dal wallet prima del completamento dei round CoinJoin
Disabilitare CoinJoin prima che il processo sia completato
Monitoraggio CoinJoin#
Se desideri monitorare CoinJoin in modo più dettagliato, devi abilitare alcune funzionalità avanzate del wallet. Vai su Impostazioni, seleziona Opzioni e vai alla scheda Wallet. Seleziona la casella di controllo Abilita interfaccia avanzata. Ciò ti consentirà di monitorare i progressi e vedere quali singole operazioni CoinJoin sta eseguendo in background.
Monitoraggio dei progressi del CoinJoin#
Poiché CoinJoin crea molte nuove chiavi di indirizzo per inviare e ricevere i tagli, potresti ricevere un avviso quando il numero di chiavi rimanenti sta per esaurirsi. Non c’è nulla di cui preoccuparsi, poiché il wallet creerà semplicemente più chiavi se necessario. Tuttavia, per i wallet non HD queste chiavi non esisteranno in nessun backup precedente del tuo wallet. Per questo motivo, è importante eseguire nuovamente il backup del wallet una volta completato il processo se si utilizza un wallet non HD. Quando si utilizza un wallet HD, tutte le chiavi verranno derivate dal mnemonico del wallet, quindi non sono necessari backup aggiuntivi durante CoinJoin. Puoi controllare la barra di stato per l’icona «HD» per determinare se stai utilizzando un wallet HD o meno.
Puoi anche monitorare l’avanzamento di CoinJoin visualizzando le transazioni create dal processo nella scheda Transazioni.
Transazioni create da CoinJoin nella scheda Transazioni#
La tabella seguente descrive le transazioni relative a CoinJoin visualizzate nella colonna Tipo della scheda Transazioni:
Tipo di transazione |
Descrizione delle Transazioni |
|---|---|
CoinJoin Effettua input collaterali |
I fondi del wallet sono stati spostati in input collaterali che verranno utilizzati per effettuare pagamenti collaterali. Questo viene fatto per ridurre al minimo la tracciabilità delle garanzie. |
CoinJoin Crea Denominazioni |
I fondi del portafoglio sono stati suddivisi in denominazioni CoinJoin (Passaggio 1:ref:qui <coinjoin>) |
CoinJoin Mixing |
Una transazione è stata inviata a un masternode per partecipare a una sessione CoinJoin (Step 3 here) |
Pagamento collaterale CoinJoin |
È stata rivendicata la garanzia della sessione CoinJoin. Questa tariffa viene addebitata in circa il 10% delle sessioni per prevenire attacchi di spam. |
CoinJoin Invia |
I fondi denominati venivano utilizzati per inviare un pagamento a qualcuno. Nota: a differenza dei 4 tipi di transazione precedenti, questa non è una transazione CoinJoin. |
Puoi anche utilizzare la funzione di controllo delle monete per visualizzare quali indirizzi contengono denominazioni pronte per essere utilizzate per le transazioni CoinJoin. Vai alla scheda Invia del tuo wallet e fai clic su Ingressi per visualizzare i possibili indirizzi di input per le tue transazioni. Puoi vedere come ciascun indirizzo contiene determinate denominazioni di Dash e quanti round sono stati completati. Questo per garantire che una combinazione efficiente di indirizzi possa essere utilizzata come input nelle transazioni CoinJoin senza troppe modifiche, poiché un importo in una transazione CoinJoin deve essere arrotondato per spendere completamente tutti gli input. Il saldo minimo attuale per un input utilizzato in una transazione CoinJoin è 0,00100010 DASH.
Finestra di dialogo Selezione monete che mostra gli indirizzi che detengono saldi CoinJoin in diversi tagli#
Pagare con CoinJoin#
Puoi utilizzare CoinJoin per i pagamenti solo dopo aver elaborato abbastanza Dash per recuperare l’importo che stai tentando di inviare. Poiché il processo richiede tempo, è necessario eseguirlo in anticipo prima di creare la transazione di invio. Una transazione CoinJoin è effettivamente uguale a qualsiasi altra transazione sulla blockchain, ma attinge solo da indirizzi di input in cui la denominazione è stata precedentemente elaborata per garantire la privacy dei fondi. Poiché di solito sono necessari diversi indirizzi di input per comporre l’importo che stai tentando di inviare, una transazione CoinJoin di solito occuperà più spazio (in kilobyte) sulla blockchain e pertanto verrà addebitata una commissione leggermente più alta.
Per inviare un pagamento utilizzando CoinJoin, vai alla scheda CoinJoin del wallet Dash Core. Il saldo visualizzato è il tuo saldo CoinJoin anziché il saldo totale come mostrato nella scheda Invia. Puoi quindi inserire l’indirizzo Paga a, Etichetta, Importo e fare clic su Invia fondi misti. Il tuo pagamento verrà arrotondato per eccesso fino a spendere completamente la denominazione più bassa possibile del saldo denominato disponibile (attualmente allo 0,001 DASH più vicino). Ti verrà richiesto di inserire la tua password e ricevere una ripartizione dettagliata della struttura delle commissioni per CoinJoin prima dell’invio.
Dash Core pronto per inviare una transazione CoinJoin. Tieni presente che l’utilizzo della scheda CoinJoin e l’importo da inviare sono inferiori al saldo CoinJoin disponibile#
Input#
Come tutte le transazioni Dash, le transazioni CoinJoin sono composte da un numero di input e uno o più output. Le transazioni CoinJoin non utilizzano indirizzi di modifica, quindi l’eventuale Dash rimanente verrà speso per la commissione di transazione.
A causa della natura probabilistica del processo CoinJoin, aumentare il numero di input in una transazione può ridurre marginalmente la privacy. Per questo motivo, l’utilizzo di CoinJoin non è consigliato agli utenti che richiedono un elevato livello di privacy. Sebbene non sia possibile collegare una transazione CoinJoin a un unico indirizzo di origine con assoluta certezza, l’utilizzo di più input può rendere una transazione più vulnerabile a diversi potenziali attacchi di collegamento. Esistono numerose società di analisi della catena che possiedono strumenti in grado di fornire servizi di valutazione del rischio di transazione per le transazioni sulla blockchain di Dash, comprese le transazioni CoinJoin.
Puoi ridurre il numero di input in una transazione CoinJoin definendo l’importo della transazione in modo tale da consumare i tagli di input disponibili in modo più efficiente o elaborando più Dash per garantire che siano disponibili input sufficienti denominati in modo appropriato. Utilizza la funzione :ref:`Coin Control ` nella scheda CoinJoin per visualizzare e selezionare o deselezionare gli UTXO CoinJoin attualmente disponibili per l’uso come input di transazione.
InstantSend#
Introduzione#
Questa documentazione descrive come utilizzare InstantSend per inviare istantaneamente fondi a qualsiasi altro utente Dash in tutto il mondo. Dal rilascio di InstantSend basato sui quorum Masternode di lunga durata (LLMQ-IS) in Dash 0.14, la rete Dash stessa tenterà di generare un blocco InstantSend per quasi ogni transazione elaborata dalla rete, secondo queste regole. A differenza della precedente implementazione di InstantSend, che richiedeva una tariffa più elevata, LLMQ-IS blocca le transazioni senza alcuna azione da parte dell’utente. Per questo motivo solo il destinatario deve monitorare la rete per il blocco delle transazioni per poter ricevere fondi ed elaborare transazioni con regolamento immediato.
Dash InstantSend è supportato da molti wallet e fornitori, inclusi (ma non limitati a) quanto segue:
Dash Core Wallet
Portafoglio Dash Android
Portafoglio Dash iOS
My Dash Wallet
Kraken
Bitrefill
e molti altri…
Puoi leggere ulteriori informazioni sulla teoria e sui processi di InstantSend qui.
Transazioni InstantSend#
A partire dalla versione 0.14 di Dash, tutte le opzioni dell’interfaccia utente per creare una transazione InstantSend sono state rimosse, poiché tutte le transazioni sono effettivamente transazioni InstantSend. Come in precedenza, il destinatario è responsabile del monitoraggio della rete per il blocco InstantSend e dell’implementazione della logica e delle interfacce rivolte all’utente per continuare con l’elaborazione della transazione dopo aver ricevuto il pagamento. Consulta la documentazione InstantSend Integration per ulteriori informazioni su come monitorare i blocchi InstantSend.