gridcoin-community / Gridcoin-Research

Gridcoin-Research
MIT License
588 stars 173 forks source link

Forking, General chat about the forking situation #893

Closed tomasbrod closed 6 years ago

tomasbrod commented 6 years ago

I came to conclusion that most forks after the v9hardfork were caused by false detection of bad beacon contracts. If a beacon contract within a block is detected as bad, the block is rejected. The validation of beacons is, I believe, correct, but it operates on inconsistent data. When reorganizing, the "Admin Messages", where contracts are stored, are incorrectly reloaded. This causes messages included on a fork, persist in memory structures even after that block was removed during a reorganize. Connecting blocks will fail, because the wallet now thinks the contract is duplicate. The client will get stuck on the block, starting yet another chain fork. 313 GRC bounty for fixing the contract loading issue address.

frank0051 commented 6 years ago

@JRantanenn - it's not necessary - they just don't trust an unofficial source as you could have "put" something in the chain. This is the main concensus chain at this point though.

Diff at .715 and 2.24M net weight

NeuralMiner commented 6 years ago

@JRantanenn no harm, no foul. Thank you for removing it. We don't want people to get used to downloading unofficial snapshots. That could lead to nefarious things in the long run. Thanks again. @frank0051 the main consensus chain and the snapshot are two different things. Yes, it's on what looks to be on the main fork. That's different issue from people downloading unofficial snapshots. Please stop associating the two with each other.

frank0051 commented 6 years ago

@NeuralMiner : Yes, that's right: you summed it up nicely. It's exactly what I said: @JRantanenn is being asked to remove the unofficial source because they don't trust the unofficial source as you could have put something in it that compromising the security the users of it.

frank0051 commented 6 years ago

@NeuralMiner nodes are on getblockhash 1152529 /

1f4804e1c292e8d4e2e5fc59555f9f732a9e6e48f0cc6c30604b0fada2dd9f14

This matches gridcoinstats and the chain referenced above. Link has been removed as we not have significant difficult at .874 and netweight at 2.1M.

aladar42 commented 6 years ago

FWIW, my wallet just forked at block 1152528.

getblockhash 1152528 ae148b18979aebbe78f0ce4faa842186dd698604ac5b867960db709e95314bcc

frank0051 commented 6 years ago

@aladar42, you're on the same one as me this point - it looks like NeuralMiner and Gridcoinstats have on their separate ways on a fork at 1152529. The one we're on has 1.9M net weight and .168 diff.

NeuralMiner commented 6 years ago

A new official snapshot has been uploaded to http://gridcoin.us. Please use that snapshot to sync your clients. https://download.gridcoin.us/download/downloadstake/signed/snapshot.zip

jamescowens commented 6 years ago

I would like to add a new release is forthcoming within the next 24 hours which will incorporate pull request 902 and address much of the root cause of the forking. People need to use the snapshot in conjunction with the new release that is forthcoming to maximize the chance of stabilizing the network.

jamescowens commented 6 years ago

Correction. The new release was just posted to git as a new tag... 3.7.7.0

NeuralMiner commented 6 years ago

Snapshot Torrent Magnet: magnet:?xt=urn:btih:bfa9e34192802d04c4f5a4c420adc304728747ae&dn=GRC%5FSnapshot%5F1151001&tr=udp://tracker.coppersurfer.tk:6969/announce

xaminmo commented 6 years ago

Ubuntu builds just became available for 3.7.7. Seems stable. Sync after the official snapshot was quick. Needed repairwallet after sync.

I see orphan blocks, and some invalid CPID signatures "Unable to sign message, check private key. Cached key blah" from 3.7.5 nodes. The debug messages look much more informative. No crashing.

I'm off to bed, and EU will be up soon.

emc02 commented 6 years ago

I changed to 3.7.7.0 and loaded the new snapshot. All synced good and my difficulty is now at 2.152, that's pretty well! I hope forking is fixed with that! Thanks to the developers!

vseven commented 6 years ago

So I'm on Windows and I saw that there was a 3.7.7.0 msi released from here but the one on gridcoin.us is still 3.7.5.0. Is there somewhere else to download it or just wait for gridcoin.us to get updated?

I did download the snapshot but I keep connecting to the same fork that Sonic is on (which is what I was on before trying the snapshot). I thought that was the main fork but now gridcoinstats shows it red (was green yesterday). Maybe they are on the wrong fork...

emc02 commented 6 years ago

Well, I am now back at 0.183 difficulty, so maybe it's just another fork... I don't know, sorry for being to enthusiastic.

vseven commented 6 years ago

@emc02 - I think things are getting back to normal. The msi install was released and it took a hour or so but my client finally synced up as did most of those listed on https://gridcoinstats.eu/status.php . At least thats the best I've seen this week.

emc02 commented 6 years ago

My difficulty is today at 0.408 and slowly but constanly rising. Looks ok and I am on the same (main-)fork as gridcoinstats

WhiteCat6142 commented 6 years ago

