@ OP, you may be looking for these answers:
Layman's terms once explained to me:
We are 'mining' the reward for 'solving' a block by signing it with our signature and the time we did. Our miners receive packets of info at a certain difficulity level then quickly computing and sending back before its stale. The only encription is concerning the keys. We are not bruteforcing any encryptions while solving blocks. The more ghs we have to solve shares the more payout we get for our part of solving the block. We have went from cpu - gpu - fpga - asics while switching from original network - getwork network - stratum proxy to achieve the best ghs at the lowest bandwith.
Consider every transaction as the text "I from my wallet with address XXXX am sending to person with wallet YYYY the amount of ZZZZ BTC, which I am signing with my electronic signature for that wallet"
Now we all put a list of such transactions in a list and each one of us is signing that list with his own electronic signature by adding a transaction that states: "I confirm that I have checked all the transactions listed at date DDDD and there are no double spends - for which I will be rewarded 25 BTC" ... the one who is lucky that by applying his signature produces a result that starts with more zeroes than required from the network difficulty is the winner to 'solve' the block and is rewarded for that work.
Network difficulty is explained in the "self-evident" link posted below in amazing detail.
Most pools use stratum servers with VarDiff(variable difficulity) built in. They are very efficient and will never cheat a miner out of any work that he did during the window between the time the pool server decides on a new difficulty and the time the miner has had a chance to propagate that new difficulty to all its mining hardware.
You can also set the difficulty on your miner but if you authorize a worker on your connection with a difficulty set higher than what it was already running at, it will immediately increase your difficulty to the new minimum (since stratum difficulty is per-connection). It will never drop below that setting for the remainder of the session even if vardiff would normally decrease it.
More technical but still understandable:
https://self-evident.org/?p=971https://bitcoin.org/en/how-it-worksWATCH THIS VIDEO:
http://www.khanacademy.org/economics-finance-domain/core-finance/money-and-banking/bitcoin/v/bitcoin-overview