hypercube-lab / hypercube

HyperCube is a revolutionary, high-performance decentralized computing platform. HyperCube has powerful computing capabilities to provide high-performance computing power and large-scale data storage support for VR, AR, Metaverse, Artificial Intelligence, Big Data, and Financial Applications.🛰
GNU General Public License v3.0
974 stars 222 forks source link

Ensure that the state of a concurrent transaction is repeatable. #3

Open hypercube-lab opened 2 years ago

hypercube-lab commented 2 years ago

At the moment, there is nothing that prevents a validator from accepting two batches of transactions and processing them in parallel mode. It's conceivable that the debits from the second batch will cause an account to overdraw before the credits from the first batch are credited to the account. If this were to happen, the validator would erroneously vote a legal block as an invalid block, which would have no effect on anyone's account, but would result in a needless rollback and the leader's bond being slashed without justification.

Due to the fact that transactions spanning tick borders are guaranteed to be sequentially consistent, we will most likely only need to submit a Tick to the historian immediately after processing the parallel batch of transactions.

agnitazudkll commented 2 years ago

this would require further research