I am reading the paper Deanonymisation of clients in Bitcoin P2P network [PDF] and have some questions about the fourth step in 'chapter 5: Deanonymization'
I don't understand the emphasized part:
Step 4) Mapping transactions to entry nodes: The attacker listens for
INVENTORY
messages with transaction hashes received over all the connections that she established and for each transaction T she collects RT — the first q addresses of Bitcoin servers that forwarded theINVENTORY
message.
What information is learned from these inventory messages? I thought it contains only the transaction hash.
Thank you for your answer. I still have some problems to understand the paper.
Step: I'm sending the
GETDADDR
-Message to all my Entry-Nodes and they answer with theADDR
-Message which contains the IP addresses of their known Nodes. Now I have my setS
with IP addresses.Step: I'm choosing the subset
E
ofS
which contains the ip addresses I want to identify.Step: Now I want to map new connecting clients to the bitcoin network with their entry-nodes (entry-nodes are elements of
E
).Step: This runs parallel to Step 1-3. In this step I'm listening to all
INVENTORY
-Messages. So you said theINVENTORY
-Message contains the transaction hash and an enum. How will be oneINVENTORY
-Message generated? Will this message generated for every transaction and distributed by broadcast to every known node in the bitcoin network? Who creates thisINVENTORY
-Message?
Did I correctly understand the first three steps?