In general blockchains are not designed to forget things. So you should think less in terms of deleting the session transaction, and more in terms of creating a new transaction that represents the session ending. For example you could use streams for this, with the key of stream items representing a session ID. One item in the stream with that key starts the session, and another item with the same key ends the session. Any node subscribed to the stream can easily retrieve its full history and/or most recent state.