Musicoin / go-musicoin

:link: Go-version of Musicoin blockchain wallet and consensus
GNU Lesser General Public License v3.0
161 stars 57 forks source link

GMC 2.0 is not compatible with 2.5 #78

Closed immartian closed 6 years ago

immartian commented 6 years ago

I didn't expect this happened at 1,920,000 then found GMC 2.5 and 2.0 are totally incompatible. So for both Bittrex and Cryptopia , they were not running GMC2.5 before and stuck there since yesterday.

We have suggested them to upgrade and seems Cryptopia succeed, but Bittrex didn't get through with the following errors:

ERROR[02-08|03:44:43]
########## BAD BLOCK #########
Chain config: {ChainID: 7762959 Homestead: 1150000 MCIP3-UBI: 1200001 DAO: 36028797018963967 DAOSupport: false EIP150: 36028797018963967 EIP155: 36028797018963967 EIP158: 36028797018963967 Byzantium: 36028797018963967 Engine: ethash}

Number: 1630914
Hash: 0x9281bc547ebe41b641b1533e3d642e7db6a436a5558ba20a4beff4b3e06f17c4

Error: invalid merkle root (remote: 302996e4e7ca992cb7fa697720ea4a4cbd89b331579f94987ed3410e04511bf5 local: 85ccf7154833d5ea2680488c39e06e424f472aaf81f0de4690e7f7b0c9b75a2e)
##############################

I have furtherly suggested them to delete chaindata and start over. yet to see if it helps.

@5chdn

5chdn commented 6 years ago

Is the above error from GMC 2.0? I suggest upgrading to 2.5.

immartian commented 6 years ago

I think it's from v2.5.1 https://github.com/Musicoin/go-musicoin/releases/tag/v2.5.1

5chdn commented 6 years ago

testing with latest parity 1.8.9 stable and gmc 2.5.3 stable

immartian commented 6 years ago

I upgraded web app's client to 2.5.1 smoothly two days ago, not sure what's wrong with their side.

5chdn commented 6 years ago

it's probably parity issue, I don't see difference in gmc 2.0 and 2.5

5chdn commented 6 years ago

can I see the full log from above? In general this just means a client submits a bad block, this is not an issue unless the client totally stops syncing.

5chdn commented 6 years ago

Confirmed consensus issues between GMC 2.0.0 and 2.5.3. Please use 2.5.x

5chdn commented 6 years ago

I have at least two 2.0 peers that actually are compatible with 2.5:

Version                                                              Header
----------------------------------------------------------------------------------
GMC/v2.6.0-beta-3fd25c0f/linux-amd64/go1.8.3                         d7ac0f…4fa3ee
GMC/music.miningpond.com/v2.5.1-stable-039a2d99/linux-amd64/go1.7.5  d7ac0f…4fa3ee
GMC/v2.5.3-stable-69422700/linux-amd64/go1.7.3                       d7ac0f…4fa3ee
GMC/v2.5.0-unstable-105239b9/linux-amd64/go1.8.3                     d7ac0f…4fa3ee
GMC/v2.5.3-stable-69422700/linux-amd64/go1.7.3                       d7ac0f…4fa3ee
GMC/v2.0.0-stable-d849d276/windows/go1.7.3                           d7ac0f…4fa3ee
GMC/v2.0.0-stable-8b31cac1/linux/go1.7.5                             d7ac0f…4fa3ee

See header hash. This is seen from Parity 1.8.9 which is also compatible.

screenshot at 2018-02-08 13-00-03

immartian commented 6 years ago

I'm confused, tracing back some history to see what's the clue. On musicoin.org web, the 2.5.1 upgraded smoothly upon the first moment of reported bad block issue. It's not even resync but continued from existing databsae. Not the same to Bittrex though.

5chdn commented 6 years ago

I'm also confused. I suspect that we have an unclear versioning at this time. See the two 2.0 nodes in my screenshot have different commits. There might be even more.