I am trying to figure out the source node of a propagated transaction in the bitcoin network.
It is impossible to know who was the first node who sent the transaction. Even if you had access to every internet provider in the world (which is also impossible), you couldn't be sure that the first one who broadcasted it is indeed the one who signed it, as there're lots of hidden services you've no knowledge upon.
You can determine the source of a Bitcoin transaction if the user doesn't run their own node and connects to your SPV server, though.