How does Transaction Remote Release work? How exactly does TRR (Transaction Remote Release) work?

What are the similarities (and differences) with the way TOR works?
TRR is like Tor in that it chooses random routes, and uses public key cryptography to secure communications. The major difference is that where Tor creates long-lasting bidirectional channels, TRR would use low-latency single-use one-direction transaction forwarding. At time of writing, there doesn't seem to be a public TRR implementation, so I'm basing this off of this paper.

There is one missing part, though.

Tor uses something called "perfect forward secrecy." In Tor, the private key of a node is useful for pretending to be that node, but it can't be used to decrypt communications after the connection has closed.

To see why this is useful, imagine the following scenario: Your ISP captures a TRR encrypted communication. They see that the first encrypted portion was sent to A. They find A, and get their private key. They decrypt the first layer of the message, and see that the second node is B. Repeat until they see what transaction was hidden within.

This works even though A, B, and C never kept any logs of where they sent the transaction. The way to fix this is either:


use the node's private key to establish an intermediate key, and throw the intermediate key away after the connection closes, or
rotate the node's key very frequently, at least every hour.