Double-spending - Wikipedia Double-spending From Wikipedia, the free encyclopedia Jump to navigation Jump to search Failure mode of digital cash schemes Double-spending is a potential flaw in a digital cash scheme in which the same single digital token can be spent more than once. Unlike physical cash, a digital token consists of a digital file that can be duplicated or falsified.[1][2] As with counterfeit money, such double-spending leads to inflation by creating a new amount of copied currency that did not previously exist. This devalues the currency relative to other monetary units or goods and diminishes user trust as well as the circulation and retention of the currency. Fundamental cryptographic techniques to prevent double-spending, while preserving anonymity in a transaction, are blind signatures and, particularly in offline systems, secret splitting.[2] Contents 1 Centralized currencies 2 Decentralized currencies 3 51% attack 4 References Centralized currencies[edit] Prevention of double-spending is usually implemented using an online central trusted third party that can verify whether a token has been spent.[2] This normally represents a single point of failure from both availability and trust viewpoints. Decentralized currencies[edit] In a decentralized system, the double-spending problem is significantly harder to solve. To avoid the need for a trusted third party, many servers must store identical up-to-date copies of a public transaction ledger, but as transactions (requests to spend money) are broadcast, they will arrive at each server at slightly different times. If two transactions attempt to spend the same token, each server will consider the first transaction it sees to be valid, and the other invalid. Once the servers disagree, there is no way to determine true balances, as each server's observations are considered equally valid. Most decentralized systems solve this with a consensus algorithm, a way to bring the servers back in sync. Two notable types of consensus mechanisms are proof-of-work and proof-of-stake. By 2007, a number of distributed systems for the prevention of double-spending had been proposed.[3][4] The cryptocurrency Bitcoin implemented a solution in early 2009. Its cryptographic protocol used a proof-of-work consensus mechanism where transactions are batched into blocks and chained together using a linked list of hash pointers (blockchain). Any server can produce a block by solving a computationally difficult puzzle (specifically finding a partial hash collision) called mining. The block commits to the entire history of bitcoin transactions as well as the new set of incoming transactions. The miner is rewarded some bitcoins for solving it. The double-spending problem persists, however, if two blocks (with conflicting transactions) are mined at the same approximate time. When servers inevitably disagree on the order of the two blocks, they each keep both blocks temporarily. As new blocks arrive, they must commit to one history or the other, and eventually a single chain will continue on, while the other(s) will not. Since the longest (more technically "heaviest") chain is considered to be the valid data set, miners are incentivized to only build blocks on the longest chain they know about in order for it to become part of that dataset (and for their reward to be valid). Transactions in this system are therefore never technically "final" as a conflicting chain of blocks can always outgrow the current canonical chain. However, as blocks are built on top of a transaction, it becomes increasingly unlikely/costly for another chain to overtake it. 51% attack[edit] The total computational power of a decentralized proof-of-work system is the sum of the computational power of the nodes, which can differ significantly due to the hardware used. Larger computational power increases the chance to win the mining reward for each new block mined, which creates an incentive to accumulate clusters of mining nodes, or mining pools. Any pool that achieves 51% hashing power can effectively overturn network transactions, resulting in double spending. One of the Bitcoin forks, Bitcoin Gold, was hit by such an attack in 2018 and then again in 2020.[5] A given cryptocurrency's susceptibility to attack depends on the existing hashing power of the network since the attacker needs to overcome it. For the attack to be economically viable, the market cap of the currency must be sufficiently large to justify the cost to rent hashing power.[6][7] In 2014, mining pool Ghash.io obtained 51% hashing power in Bitcoin which raised significant controversies about the safety of the network. The pool has voluntarily capped their hashing power at 39.99% and requested other pools to follow in order to restore trust in the network.[8] References[edit] ^ The Double Spending Problem and Cryptocurrencies. Banking & Insurance Journal. Social Science Research Network (SSRN). Accessed 24 December 2017. ^ a b c Mark Ryan. "Digital Cash". School of Computer Science, University of Birmingham. Retrieved 2017-05-27. ^ Jaap-Henk Hoepman (2008). "Distributed Double Spending Prevention". arXiv:0802.0832v1 [cs.CR]. ^ Osipkov, I.; Vasserman, E. Y.; Hopper, N.; Kim, Y. (2007). "Combating Double-Spending Using Cooperative P2P Systems". 27th International Conference on Distributed Computing Systems (ICDCS '07). p. 41. CiteSeerX 10.1.1.120.52. doi:10.1109/ICDCS.2007.91. ^ Canellis, David (2020-01-27). "Bitcoin Gold hit by 51% attacks, $72K in cryptocurrency double-spent". Hard Fork | The Next Web. Retrieved 2020-02-29. ^ "Cost of a 51% Attack for Different Cryptocurrencies | Crypto51". www.crypto51.app. Retrieved 2020-02-29. ^ Varshney, Neer (2018-05-24). "Why Proof-of-work isn't suitable for small cryptocurrencies". Hard Fork | The Next Web. Retrieved 2018-05-25. ^ "Popular Bitcoin Mining Pool Promises To Restrict Its Compute Power To Prevent Feared '51%' Fiasco". TechCrunch. Retrieved 2020-02-29. v t e Cryptocurrencies Technology Blockchain Cryptocurrency tumbler Cryptocurrency exchange Cryptocurrency wallet Cryptographic hash function Distributed ledger Fork Lightning Network MetaMask Smart contract Consensus mechanisms Proof of authority Proof of personhood Proof of space Proof of stake Proof of work Proof of work currencies SHA-256-based Bitcoin Bitcoin Cash Counterparty LBRY MazaCoin Namecoin Peercoin Titcoin Ethash-based Ethereum Ethereum Classic Scrypt-based Auroracoin Bitconnect Coinye Dogecoin Litecoin Equihash-based Bitcoin Gold Zcash RandomX-based Monero X11-based Dash Petro Other AmbaCoin Firo IOTA Primecoin Verge Vertcoin Proof of stake currencies Cardano EOS.IO Gridcoin Nxt Peercoin Polkadot Steem Tezos TRON ERC-20 tokens Augur Aventus Bancor Basic Attention Token Chainlink Kin KodakCoin Minds The DAO Uniswap Stablecoins Dai Diem Tether USD Coin Other currencies Filecoin GNU Taler Hashgraph Nano NEO Ripple Stellar WhopperCoin Related topics Airdrop BitLicense Blockchain game Complementary currency Crypto-anarchism Cryptocurrency bubble Decentralized Finance Digital currency Double-spending Hyperledger Initial coin offering Initial exchange offering Initiative Q List of cryptocurrencies Non-fungible token Token money Virtual currency Category Commons List Retrieved from "https://en.wikipedia.org/w/index.php?title=Double-spending&oldid=1018658906" Categories: Digital currencies Financial cryptography Payment systems Internet fraud Distributed computing Cryptocurrencies Hidden categories: Articles with short description Short description matches Wikidata Navigation menu Personal tools Not logged in Talk Contributions Create account Log in Namespaces Article Talk Variants Views Read Edit View history More Search Navigation Main page Contents Current events Random article About Wikipedia Contact us Donate Contribute Help Learn to edit Community portal Recent changes Upload file Tools What links here Related changes Upload file Special pages Permanent link Page information Cite this page Wikidata item Print/export Download as PDF Printable version Languages العربية Español فارسی Français Italiano Português Русский 中文 Edit links This page was last edited on 19 April 2021, at 06:08 (UTC). Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Mobile view Developers Statistics Cookie statement