When a client app sends a transaction request to tendermint, is it possible to mark some data as private, and so the private data in the request is passed to the abci app, but is not written on the public chain? The abci app instance may process the private data, and store it in its private datastore, but only a hash of the private data can be broadcasted and written on the public chain. If this is not possible, what can I do to hide private data in a transaction request? I could send the data as encrypted, but it may not be safe to store on the public chain forever.
This question can be compared with the private data collections supported by Hyperledger Fabric, where client app can send private data in a transaction request, but the private data will be processed by only the peer node that is connected to the client app, and only a hash of the private data is broadcasted and stored on the public chain. Does tendermint support something similar?