I am a cryptographer and I have been analyzing Dero’s Bullet Proofs and Monero Bullet Proofs. I have seen that Dero has been done some improvements to the original BP model especially the new and faster verification algorithms. But, I stumbled with big doubts that Dero’s BP implementation is efficient or correct.
By comparing Dero’s BP with Monero BP, I have found the following incompatibilities:
-
Dero is Generating a BulletProofs for each output. If there are N outputs, there will be N bulletproofs
By contrast, Monero is generating only one Bullet Proof combing all bullet proofs into a single BP. In reality, if the transaction has multiple outputs, Dero’s BP will always be 3-4x times bigger than Monero BP. I have done tests and I always get this number. I am saying this, especially because most transactions will have at least 2 outputs namely the destination amount and the change amount. -
Dero BP is missing a few BulletProofs parameters namely taux, mu, a, b, t and all Dero Bulletproofs have always 6 elements on L and R arrays. While, Monero is compacting the bulletproofs, Monero L and R varies based on how many outputs there are.
-
Dero is forcing to generate a new array named MixRing that in Monero is not necessary.
-
Dero MLSAG signatures are different than in Monero. Dero has II signatures while Monero has SS and CC.
Why these differences? Why so many, especially because this proposed solution by Dero is less memory efficient especially for multiple outputs taking in my account that most tx have at least 2 outputs.
How was Dero Go Lang BP even tested, while they are not fully compatible with Monero Bullet Proofs?
The most important question, is there any option in the Dero Go Lang version to change in order to switch to fully compatible Monero Bullet Proofs?
Thanks and keep changing the crypto space!