Come fare una transazione avanzata
Definizione di Unspent e UTXO
Ogni transazione è composta da una serie di "Input" ed una serie di "Output". Gli Input sono composti da un elenco di "UTXO", ovvero, le "Unspent Transaction Output". Negli Output invece ci sono gli indirizzi dei destinatario con i corrispondenti importi ed un eventuale altro indirizzo del nostro conto che contiene il "resto" della transazione, cioè la differenza tra quanto preso in output e quanto inviato ai destinatari (meno le fee, cioè le commissioni necessarie per rendere valida la transazione)
Facciamo un esempio: immaginiamo di dover inviare un pagamento ad una certa persona. Affinché io possa farlo, devo dimostrare di avere transazioni non ancora spese, ovvero, avere UTXO sul mio conto. Melis userà determinati criteri per selezionare quali unspents utilizzare per la transazione. Per esempio, se devo pagare 3,5 BTC e ho due transazioni ricevute (UTXO) in mio possesso da 5 BTC e 15 BTC, se melis scegliesse quella più piccola otterrei un resto di 1,5 BTC. Io mi ritroveri con un unspent da 15 BTC ed uno da 1.5 BTC, mentre il destinatario avrà un nuovo unspent da 3,5 BTC.
Come costruire una transazione avanzata per fare "UTXO Merge Avoidance"
Se abbiamo ricevuto due transazioni, ad esempio da 2 e da 3 BTC, quando effettuiamo una spesa maggiore di 3 BTC andremo ad utilizzarle entrambe, ed un osservatore esterno (cioè che controlla solo quello che avviene sulla blockchain) può dedurre che gli indirizzi di destinazione di quelle due transazioni, anche se diversi e quindi apparentemente scollegati (prima di essere spese nessuno poteva sapere a chi appartenessero), fanno in realtà della stessa persona proprio perché sono utilizzati come input nello stesso pagamento (per esempio pagando 4 BTC). Uno sistema più evoluto che si può utilizzare per evitare questo problema è quello di farsi dare dal ricevente (quello che deve ricevere i 4 BTC) non un solo indirizzo ma due diversi e poi:
- creare una prima transazione con input 3 BTC (interi, senza resto) da inviare al primo indirizzo;
- creare una seconda transazione in cui utilizzare come input quello da 2 BTC, mandarne 1 al secondo indirizzo e creare un resto da 1.
In questo modo un osservatore esterno vede due TX tra loro non correlate e non può sapere che fanno parte dello stesso pagamento (e quindi di proprietà della stessa persona).
N.B.: Nella spiegazione appena indicata abbiamo volutamente omesso il problema delle commissioni per semplificare i concetti, che rimangono comunque validi
Come utilizzare Melis per implementare lo schema sopra indicato
Prima di avviare una transazione avanzata, è possibile consultare la FAQ su come come fare una transazione semplice su Melis al seguente indirizzo: Come fare una transazione.
Nella schermata della transazione semplice clicchiamo sul tasto "advanced" come mostrato nell'immagine qui sotto.
Qualora ci fossero ripensamenti, è possibile tornare alla schermata precedente della transazione semplice cliccando sul pulsante "Freccia" come mostrato nell'immagine qui sotto.
Nella transazione avanzata ci sono due opzioni in più rispetto alla transazione semplice e, come vediamo dall'immagine qui sotto, esse si trovano cliccando sul tab "Input" e sul tab "Opzioni".
Partiamo dal box Input. Cliccando, quindi, sul tab "Input" vedremo la seguente schermata in cui potremo selezionare o de-selezionare la scelta automatica degli input.
Se de-selezioniamo l'opzione, potremo osservare tutte le transazioni unspent sul nostro wallet e selezionare quella o quelle che più fanno al caso nostro.
Dopo aver selezionato un input, procediamo con la normale compilazione della nostra transazione selezionando, come da seconda immagine qui sotto, il tab "Destinazione". Nel caso in esame, abbiamo selezionato un input da 0.9 BTC, quindi di questo input è possibile mandarne una parte oppure l'intero ammontare
Successivamente clicchiamo sul tab Opzioni e potremo vedere alcuni parametri già conosciuti (RBF, Unconfirmed) che sono stati spiegati nella Faq precedente "Come fare una transazione semplice". La voce in più che non compare nello svolgimento di una transazione semplice è quella facente riferimento alle fee impostate automaticamente, come notiamo dal numero (2) nell'immagine qui sotto.
De-selezionando questa voce, l'utente procederà ad impostare in autonomia la quantità di fee che intende pagare per inviare la transazione.
Come raffigurato nell'immagine qui sotto, dopo aver selezionato il destinatario (1) e l'importo da inviare (2) (cliccando sull'icona a forma di fiammella s'invia l'intero input), possiamo confermare la nostra transazione e inviarla (3).
Non trovi la risposta che stavi cercando?
Clicca sul bottone "Feedback" in basso a sinistra e descrivici il tuo problema.