The problem of double spending: how did Bitcoin solve it?
The idea of digital money has been around for a long time and did not originate 10 years ago when Bitcoin first emerged. However, all previous attempts to create a product that we now know as cryptocurrencies have failed for one simple reason: double spending.
What is the double expense?
The name says practically everything and the double expense is the act of spending the same money twice. This is a crypto-specific problem and can not influence traditional physical money. Once you spend your physical money, it leaves you with your possession, and you simply can not use it again in another place, because you do not have it.
With digital currencies, the situation is different, as they are much easier to replicate and spend twice. This is one of the first problems that must be faced by anyone who wants to create a digital currency and Satoshi Nakamoto, creator of Bitcoin, has found a solution.
The solution for double spending
To address the problem, Nakamoto used a shared public ledger concept, which we now know as blockchain technology. Even this idea has been around for a while, but it only came to fruition in 2009, paired with Bitcoin itself.
The process is quite simple: the Bitcoin owner makes a transaction that is grouped with other transactions made by other people. This group is called a block and, in order to ensure that the trader gets his money, as well as that double expense will not occur, transactions grouped in one block must be verified.
An option to do this would be to have a centralized third party that would be able to carry out audits, but if that were the case, it would be a liability, as any attack that could disassemble the service would have major consequences on the entire monetary system. encrypted.
Another option, chosen by Bitcoin, is to have a large group of individuals who would help to solve the blocks (verifying the transactions) separately, in exchange for rewards. In this way, even if many of them fall victim to a hacking attack, the rest can still complete the process. After the transactions have been verified, they are stored in the blockchain, which serves as confirmation that the trader is actually paid, and that the currency of the customers is actually spent.
What happens if someone makes two transactions at the same time?
There is also this possibility, and if someone makes two transactions using the same funds, the transaction that is resolved and archived first would be considered valid. In the meantime, the second will fail and the merchant will not receive the funds. Considering that this could be detrimental to the trader, it is highly recommended that they do not ship their product until several blocks are resolved (each is created within 10 minutes).
For this reason, traders are advised to wait for about an hour, so that 6 blocks can be solved. At this point, the trader will know for sure if they are paid or cheated and can proceed based on the situation. In the meantime, the client has no way of going back and reversing the transaction, as this would require huge amounts of resources, knowledge and control over the blockchain, which no single individual possesses.
Is double shopping still possible?
Unfortunately, there is a theoretical possibility of conducting a double expense attack and being able to spend the same money twice. However, although it is possible in theory, this is extremely difficult to do in reality, and there have never been cases in which someone has ever removed it. There are several scenarios in which this could happen, however, as stated, this can only be pulled out in theory.
1. Race Attack
The first method is called race attack, and it occurs for those who accept BTC and other coins in exchange for goods to services. However, for this to happen, merchants must immediately forfeit their assets, without waiting for other confirmed blocks to appear on the blockchain. The scammer could use two transactions at the same time and if the merchant decides not to wait for a confirmation, it is possible that the payment sent to someone else will be processed first.
2. Finney Attack
This type of attack is very similar to the attack of race, except that it is done by a miner who decides to try to cheat a merchant. For example, if a miner has two addresses and one of them has Bitcoins, they could send BTC from one of their addresses to another. Then, they extract the block, but do not transmit the results, and then the transaction remains in a type of "limbo". At this point, they could cheat a merchant who chooses not to wait for the solution of additional blocks, and forfeits his goods and services after receiving a double payment.
This is when the miner transmits the block containing the original transaction, the one they sent to themselves. In this case, the transaction sent to the merchant would be solved by someone else, and would not be valid as the same money has already been sent to the second address of the miner.
3. 51% offense
The third and final form of attack is a 51% attack, which can only be done by someone who gains control over more than half the hash percentage of the blockchain network. This is also extremely difficult to obtain in theory, since nobody has enough resources and computing power to compete with large groups of real miners who are doing their job.
In this scenario, they could create a private forkchain fork and make it look like the dominant chain because it will become faster due to more blocks appearing as a result of a larger percentage of hashes. In this way, they can cause traders to think that the funds they received have not been previously spent, while in reality the attacker is performing a double-expense attack.
[ad_2]Source link