How does one lock their own Bitcoins for X amount of blocks and prove that you locked it?
You could send your Bitcoin to an address that has a redeem/witness script containing OP_CHECKSEQUENCEVERIFY (for a relative timelock) or OP_CHECKLOCKTIMEVERIFY (for absolute timelock). Once the transaction has confirmed, the output cannot be spent without the timelocks being met first.

By revealing the script, you can show that those outputs have a locktime and thus cannot be spent until after that locktime passes.