0

You're running your node and you receive a transaction from a peer, how do you determine if that peer created the transaction or if it is simply relaying the transaction. In other words, can you map transaction creation to a peer?

1

how do you determine if that peer created the transaction or if it is simply relaying the transaction

You cannot, at least not with absolute certainty. This is by design: it helps preserve the privacy of users on the network.

That said, if you decided to run a whole bunch of nodes, and positioned them carefully in the network graph, then you could start to infer where transactions are originating from, based on the timing of your nodes hearing about said new transactions. I think it should be expected that chain analysis firms are doing this today.

To counter this, it must be considered that there are many ways to publish a transaction to the network - the node that first publishes a transaction is not necessarily owned or operated by the user that actually crafted the transaction. For example, today there exists services within the tor network, which allow you to copy/paste a signed transaction into a website form, to be broadcast to the network anonymously. Since you must connect to this service over tor, not even the service provider will know the identity of the transaction's author.

Further work is being done to increase the privacy of transaction broadcast. For example see BIP 156.

  • "run a whole bunch of nodes, and positioned them carefully in the network graph" You could just connect to a bunch of peers to have the same effect right? I was interested in determining the % of transactions created by a node that get included into a block. I thought that could be an interesting stat. I am less concerned with which user creates a txn more concerned with which node. And less interested in deanonymizing transactions and more interested in the behaviour of a node. – foba Dec 30 '19 at 22:41
  • @foba the best estimates I've seen put the number of nodes on the network at 10's of thousands, so a single node could not possibly reliably learn which nodes are the origin of certain transactions. – chytrik Dec 31 '19 at 2:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.