Cryptoeconomics.Study

Cryptoeconomics.Study

  • Course
  • Community
  • Contribute
  • Languages iconEnglish
    • 中文

›2.2 Double Spends

Getting Started

  • Welcome
  • Development Setup
  • Course Overview

Ch1: Payment Processor

    1.0 Chapter Overview

    • Lecture

    1.1 Hashes and Signatures

    • Lecture
    • Code Challenge

    1.2 Payment Processor

    • Lecture
    • Code Challenge

    1.3 Replay Protection

    • Lecture
    • Code Challenge

    1.4 Account Model vs UTXOs

    • Lecture
    • Code Challenge

    1.5 Centralized Systems

    • Lecture
    • Code Challenge

Ch2: Network Models

    2.0 Chapter Overview

    • Lecture

    2.1 Networks and Synchrony

    • Lecture

    2.2 Double Spends

    • Lecture
    • Code Challenge

    2.3 Latency-Based Consensus

    • Lecture
    • Code Challenge

    2.4 Proof of Authority

    • Lecture
    • Code Challenge

Ch3 Proof of Work

    3.0 Chapter Overview

    • Lecture

    3.1 Decentralized Consensus and Blockchains

    • Lecture

    3.2 Bitcoin and Nakamoto Consensus

    • Lecture
    • Code Challenge

    3.3 Merkle Trees

    • Lecture
    • Code Challenge

    3.4 Game Thoery in Bitcoin

    • Lecture
    • Code Challenge

    3.5 Selfish Mining

    • Lecture
    • Code Challenge

More

  • Resources
  • Glossary
Edit

Lecture


Double Spends

  • Inconsistent state in a distributed network of nodes, and the mischief which can ensue!





Slides

Google Sheets Link


Ch2.2 Overview

Double Spend

  • A double spend is when someone tries to broadcast two transactions that both spend the same account balance. This can be the result of sending a transaction again because it's doesn't look like it's being processed, or from trying to spend money you don't have. Blockchains operate in an asynchronous environment so we we never know if/when messages will be processed. To prevent double spends we use things like nonces to determine which messages to process and which to discard. This is important to ensure that everyone on the network agrees on the shared state of the network.


Recommended Resources

Double Spend Game - Visualization that lets you see what happens to a naive payments network when someone tries to double spend (click on a character to spend or double spend).

Wikipedia - Blockchain forking explained in detail.


Last updated on 9/3/2019 by burrrata
← PreviousCode Challenge →
Course
Getting Started
Community
ForumContributors
More
BlogNewsletterGitHub
Copyright © 2019 Cryptoeconomics.Study