ElementsProject / ElementsProject/elements

elements-cli unblindrawtransaction cannot unblind own sent payments

Aperta
#1,375 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
1.2k
Fork
416
Merge medio
1g 23h
PR unite (30g)
15

Descrizione

There are two bugs:

1. `unblindrawtransaction` method changes TxId of the transaction
2. it does not unblind all outputs, but only those coming back to the wallet (change or deposits)

Have a look:

```
~ $ elements-cli listtransactions
...
{
"address": "tex1q5w27zcjlvrry5fkgez2mvk5jsp8t8c887w7kj9",
"category": "send",
"amount": -0.00001234,
"txid": "97bd4529dcbc5b04b600976031d0ace907ab458121b1d61049029ee1a36c94ae",
... ...
~ $ elements-cli getrawtransaction 97bd4529dcbc5b04b600976031d0ace907ab458121b1d61049029ee1a36c94ae true
{
"txid": "97bd4529dcbc5b04b600976031d0ace907ab458121b1d61049029ee1a36c94ae",
...
"vout": [
{
"value-minimum": 0.00000001,
"value-maximum": 45035996.27370496,
...
},
{
"value-minimum": 0.00000001,
"value-maximum": 45035996.27370496,
... },
{
"value": 0.00000026,
... "type": "fee"
}
.. "hex": "0200000001011a2b2ac527...715192888e9d55f52c0000",
...
}
~ $ elements-cli unblindrawtransaction 0200000001011a2b2ac527...88e9d55f52c0000
{
"hex": "0200000001011a2b2ac...192888e9d55f52c0000"
}
~ $ elements-cli decoderawtransaction 0200000001011a2b2ac...192888e9d55f52c0000
{
"txid": "7e7a2d8f297509bab56b9493c95e299b00fef58e80f77f523b96b78e56edcc30",
...
"vout": [
{
"value": 0.00002112,
"asset": "144c654344aa716d6f3abcc1ca90e5641e4e2a7f633bc09fe3baf64585819a49",
...
},
{
"value-minimum": 0.00000001,
"value-maximum": 45035996.27370496,
...
}

```

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia riproducendo il problema con elements-cli usando getrawtransaction, unblindrawtransaction e decoderawtransaction, confrontando gli ID delle transazioni e ogni output prima e dopo l'unblinding. Il lavoro è completato quando unblindrawtransaction preserva il txid originale e sblocca ogni output applicabile, inclusi i pagamenti inviati e non solo gli output di proprietà del wallet.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
blockchain, cli
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.