monero-project / monero-gui

Monero: the secure, private, untraceable cryptocurrency
Other
1.73k stars 767 forks source link

Allow users to send money before the daemon finishes synchronizing #745

Closed fresheneesz closed 5 years ago

fresheneesz commented 7 years ago

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

Jaqueeee commented 7 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?

fresheneesz commented 7 years ago

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?

Jaqueeee commented 7 years ago

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.

erciccione commented 5 years ago

resolved with bootrasp nodes.

+resolved