A cryptocurrency (or crypto currency) is a medium of exchange using cryptography to secure the transactions and to control the creation of new units.
Cryptocurrencies are a subset of alternative currencies, or specifically of digital currencies. Bitcoin became the first decentralized cryptocurrency in 2009.
Since then, numerous cryptocurrencies have been created. These are frequently called altcoins, as a blend of bitcoin alternative.
Cryptocurrencies use decentralized control as opposed to centralized electronic money/centralized banking systems.
The decentralized control is related to the use of bitcoin’s block chain transaction database in the role of a distributed ledger.
A proof of work is a piece of data which is difficult (costly, time-consuming) to produce but easy for others to verify and which satisfies certain requirements.
Producing a proof of work can be a random process with low probability so that a lot of trial and error is required on average before a valid proof of work is generated.
Bitcoin uses the Hashcash proof of work system.
One application of this idea is using Hashcash as a method to preventing email spam, requiring a 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 which 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.
For a block to be valid it must hash to a value less than the current target; this means that each block indicates that work has been done generating it.
Each block contains the hash of the preceding block, thus each block has a chain of blocks that together contain a large amount of work.
Changing a block (which can only be done by making a new block containing the same predecessor) requires regenerating all successors and redoing the work they contain.
This protects the block chain from tampering.
The most widely used proof-of-work scheme is based on SHA-256 and was introduced as a part of Bitcoin.
Some other hashing algorithms that are used for proof-of-work include Scrypt, Blake-256, CryptoNight, HEFTY1, Quark, SHA-3, scrypt-jane, scrypt-n, and combinations thereof.
Proof of Stake is a proposed alternative to Proof of Work. Like proof of work, proof of stake attempts to provide consensus and doublespend prevention (see “main” bitcointalk thread, and a Bounty Thread).
Because creating forks is costless when you aren’t burning an external resource Proof of Stake alone is considered to an unworkable consensus mechanism.
It was probably first proposed here by Quantum Mechanic. With Proof of Work, the probability of mining a block depends on the work done by the miner (e.g. CPU/GPU cycles spent checking hashes).
With Proof of Stake, the resource that’s compared is the amount of Bitcoin a miner holds – someone holding 1% of the Bitcoin can mine 1% of the “Proof of Stake blocks”.
Some argue that methods based on Proof of Work alone might lead to a low network security in a cryptocurrency with block incentives that decline over time (like bitcoin)
due to Tragedy of the Commons, and Proof of Stake is one way of changing the miner’s incentives in favor of higher network security.