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
When people reach a certain age, they realize the...
Libra, which was once highly anticipated by Faceb...
Fortune-telling jingle 1. The secret to an offici...
I believe that people like to be with people with...
The ongoing XRP legal battle, primarily involving...
Beauties with dimples on their faces always give ...
Preface As an implementation of architectural des...
At the end of the September 27 article, there was...
During the downturn in the crypto market, ETC (Et...
Ju Men is the star of right and wrong, and is two...
People with thin hair and thick lower lips are vi...
Physiognomy analysis: which part is smaller means...
Children's academic performance is something ...
Almost everyone has moles, but they grow in diffe...
I believe everyone hopes to have good fortune and...