Validation of Decentralised Smart Contracts Through Game Theory and Formal Methods