Looks like a decent system. I think the idea of leveraging the unpredictability of a hashing algorithm to be what determines the dice roll is probably the best way to do randomness between two or more participants who have a vested interest in the outcome of the number. That was my real implementation take away.