The Bitcoin network has been plagued by transaction malleability attacks over the past few years. These attacks rose to fame during the Mt. Gox theft, which was the sole reason withdrawals were halted. Since then, many digital currency companies have been compromised, including high-volume exchanges BitStamp and BTC-E. What is transaction malleability? While transaction malleability is not something that can be explained in plain English, we can think of it as an attack that can tamper with a unique Bitcoin transaction ID before it is confirmed by the network miners. To understand it further, let’s first look at how Bitcoin transactions work. Unlike traditional wire transfers, Bitcoin transactions are created and proven to be correct on the blockchain. The blockchain, Bitcoin's public ledger, stores records of every transaction on the network. These records include the addresses of the sender and receiver, as well as the amount of Bitcoin traded between the participants. Each piece of information is hashed with a mathematical "hash function" to create a unique transaction ID (or TX ID). This hashed TX ID also includes the sender's digital signature, proving that the transaction originated from a legitimate Bitcoin address. Finally, creating a unique transaction hash hides the original information, and because of the "math" involved, any change in the input will adjust the entire transaction hash in unpredictable ways. Despite being called “impossible to cheat,” transaction IDs can be easily adjusted by exploiting a flaw in Bitcoin itself: the digital signature format. The user’s digital signature used to hash transactions is not always in the correct format, and there is no mechanism to check its format. Attackers have targeted this vulnerability to some extent and used it to adjust the entire transaction hash. For example: "0100" and "100" usually represent the same number "100", but to the hashing method, they are two different IDs generated by two different numbers. Therefore, the transaction malleability attack ends up creating two separate transaction hashes for one transaction. And after one transaction ID is confirmed by the network miners, the other is ignored. There is also the possibility that the fake transaction ID is confirmed on the blockchain before the original one, even though the latter is the transaction that was processed in reality. No solution found Solutions to deal with transaction malleability have been proposed many times, but they are still far from being implemented. The most famous solution proposed recently is Bitcoin Improvement Proposal 62 (or BIP62). It changes the rules of Bitcoin and proposes some new suggestions to completely prohibit malleability. However, it was later discovered that BIP62 also has some shortcomings, which may cause some trouble for the Bitcoin network. In 2013, academics from the University of Warsaw proposed to improve Bitcoin separately, and the improved transactions also generated hashes like the original transactions. Without modifying the Bitcoin protocol, the academics further updated their method while maintaining the transaction hash. This method is called "Bitcoin-based time-limited submission scheme." Furthermore, there are sufficient prerequisites to prove the effectiveness of the above practices. Solutions proposed by other authorities would also require core developers to change the entire Bitcoin protocol, which is absolutely impossible at this point in time. One could also have a plenary workshop dedicated to solving this transaction malleability problem, but each route to a solution would change the original Bitcoin source code. How to avoid it? Transaction malleability is a vexing issue, but it does not put Bitcoin users at significant risk. It cannot be completely solved, but as long as exchanges, wallet companies and developers ensure that their transactions are carefully checked, the problem can be ignored. Authorities recommend waiting until transactions are confirmed on the blockchain. In addition, they should adjust their code to gracefully handle sudden transactions. Manual verification can also help businesses manage their transaction records in the background. |
<<: The US government auctioned off over 44,000 Bitcoins yesterday
>>: Coinnice Trading Class: Talking about the "Bricklayers" in the Bitcoin Circle
Is it good for a man to have s-shaped eyebrows? E...
Nails of different shapes have different appearanc...
Tuola is one of the four evil stars. Tuola is als...
Deloitte’s in-house cafeteria in Toronto, Canada,...
The fate line refers to the line extending from t...
Bitcoin is a puzzle to be solved, not an excuse t...
The ear is an important part of our body, as it g...
Special author: Bu Meng Editor: Wu Shuo Blockchai...
The Yin Tang is the forehead. Women care a lot ab...
FX168 News: Bitcoin prices fluctuated in the Asia...
According to BlockBeats, according to TRONSCAN da...
According to BlockBeats, Ethereum developer Ryan ...
Palmistry that indicates you are more likely to m...
How do you know if you are in good health? Look a...
What women fear most is meeting unreliable men. M...