페이지를 넘기고 있습니다.
다음 장을 불러오고 있습니다…
잠깐… 나만의 읽기 환경을 만들어 보세요.
글꼴과 테마는 화면 설정에서 설정하세요. 눈의 편안함도 중요합니다.
다음 장을 불러오고 있습니다…
Attempting to spend the same coins in two conflicting transactions. Consensus exists to make this fail.
브라우저의 읽어주기 지원을 확인하는 중…
이 읽기 자료는 현재 영어로 제공됩니다. 인터페이스에는 선택한 언어가 적용됩니다.
영어 원문 읽기 →Double-spending is the unauthorized spending of the same money (either digital or conventional) more than once. As with counterfeit money, double-spending leads to supply inflation by creating a new amount of copied currency that did not previously exist. It can also devalue the currency and diminish user trust in the currency.
There are many fundamental cryptographic techniques to prevent double-spending while preserving anonymity in a transaction, including the introduction of a centralized authority (proof-of-authority) for blind signatures and, particularly in offline systems, secret splitting. Other methods to mitigate the double-spend problem include decentralized consensus protocols such as proof-of-work and proof-of-stake.
Prevention of double-spending is usually implemented using an online central trusted third party that can verify whether a token has been spent. This normally represents a single point of failure from both availability and trust viewpoints.
In a decentralized system, the double-spending problem is significantly harder to solve. To avoid the need for a trusted third party, many clients must store compatible copies of a public transaction ledger. As transactions (requests to spend money) are broadcast, they will arrive at each client at slightly different times. If two transactions attempt to spend the same tokens, each client will consider one transaction to be valid while rejecting the other transaction. Conflicting transactions or blocks will cause a chain-split.
Decentralized systems reduce the risk of double-spending by using consensus protocols where clients agree on which is the valid chain, also known as the canonical chain. 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.
The cryptocurrency Bitcoin implemented a protocol to address the double-spending problem in early 2009. It uses a proof-of-work consensus mechanism where transactions are batched into blocks and chained together using a linked list of hash pointers (blockchain). Any miner can produce a block after winning a lottery race that's determined by finding a valid hash of the block with a sufficient number of leading zeroes.
Bitcoin's proof-of-work protocol has probabilistic finality where transactions are never technically "final" because 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 costly and thus unlikely for another chain to overtake it. Because competing chains and reorgs can arise naturally, it is recommended that participants wait a number of blocks (i.e. "confirmations") before accepting the probabilistic finality of the transaction.
The more confirmations a participant waits, the less risk of encountering a reorg or double-spend.
Proof-of-work blockchains naturally allow for blocks to reorg and thus have probabilistic finality. Competing miners race to submit blocks and build the longest chain. If a competing miner takes over as the longest chain, the blocks of the losing chain are reorged and no longer considered canonical. Any client or merchant that doesn't wait for a sufficient number of confirmations is at risk of experiencing a double-spend if the tokens they received are reverted during a natural reorg.
다음 자료에서 선별하고 재구성했습니다: Double-spending, 기여자들이 작성했으며 적용 라이선스는 CC BY-SA 4.0. 개정판 1365268963. 섹션과 서식을 줄였습니다. 연결된 개정판에서 전체 맥락과 기여 기록을 확인할 수 있습니다. 이 참고 문서는 동일한 라이선스를 유지합니다. 추가 인용 링크는 해당 개정판에서 가져왔으며 여기서 별도로 확인하지 않았습니다.