Hide the ID of confidential transactions in blockchain networks.

For a confidential block chain, suppose there are three people joining a series of transactions. To hide the number of transactions between them, they need to make some fictitious transactions. Let us suppose that the IDs of the real transactions (generated by one of the three people united) are in order and the IDs of the fictitious transactions are random numbers, and they must be indistinguishable (other people in the network can know the order rule of the real transactions). So we have to encrypt the ID.
However, if we do not want to store neither the encrypted transaction IDs nor the ID or PK of the other two people in these transactions. All I know is the identification of a transaction and my PK / SK, how I can use the identification to get the encrypted ID, then use this encrypted ID to get the transaction information (not store locally, two other people must also get the transaction by the encrypted identification, even the identification is not generated by them)? Is there any encryption that can meet this? Thank you.