二重支払い(Double-Spending)
同じデジタルマネーを2回使ってしまうリスク。
Double-spending is the central problem that all digital currency systems must solve. Since digital information is infinitely reproducible, a user could theoretically 'copy and paste' a digital coin to spend it twice. Centralized systems solve this with a master ledger (bank). Decentralized systems like Bitcoin solve it using Consensus Mechanisms (Proof of Work) and a globally shared blockchain, where transactions are timestamped and verified by a network of nodes.
graph LR
Center["二重支払い(Double-Spending)"]:::main
Pre_blockchain["blockchain"]:::pre --> Center
click Pre_blockchain "/terms/blockchain"
Pre_hashing["hashing"]:::pre --> Center
click Pre_hashing "/terms/hashing"
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Rel_51_percent_attack["51-percent-attack"]:::related -.-> Center
click Rel_51_percent_attack "/terms/51-percent-attack"
Rel_consensus_algorithm["consensus-algorithm"]:::related -.-> Center
click Rel_consensus_algorithm "/terms/consensus-algorithm"
Rel_block_reorgs["block-reorgs"]:::related -.-> Center
click Rel_block_reorgs "/terms/block-reorgs"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5歳でもわかるように説明
現実のお金なら、100円玉を誰かにあげたら自分からはなくなります。でも、デジタルのデータは簡単にコピーできてしまいます。ブロックチェーンは、コピーした「偽物の100円」を別々の人に同時に払うようなズルができないように見張っています。
🤓 Expert Deep Dive
The 'Byzantine Generals Problem' is the theoretical root of double-spending prevention. Bitcoin's Nakamoto Consensus used PoW to create a relative time-ordering of transactions. If a user tries to spend the same UTXO (Unspent Transaction Output) in two different blocks, the network only accepts the first one validated. 51% Attacks are essentially attempts to manually induce double-spending by rewriting the blockchain's history.