Fiat money is a currency without intrinsic value that has been established as money, often by government regulation. The term fiat derives from the Latin fiat - let it be done - used in the sense of an order, decree or resolution.
A cryptocurrency is a digital asset designed to work as a medium of exchange that uses cryptography to secure financial transactions, control the creation of additional units, and verify the transfer of assets.
B-money was an early proposal, dated 1998 and circulated in the cypherpunk mailing lists, created by Wei Dai for an anonymous, distributed electronic cash system
Satoshi Nakamoto (a pseudonymous) referenced B-money when proposing Bitcoin in 2009 in his white paper Bitcoin: A Peer-to-Peer Electronic Cash System
the message of Satoshi Nakamoto embedded into the very first Bitcoin block:
The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
considering the context in which they appear – during the bank-driven financial crisis of 2009, the worst after the economic recession of 1929 – these words are calling for economic revolution
here is the original post of Satoshi Nakamoto proposing Bitcoin
A smart contract is a permission-less script that:
The term smart contract dates to 1994, defined by Nick Szabo as:
A computerized transaction protocol that executes the terms of a contract. The general objectives of smart contract design are to satisfy common contractual conditions, minimize exceptions both malicious and accidental, and minimize the need for trusted intermediaries.
The user issuing a transaction to a smart contract will have to pay a fee proportional to the complexity of the code executed.
Because of smart contracts, (fungible and non-fungible) tokens on Ethereum are very popular.
A cryptographic token is a quantified and tradable unit of value recorded on the blockchain.
Tokens can be:
# Uniswap: swap tokens # balance of token X x = 100 # balance of token Y y = 10 # price of X (wrt Y): X is worth 0.1 Y y / x
## [1] 0.1
# price of Y (wrt X): Y is worth 10 X x / y
## [1] 10
# constant k (k = x * y)
## [1] 1000
# swap X against Y (sell X to buy Y) # swap x1 = 10 tokens of X for a number y1 of tokens of y # use invariant formula (x + x1) * (y - y1) = k # to compute y1 = y - k/(x + x1) x1 = 10 (y1 = y - k/(x + x1))
## [1] 0.9090909
# new balances of X and Y (xn = x + x1)
## [1] 110
(yn = y - y1)
## [1] 9.090909
# check invariant xn * yn
## [1] 1000
# new price of X wrt Y # (lower than before since there is more X in the pool or you sold X) yn / xn
## [1] 0.08264463
# new price of Y wrt X # (higher than before since there is less Y in the pool or you bought Y) xn / yn
## [1] 12.1