Closed fresheneesz closed 5 years ago
The wallet asks daemon for fake outputs to use in the ring signature. Sending before daemon has finished syncing is therefore not recommended. If the daemon has synced passed your own outputs the tx could be sent, but i think there's a risk that your non-fake output will stand out in the ring signature. I'm not sure about that last part though. Maybe @moneromooo-monero could answer?
Ah, hm I see. Perhaps the client could sync up a few of the most recent blocks up front so it can pull good outputs for use in the ring? I suppose this would require trusting that you're sent good blocks since you can't verify until you have the entire thing..
If someone could be warned that their transaction might not be private, they could at least make the choice whether to wait or not themselves?
AFAIK the random fake outputs are picked from the whole blockchain. Not just the last part. It might be a better idea to ask a fully synced remote node for the outputs instead.
resolved with bootrasp nodes.
+resolved
There's no good reason I can see to keep people from attempting to make transactions before their blockchain is fully synced. As long as the client knows they did have some monero, it can be 99.9999% certain they still have that monero. Even if they spent that xmr from a different wallet or are syncing a new instance from a wallet backup, the user is almost certainly going to know if they have enough xmr to spend. And the 1 in a million times someone makes a mistake? The network will reject the transaction, nbd.
So please don't lock up the application just cause it needs to sync