Using Ethereum’s “Turing complete” smart contract language, Solidity, developers are able to deploy a set of instructions to the blockchain that operate indefinitely with a high degree of finality and fraud-resistance. With the first block being mined in July 2015, Ethereum has since become the largest smart contract platform of its kind, and the second largest blockchain of all time as measured by market capitalization.
Monero is the most prominent example of the CryptoNight algorithm. This algorithm was invented to add the privacy features Bitcoin is missing. If you use Bitcoin, every transaction is documented in the blockchain and the trail of transactions can be followed. With the introduction of a concept called ring-signatures, the CryptoNight algorithm was able to cut through that trail.
Physical wallets store the credentials necessary to spend bitcoins offline and can be as simple as a paper printout of the private key:[7]:ch. 10 a paper wallet. A paper wallet is created with a keypair generated on a computer with no internet connection; the private key is written or printed onto the paper[h] and then erased from the computer. The paper wallet can then be stored in a safe physical location for later retrieval. Bitcoins stored using a paper wallet are said to be in cold storage.[104]:39 In a 2014 interview, QuadrigaCX founder Gerald Cotten explained that the company stored customer funds on paper wallets in safe deposit boxes: "So we just send money to them, we don’t need to go back to the bank every time we want to put money into it. We just send money from our Bitcoin app directly to those paper wallets, and keep it safe that way."[105]

Transactions are defined using a Forth-like scripting language.[7]:ch. 5 Transactions consist of one or more inputs and one or more outputs. When a user sends bitcoins, the user designates each address and the amount of bitcoin being sent to that address in an output. To prevent double spending, each input must refer to a previous unspent output in the blockchain.[81] The use of multiple inputs corresponds to the use of multiple coins in a cash transaction. Since transactions can have multiple outputs, users can send bitcoins to multiple recipients in one transaction. As in a cash transaction, the sum of inputs (coins used to pay) can exceed the intended sum of payments. In such a case, an additional output is used, returning the change back to the payer.[81] Any input satoshis not accounted for in the transaction outputs become the transaction fee.[81]

Every 2,016 blocks (approximately 14 days at roughly 10 min per block), the difficulty target is adjusted based on the network's recent performance, with the aim of keeping the average time between new blocks at ten minutes. In this way the system automatically adapts to the total amount of mining power on the network.[7]:ch. 8 Between 1 March 2014 and 1 March 2015, the average number of nonces miners had to try before creating a new block increased from 16.4 quintillion to 200.5 quintillion.[91]

A cryptocurrency is a digital or virtual currency that uses cryptography for security. A cryptocurrency is difficult to counterfeit because of this security feature. Many cryptocurrencies are decentralized systems based on blockchain technology, a distributed ledger enforced by a disparate network of computers. A defining feature of a cryptocurrency, and arguably its biggest allure, is its organic nature; it is not issued by any central authority, rendering it theoretically immune to government interference or manipulation.
Ethereum's smart contracts are based on different computer languages, which developers use to program their own functionalities. Smart contracts are high-level programming abstractions that are compiled down to EVM bytecode and deployed to the Ethereum blockchain for execution. They can be written in Solidity (a language library with similarities to C and JavaScript), Serpent (similar to Python, but deprecated), LLL (a low-level Lisp-like language), and Mutan (Go-based, but deprecated). There is also a research-oriented language under development called Vyper (a strongly-typed Python-derived decidable language).
Blockchain analysts estimate that Nakamoto had mined about one million bitcoins[32] before disappearing in 2010, when he handed the network alert key and control of the code repository over to Gavin Andresen. Andresen later became lead developer at the Bitcoin Foundation.[33][34] Andresen then sought to decentralize control. This left opportunity for controversy to develop over the future development path of bitcoin, in contrast to the perceived authority of Nakamoto's contributions.[35][34]
×