Sort answer: It is not possible.
To put a trojan horse in every node connected to Ethereum you need to exploit a buffer overflow vulnerability. (https://en.wikipedia.org/wiki/Buffer_overflow) This is only possible in C/C++ languages, provided that the programmers do not properly audit their code. geth
is written in golang
and Go
protects against buffer overflow at language level. Parity
is written in Rust
, which also protects against buffer overflows.
It would be only possible to deploy a trojan on a node that runs Ethereum C++, but a buffer overflow vulnerability must exist. Not all C code has buffer overflows, it dependes on the developer who writes it, for example, qmail
has been never hacked, despite many contests.
It could be , however that golang
and Rust
have a vulnerability in protecting against buffer overflows, and somehow, under some conditions, golang
or Rust
fail on this, and then , probably, you could exploit this. But the probability of this event is almost nil.
Also, why would you want to hack an Ethereum node ? Nobody nowadays have their private keys on the net. All transactions are submitted in raw format , already signed by cold wallet or some computer that only connects to the network when it needs to send something.