Token Based Payment Systems allow parties to exchange valuable goods. The system provide the following:
Owners
: the parties identified as wanting to get involved in the transaction and will 'own' or hold on to the tokens.Tokens
: monetary units that can be used to quantify and measure the value of goods and will exchange owners.Ledger
: system for recording transactions in terms of who owns token (monetary unit) and making sure that double spending does not occur.So in the cash based money system the tokens are the dollar bills and the ledger is the aggregation of the money in people's wallets. Double spending is prevented by the difficulty in forging paper money. A transaction occures by sender physically giving the money to reciever.
Our current banking system, account balances are the tokens and the deposit banks are the ledgers. A transaction occurs by the sender writing a check frmo an account he owns to the reciever, signing it and instructing the ledger (bank) to record the transaction. The banking system will internally update its records (the banks settle and send checks to each other) to reflect the account balance for each 'owner'. Double spend would be the equivalent of writing a 'bad' check.
In the bitcoin system, the token is a historical record of transactions that capture ownership changes. The Ledger is distributed time stamp server network that publicly announces and verifies the transactions. To do a transfer, the owner holder pays the reciever by digitally signing (using the holders private key) a hash of the previous transaction and the public key of the owner and adding these to the end of the coin and submitting the result to the ledger 'network'. The payee can verify that the payment is legitimate by:
double-spending
is the problem that any payment system that uses a token of exchange must solve. A token of exchange is subject to counterfeiting. While with a non digital system such as paper money counterfeiting problem could be mitigated without involving more than the two parties involed the transaction settlement (by simply making the physical token hard to replicate -- bits are easier to copy than bills), with digital payment systems the token can be easily duplicated and the prevention would entail involving trusted third party systems
.
Another approach taken is to verify and record the transactions in a public ledger system
and then use the public ledger system
to determine the transaction history and in turn ownership of payment tokens.
On a purely technical note, the paper says:
Transactions that are computationally impractical to reverse would protect sellers from fraud, and routine escrow mechanisms could easily be implemented to protect buyers. In this paper, we propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions. The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes. ... Proof-of-work is essentially one-CPU-one-vote.
Perhaps the most challenging aspect is the verification phase: how does the network prevent double spending?
Just to review, the owner public/private key pair is generated by the owner. The public ledger system is the place that determines who owns what. What ends up in the public domain is the public keys of the parties involved in the transaction and the signed contents (using the owner's private keys) from the previous transactions.
In order for a requested transaction to become an official part of the public ledger (transaction verification), all transactions go into the unconfirmed pool of transactions the need to get verified by the miners who run server farms around the world. These miners earn bitcoin for the transactions they verify on the network.
Transactions don't start out as irreversible. Instead, they get a confirmation score that indicates how hard it is to reverse them. Each confirmation takes between a few seconds and 90 minutes, with 10 minutes being the average. If the transaction pays too low a fee or is otherwise atypical, getting the first confirmation can take much longer.
Bitcoin is slow. It can take up to 45 minutes for the bitcoin network to confirm a transaction. Since there is no way to instantly convert bitcoin to fiat currency [cash] via a transaction, merchants must speculate holding the bitcoin until it arrives in the wallet and they can move it to the exchange and liquidate it.
You first need to obtain the tokens (bitcoins) to get involved in transactions. This is typically done by creating your private/public key pair and using a wallter software to engage in transactions.
paper: https://bitcoincore.org/bitcoin.pdf