Could someone theoretically set up a node to siphon seeds from people who connect to it? Or is the seed always safe? How is it handled internally?
2 Answers
No, a node cannot steal your seed
When you send a transaction to the node you are connected to, you don't send the seed to it. The tx (=transaction) gets created locally on your PC/Smartphone/other device and it also gets digitally signed with the seed*.
So it doesn't matter if you trust the node you are connected to or not. The only thing that could happen if you are connected to a "bad" node is that your tx doesn't actually get published because the node doesn't forward it to it's neighbours.
*with a private key created from the seed
-
So let's say I am running my own full node. I am connected to it myself with 100 other people. Then I pay someone on my node 10gi for an immediate exchange of goods (i.e. digital data) and as soon as the transaction is confirmed and the exchange takes place I take the server down. Does this mean the other person never received the 10gi and I just got stuff for free? If that's true then that would create incentives to create "malicious nodes" no?– MuppetCommented Nov 30, 2017 at 19:03
-
1That would not work because the person you are paying wouldn't just look at your node. They would look at their own node and maybe tangle explorers. And they would look at all the other transactions referencing (thereby validating) your transaction to them.– ZauzCommented Nov 30, 2017 at 19:06
The seed is required to generate a private key. The private key is used to sign the transaction. All of this can be done offline.
Finally you send the signed transaction to the node and the node broadcast it the the network. A wallet (except a malicious one) will never send your seed over the network.