Commitment scheme
A commitment scheme is a method by which you can make a verifiable commitment without revealing what the commitment is.
They are commonly used in electronic cash, electronic voting and online games.
A simple commitment scheme is the following, if b is the your commitment generate a large random number r and publish cryptographic hash of b concatatanated with r. Then when you to reveal your commitment you publish b and r thus letting any third party recalculate the hash and compare it with your published hash to make sure you didn't cheat.
A commitment scheme can be either perfectly binding (it is theoretically impossible for you to alter your commitment after you have made it) or perfectly concealing (it is theoretically impossible for a third party to find out your commitment) but not both.
Perfectly binding scheme
Choose a group of prime order p, and let its generator be x.
Pick a value b from 0 to p-1 to commit to and calculate c=x^b and publish c. To reveal the commitment publish b.
This method isn't perfectly concealing as someone could find the commitment by solving the discrete logarithm problem c=x^b.