I'm working on a project that will use Multichain's stream capability to build a history of actions that have been taken by a set of users. Due to external timing issues, it is possible that two users might attempt to publish mutually exclusive items to the stream. Since there is no mechanism in Multichain to perform external validation of transactions, I am wondering if it would be possible to use UTXOs from previous transactions to prevent conflicting publishes. In other words, given a item A in the stream, I'd like to allow only one of item B or item C to be published. If item B is published, then item C should fail to confirm and vice versa.
My thought is to use the UTXO from the item A transaction as input to the item B (or C) transaction. Since UTXOs can only be spent once, the first transaction to get confirmed by the blockchain would stick, and the other would fail with an error.
If this a viable approach for what I'm trying to accomplish? And if so, what would be the steps required to build these transactions? I'm assuming that the simple "publish" operation won't cut it.