- Blockchain Tutorial
- Blockchain - Home
- Blockchain - Introduction
- Blockchain - Double Spending
- Bitcoin - Brief History
- Public Key Cryptography
- Blockchain - Hashing
- Bitcoin - Mining
- Blockchain - Chaining Blocks
- Blockchain - Proof of Work
- Blockchain - Network & Mining
- Blockchain - Incentives to Miners
- Blockchain - Merkle Tree
- Blockchain - Payment Verification
- Blockchain - Resolving Conflicts
- Blockchain - Privacy
- Bitcoin - Mitigating Attacks
- Blockchain - Conclusion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Blockchain - Double Spending
Consider a situation shown in image −
As clearly seen here, Bob is tendering a $10 bill to Lisa in exchange of a book. Once the Lisa receives this physical $10 bill, there is no way for Bob to re-use this money for some other transaction, as the physical currency is now in Lisa’s possession.
Now, consider a situation where the money is paid in Digital form. This is illustrated in image −
As the format for money exchange is in the digital format, it is essentially a binary physical file stored somewhere on Bob’s device. After Bob gives this file (digital money) to Lisa, he can also a give a copy of the file to Alice. Both now think that they have received the money without having any means of authenticating the digital coin and would thus deliver their respective goods to Bob. This is called double-spending where the sender spends the same money at more than one place for obtaining services or goods from multiple vendors.
To solve this problem of double-spending, one would employ a centralized authority to monitor all the transactions. This is illustrated in image −
The centralized authority, which in common terms is your bank, maintains a ledger book recording all the transactions. Now, Bob has to send his digital money to the bank who would make an entry into its ledger debiting Bob’s account. After ensuring that Bob has sufficient balance to pay for the digital money which he wants to send, would send the money to Lisa crediting her account in its ledger.
Now, it is guaranteed that Bob cannot double spend the money. If every digital transaction is routed through a centralized authority like this, the problem of double-spending would be solved. This also provides another benefit in validating the authenticity of each coin (digital money) that it receives in the transaction. So the fake money (duplicate money as in the case of Bob paying to Alice using a copy) would be easily detected and prevented from the circulation.
The introduction of centralized authority though it solves the double-spending problem, introduces another major issue - the cost of creating and maintaining the centralized authority itself.
As the banks need money for their operations, they start cutting commissions on each currency transaction they do for their clients. This sometimes can become very expensive, especially in overseas transfer of money where multiple agents (banks) may be involved in the entire deal.
All the above issues are solved by the introduction of digital currency, called Bitcoin. I will now give you a brief background on what Bitcoin is before delving into its design and architecture.