Bitcoin uses the Hashcash proof of work system.
One application of this idea is using Hashcash as a method to preventing email spam, requiring proof of work on the email's contents (including the To address), on every email. Legitimate emails will be able to do the work to generate the proof easily (not much work is required for a single email), but mass spam emailers will have difficulty generating the required proofs (which would require huge computational resources).
Hashcash proofs of work are used in Bitcoin for block generation. In order for a block to be accepted by network participants, miners must complete a proof of work that covers all of the data in the block. The difficulty of this work is adjusted so as to limit the rate at which new blocks can be generated by the network to one every 10 minutes. Due to the very low probability of successful generation, this makes it unpredictable which worker computer in the network will be able to generate the next block.
ETHash proof-of-work mining hash function used in the Ethereum blockchain. ETHash is the proof-of-work hash function in the Ethereum blockchain. It is a memory-intensive hash function (requires a lot of RAM to be calculated fast), so it is believed to be ASIC-resistant. More about ETHash can be found here: https://eth.wiki/en/concepts/ethash/ethash
Equihash proof-of-work mining hash function used in Zcash, Bitcoin Gold, and a few other blockchains. Equihash is the proof-of-work hash function in the Zcash and Bitcoin Gold blockchains. It is a memory-intensive hash function (requires a lot of RAM for fast calculation), so it is believed to be ASIC-resistant.