Closed checksum0 closed 5 years ago
It means that player 3 have a different transaction then other. How did you get it?
It happened between three cooperating testers all running the same version of both Electron Cash and also the plugin. I have no idea how this could happen.
Can you ask em for a few question: 1) What amount was choosen? 2) What type of public keys they use (compressed or uncompressed?)
Will do and report ASAIK
In fact, we redid the shuffle by reversing the order of shuffler and it worked right after that (player 1 became 3 and vice-versa, player 2 stayed player 2).
https://bch.btc.com/72c0c7da0eeeb695db3dee5f1a8baf644b5db8bb98fb32294d064ddcc270cb30
You can see in that transaction the input that were tried and their addresses.
Ok. I will review, thanks.
I'm able to reproduce this on my machine:
Player 1: Blame: wrong transaction signature from player 2
Player 2: Blame: wrong transaction signature from player 1
Player 3: Blame: wrong transaction signature from player 1
All three wallets were created today using Electron Cash 3.0.
I have some more data about the above run:
Player 1 successfully verifies his own signature, but tries four recids of Player 2 to no avail. It should be noted that no exception was caught when iterating through recids of Player 2:
Player 1 got transction signatures Verifying transaction signature of Player 1 Have txin Trying recid: 0 Verifying transaction signature of Player 2 Have txin Trying recid: 0 Trying recid: 1 Trying recid: 2 Trying recid: 3 False Blame: wrong transaction signature from player 2
On Player Two and Three:
Player 2 got transction signatures Verifying transaction signature of Player 1 Have txin Trying recid: 0 Trying recid: 1 Trying recid: 2 Exception AssertionError() Trying recid: 3 Exception AssertionError() False Blame: wrong transaction signature from player 1
Note that AssertionErrors were thrown while trying recid 2 and 3.
@senescent1 thanks for your feedback. I'm writing test routines and will update repo with it soon. I used Transaction signing routine from Electrum libs. And it looks like it always assume public key of coin to be compressed. There is a problem i want to cathc and resolve first. Do you use a compressed public keys in a wallet? Can you share it?
Electron Cash is showing a 111 character Master Public Key. Is that what you were looking for?
No just regular public key. You can find input address in addresses tab and press details in a popup menu
65 character public key there.
This should work now
Plugin somehow provided a wrong signature from one of the player TX...
protocol started