Minimizing aborts in an epoch based transaction protocol for deterministic databases