In a recent interview conducted on Ripple’s official YouTube channel, David Schwartz, the CTO of Ripple touched on the key differences between Bitcoin [BTC] and XRP. He also discussed the differences in transaction malleability between the two digital currencies. Schwartz said:
“There are two basic differences between XRP and Bitcoin. One is that XRP uses consensus instead of proof of work like Bitcoin. The other is that XRP has from the beginning been built in such a way that it has the ability to transact arbitrary assets like dollars or Yuans.”
He further added:
“As far as transaction malleability goes, Bitcoin and XRP basically have similar issues because XRP also has transaction IDs and users are also able to mutate the XRP signature.”
According to Schwartz, XRP will be implementing its own solution so that people can track transactions by transaction ID.
Schwartz stated that unlike Bitcoin, XRP is not vulnerable in one aspect of transaction malleability. In XRP, a user does not refer to previous outputs by transaction ID instead refers to previous outputs by account. That is the key difference between Bitcoin and XRP. Therefore, there is no way a user or a miner can cause another user’s transactions to jam, he added.
Schwartz further outlined how XRP works as it does not require the existence of miners like other cryptocurrencies. He said:
“I like to model the protocol to a room full of people who constantly agree with each other. So if you want to perform a transaction in XRP, you basically walk into this metaphorical room and read out the transaction. If the transaction is valid and there is no reason it shouldn’t be agreed on, essentially everybody in the room nods, ‘yep that looks good to me’.”
He further added:
“These validators compute a new ledger in which the said transaction has taken place and they all agree on the hash of the new ledger.”
The CTO further explained that as soon as a user has a supermajority, with the validators all in agreement to the new ledger hash, the user would then know that the transaction is confirmed. Any conflicting transactions wherein the user sends the same funds to someone else cannot occur. Schwartz stated that this happens because the funds have already been sent to the user in the very ledger that the validators have agreed on.
According to Schwartz, in such a scenario, users cannot double spend because they have cryptographically signed everything already. If a validator has a cryptographic signature that shows the user approving two transactions that conflict, the validator then has proof that the user is malicious. All the validators have to do next is, present the proof to people and expose them of their malicious intent.
This essentially resolves the double spending problem but it has not found a solution to transaction malleability. David concluded by saying:
“The malleability problem in XRP still exists if one attempts to track transactions by ID. A user would never say, ‘oh this transaction didn’t go through, I better send another one’. But if they did, then they could potentially be tracked. So we’re going to close that hole completely by using a solution similar to what Bitcoin uses. We will be announcing that in a couple days.”