Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Currently the evaluation order of transactions signed by multiple signers in a block are arbitrary and can be reoredered (fabricated) by a miner. This indeterministic order makes games unfair.
For example, suppose there are two actions, Attack which decreases target's health and Defend which invalidates one succeeding Attack against on the signer. A signs a transaction tA to Attack B, and B signs a transaction tB to Defend itself. If two transactions try to belong to a block, a block miner can determine whether to decrease B's health or not. If tA is followed by tB B gets damage, whereas if tB is followed by tA A loses its chance.
Therefore, the evaluation order of transactions in a block should not be determined by any certain party.
One idea I have is to make the evaluation order determined after a block is mined so that a miner can't deal with it:
This makes the order of evaluation impossible to predict until a block is mined. The order is still arbitrary, but it makes game play in general more fair.
Any opinions are welcome.