Difficulty around 0.03 I got lost again.

arfonzocoward commented 6 years ago

Same here, difficulty at 0.03 now, net weight down to 56k.

Edit: a few hours later, difficulty now 0.0, net weight 2000. I used the new snapshot and 3.7.7.0... what's going on?

Edit 2: after downloading the same snapshot again, I seem to be on the main fork again with a current diff of 3.172, net weight 27M.

anantshri commented 6 years ago

Folks, looks like we are still facing forks intermediately. Just wanted to check if there is any plans of a new version soon and assuming a new version can help and we don't need some drastic measures like every wallet requiring some manual efforts.

I see that the bounty is still in the wallet https://gridcoinstats.eu/address/SERLeyvbiLUMXSL373zbaCubqyWrECa1oh so assuming we are stilling trying to figure out the main issue

Concerning part is now its close to 2 weeks and all exchanges are in wallet offline mode so people are getting panicked coz they can't withdraw grc's to wallet.

I assume a statement from developers if its possible would help calming the nerves even if its a specific message in this github issue but some place public.

jamescowens commented 6 years ago

The developers are getting very close to a new release. A release candidate which fixes the known major forking and sticking issues is currently being tested. I am one of the testers.

xaminmo commented 6 years ago

I'd like to thank the devs. We're all frustrated about the stability issues, and there have been a few hostile messages from users. The core team have been calm and respectful, with much more patience than expected manage in a similar position.

The cryptotalk forum has a gridcoin developer compensation thread which lists their GRC addresses. I picked the most active from here and sent enough GRC for an expensive coffee, mixed drink at a bar, an appetizer at a small restaurant.

Anyone else wanting to encourage them, I recommend the same.

iFoggz commented 6 years ago

Thank u for the kind words and those who have stepped up for testing. If anyone else in future is interested in running testnet wallets feel free to ask about doing so

On Fri, Feb 16, 2018, 9:45 AM Josh-D. S. Davis, notifications@github.com wrote:

I'd like to thank the devs. We're all frustrated about the stability issues, and there have been a few hostile messages from users. The core team have been calm and respectful, with much more patience than expected manage in a similar position.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gridcoin/Gridcoin-Research/issues/893#issuecomment-366307265, or mute the thread https://github.com/notifications/unsubscribe-auth/AMrVQPoL9P6W50FYTojKzTVWA7Ni00ZUks5tVb6sgaJpZM4Rvz8L .

xaminmo commented 6 years ago

One thing I forgot to mention, but what seems to have kept me on the main chain since 3.7.7 is suppressrestart=false and suppressreboot=false . Some of the forking issues have to do with clobbering shared values after reorg. Some of the temporary workarounds have been reorg, then exit and restart. With these 2 variables set, I have not drifted off chain.

tomasbrod commented 6 years ago

I did not know these values existed, @xaminmo , therefore I doubt there is more than accidental correlation.

Phizane commented 6 years ago

Hi Im having similar issues to this thread , I have the blockchain (wallet) installed on one machine and its upto date with no issues. However I have tried installing the new version of the wallet on a new machine an I get these Orphaned nodes , and lots of errors , after 3 days now leaving it running I have over written the client version from v3.7.8.0-unk-317 back to v3.7.7.0-unk-317 , it seems to be working better now .. so I guess the version change to the new has Borked something .. Judging the other machine running the newer version Im assuming that I can upgrade OK when the Blockchain has Sync'd ...

PS pretty new to this Gridcoin , so flaming probably warranted :)

SETI@home member since 24 Jun 2004
Phizane commented 6 years ago

I can confirm, the issues I had where I was having days of Orphan'd nodes leaving the block hanging on a particular number for atleast 2 days , was solved by reverting to an older version of the wallet. So the steps 1) installed new wallet v3.7.8.0-unk-317 2) downloaded snapshot 3) started Gridcoin.app (Mac osx btw) 4) waited 3 days ... 2 of which stuck on same id ! 5) searched Internet .. no avail ! 6) decided to revert to old version of Gridcoin.app 7) success ! 8) Upgraded to new version 3.7.8.0 9) success !

This might not be 100% related to what others see, but fixed the issues I had

tomasbrod commented 6 years ago

There is now 3.7.10.0 version that fixes some of the mentioned stuff. I can't help you with older version, because I forgot what was and was not in that release. My wallet and the explorer wallets are looking very stable with the latest versions. Due to txPrev error, if your wallet is deep stuck on a fork, it may not jump to the correct chain even after update. Let it do it's thing for 1-2 hour and it does not fix itself, apply a snapshot.

denravonska commented 6 years ago

Should we consider this fixed now? I have not seen a fork in quite a while.

jamescowens commented 6 years ago

I think so!

jamescowens commented 6 years ago

Also issue #909 should be closed as resolved too, I think.

On Apr 12, 2018, at 3:24 AM, Marco Nilsson notifications@github.com wrote:

Should we consider this fixed now? I have not seen a fork in quite a while.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.