Maladex solves concurrency - Article

Hey team! We are very proud to be releasing the much-anticipated Concurrency article, check out the article here! We hope you love it as much as we do.

we had concurrency FUD, we had some ideas on how to solve concurrency issues, and now we’re entering into the phase of concurrency supremacy.

Please let us know your thoughts!


In the article, SPO are indicated as able to run a Maladex execution engine, would it surfice to run a relay node only or SPO only?

Relay node is sufficient, what’s more you don’t even need it to be a relay, it can just be Cardano Node that’s synchronised with the blockchain, as it is only needed to provide the current state of the chain, and to be able to submit the transactions from the off-chain engine.

Will SPOs need to change the way they select transactions for a block for this to work? Right now transactions are processed Fifo, but for this model to work we want the transaction with the most trades and the the best order matching to be added to the block.

No, this doesn’t modify Cardano Node code. Cardano Node (e.g. relay) is used to provide the state of the ledger and to be able to submit transactions. Off-chain Execution Engine will provide transactions to be submitted through the node.

What I mean is, there will be competing entities batching transactions via the offline execution engine so the block producing pool will get several conflicting transactions and will have to choose one. The first one in the mempool doesn’t need to be the best though. So how does the block producer choose the best one?

There will be similar slot leader election mechanism for submitting transactions as there is for Cardano PoS. In the case of multiple nodes (this should not happen, but let’s assume for the sake of discussion) submitting transactions, all of them have to submit exactly the same ones. All the other nodes are monitoring its honesty, and if any divergence from the fair ordering is detected the node is automatically banned from forever participating in both hydra head formation and submitting transactions. How does it happen? There will be a challenge that you need to submit to execute transactions and you’ll only be able to do so, if other nodes deem you as honest (shared secret mechanism).

However, if multiple nodes submit transactions, then what will happen is exactly what happens on Cardano, the first one will win, the rest will fail, but because all of them have to be exactly the same (otherwise you’re cut from the network), it won’t matter at all for the user. And note, that because of election mechanism this should never happen, in the first place, and an attempt to submit out of the order goes under the same fairness judgement as reordering transactions (you are immediately cut from the network in the next cycle when nodes validate fairness of the previous block).

Interesting, the batching seems to work differently than what I understood so far. Is there another source where I can read more? If there’s a selection process this sounds kind of like a sidechain running the DEX?

You’re right. Eventually it’s going to be a fully pledged side-chain or even its own blockchain. Our goal is not to compete with other DEXes, but with NYSE and NASDAQ. We’re here to cause a serious financial disruption and revolution :wink: .

1 Like