gridcoin-community / Gridcoin-Research

Gridcoin-Research
MIT License
585 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.

iFoggz commented 6 years ago

only way ive been able to get past this myself is i reorganize back to the last block matching hash in the chain of a wallet that is on the main chain then immediately shutdown and reload of wallet.

denravonska commented 6 years ago

Beacon blocks will also be rejected as they are based on the time of the receiving node's best height. In addition to the appcache salvage we also need to move the beacon checks to accept block, or base the check on the time of the TX. See #896.

frank0051 commented 6 years ago

We have identified at least two chains in the wild at this point and the fork appears to start at

!getblockhash 1148694 ba52dbf9123a16772da043d0f30e0481b0ce5ae5b74d7f4c98956f803895441a

^This chain has at least 8 people on it with a netweight of approximately 250K currently and diff at 0.021

!getblockhash 1148694 710c0748f4f7152a6cd903b34a7f3917686130b3d9d2dec42a6b0e6f445f896c

^This chain has a lot of people on it (including gridcoinstats and gridcoin.network with a diff at .022

frank0051 commented 6 years ago

The Vancover and Toronto nodes on the GRCBot seem to be on my chain (the top one) whereas Gridcoinstats and Gricoin.network are on the bottom.

As someone that makes up 10-20% of the netweight (I think) on the first chain, I'm turning off my wallet for the next day or two. Anyone else on that chain please do so as well so at least we can try to kill it off for a short-term solution.

iFoggz commented 6 years ago

my nodes r off sync at the moment. i got two different block counts and trying to solve it. my windows wallet says a different block as well

jamescowens commented 6 years ago

I am on the upper one. Should I take my wallet offline?

jenrant commented 6 years ago

Here's a snapshot for the bottom chain link removed per request of @NeuralMiner

Might as well help people out by spreading it to get more people on the same fork.

jamescowens, either that or joining the other one through the snapshot.

xaminmo commented 6 years ago

Both of those chains have very low difficulty. Are we sure there are not more forks?

Ultimately though, this needs to be something that could/would be resolved automatically. We've been forked up for the better part of a week, and that has a direct, negative impact on user acceptance. The main stats site says it's stuck on a fork, the exchange rate is low, some exchanges have dropped GRC, and there are plenty of newbies around the net getting very confused.

grctest commented 6 years ago

some exchanges have dropped GRC

Exchanges & services have set it to maintenance mode (ie halted deposits/withdrawals until stable), not removal.

jenrant commented 6 years ago

There is a lot of forks going on but for the moment it seems like those two are the largest ones, so I believe that we can somewhat help the forks fix themselves by at least trying to migrate to one fork

I'm sure the marketplaces will continue to offer GRC once this forking issue has been resolved.

I truly have hope for this currency because it isn't here just for the sake of being, but actually helps do real science.

frank0051 commented 6 years ago

@jamescowens, if you're on the top one I would go ahead and take your wallet offline for a day or two. You will still earn credit for all your research work on BOINC.

frank0051 commented 6 years ago

@xaminmo - there very well may be others, but from what I can tell these are the two main forks at the moment. We've dealth with this before a year ago or so and then again over the summer - generally allowing the community to pick a main fork and asking others to stay offline for a day or two until a patch is released is the best way forward.

jamescowens commented 6 years ago

@frank0051 I am certainly aware that I will get credit for research while my wallet is offline. I understand how the research credit system works, and we haven't yet made changes to GRC on how interest is computed to encourage people to keep their wallets online. :) I just took it offline to try and let the upper fork die out. This sort of thing doesn't really bother me too much, but people that are not technically inclined get very discouraged by these type of situations. We need to try and avoid this in the future, if we want to have GRC more generally accepted. This is having a negative impact on GRC's value. The testing environment should have picked up on this before 3.7.x was released. Sounds like testnet needs to be revamped.

Another example of difficulties that should have been resolved for newbies and casual users... the "in wallet" windows client upgrader broke people's install. I compile the client on Linux myself. (That is difficult too for me because of my older distribution. :) Most Windows users simply expect the install and/or upgrade to be hassle-free and just work. We have taken a serious step backwards in this area, and setting up GRC is already too difficult for the new user.

This may not seem like a big deal to the developers... I can assure you it is a big deal to the casual user, and all of these collective problems are working against us in the marketplace.

jamescowens commented 6 years ago

Ok. I rolled back to the snapshot given above and my wallet is on the bottom chain now.

jco@jco-linux:~/.GridcoinResearch> ./gridcoinresearchd.sh getblockhash 1148694 710c0748f4f7152a6cd903b34a7f3917686130b3d9d2dec42a6b0e6f445f896c

jamescowens commented 6 years ago

Crap. My balance is wrong! I am showing only 229379.51 instead of 309,199.20. What the blazes happened? :(

jamescowens commented 6 years ago

Looks like I had coins staked on the upper fork when I rolled back. Did I lose those coins? I don't usually panic, but I need some help on this. 80000 GRC is a lot.

jamescowens commented 6 years ago

Maybe it will come back to me as soon as the staked funds are released after the customary block interval on the fork?

jamescowens commented 6 years ago

Can someone help me with this?

https://www.gridcoinstats.eu/cpid/bc0621a4ac4610ffa400a0d298c02e23 shows the correct balance, but a balance check of my wallet does not...

jco@jco-linux:~/.GridcoinResearch> ./gettotalbalance.sh 20180130054333 Gridcoin balance: 71811.75924388 20180130054333 Gridcoin stake: 157678.66858735 20180130054333 Gridcoin total: 229490.42783123

The client was restarted with the snapshot at 01/30/18 10:04:39. wallet.dat was untouched.

It appears from the log that block 1150401 was staked by me at 10:08:44, but when I go to https://www.gridcoinstats.eu/block/1150401 it shows another staker?

Here is the output to cat debug.log|grep CreateCoinStake

CreateCoinStake: Found Kernel; 01/29/18 16:24:17 CreateCoinStake: added kernel type=1 credit=30744.303907 CreateCoinStake: Found Kernel; 01/29/18 17:43:30 CreateCoinStake: added kernel type=1 credit=6784.278141 CreateCoinStake: Found Kernel; 01/29/18 18:20:20 CreateCoinStake: added kernel type=1 credit=471.906384 CreateCoinStake: Found Kernel; 01/29/18 18:42:58 CreateCoinStake: added kernel type=1 credit=8871.468072 CreateCoinStake: Found Kernel; 01/29/18 18:53:59 CreateCoinStake: added kernel type=1 credit=51102.968268 CreateCoinStake: Found Kernel; 01/29/18 19:34:41 CreateCoinStake: added kernel type=1 credit=46409.296308 CreateCoinStake: Found Kernel; 01/29/18 20:10:11 CreateCoinStake: added kernel type=1 credit=15698.241683 CreateCoinStake: Found Kernel; 01/29/18 21:07:32 CreateCoinStake: added kernel type=1 credit=4641.983030 CreateCoinStake: Found Kernel; 01/29/18 22:06:40 CreateCoinStake: added kernel type=1 credit=17806.797295 CreateCoinStake: Found Kernel; 01/29/18 22:17:26 CreateCoinStake: added kernel type=1 credit=18555.403636 CreateCoinStake: Found Kernel; 01/29/18 22:17:34 CreateCoinStake: added kernel type=1 credit=18555.403636 CreateCoinStake: Found Kernel; 01/29/18 22:16:01 CreateCoinStake: added kernel type=1 credit=18555.403636 CreateCoinStake: Found Kernel; 01/29/18 22:16:09 CreateCoinStake: added kernel type=1 credit=18555.403636 CreateCoinStake: Found Kernel; 01/29/18 22:17:37 CreateCoinStake: added kernel type=1 credit=18555.403636 CreateCoinStake: Found Kernel; 01/29/18 22:17:45 CreateCoinStake: added kernel type=1 credit=18555.403636 CreateCoinStake: Found Kernel; 01/29/18 22:54:11 CreateCoinStake: added kernel type=1 credit=18555.403636 CreateCoinStake: Found Kernel; 01/30/18 00:38:46 CreateCoinStake: added kernel type=1 credit=291.933561 CreateCoinStake: Found Kernel; 01/30/18 02:10:12 CreateCoinStake: added kernel type=2 credit=60.490000 CreateCoinStake: Found Kernel; 01/30/18 03:07:00 CreateCoinStake: added kernel type=2 credit=467.280483 CreateCoinStake: Found Kernel; 01/30/18 05:38:08 CreateCoinStake: added kernel type=1 credit=80434.974030 CreateCoinStake: Found Kernel; 01/30/18 06:58:40 CreateCoinStake: added kernel type=1 credit=26076.833925 CreateCoinStake: Found Kernel; 01/30/18 08:12:07 CreateCoinStake: added kernel type=1 credit=829.303472 CreateCoinStake: Found Kernel; 01/30/18 08:28:34 CreateCoinStake: added kernel type=1 credit=30746.419409 CreateCoinStake: Found Kernel; 01/30/18 10:08:44 CreateCoinStake: added kernel type=1 credit=80399.742228 CreateCoinStake: Found Kernel; 01/30/18 10:12:53 CreateCoinStake: added kernel type=1 credit=80399.742228 CreateCoinStake: Found Kernel; 01/30/18 10:16:55 CreateCoinStake: added kernel type=1 credit=51100.662667 CreateCoinStake: Found Kernel; 01/30/18 10:32:35 CreateCoinStake: added kernel type=1 credit=26067.351423

More detail around the 10:08:44 and 10:12:53

01/30/18 10:08:44 Received block c3aa6a9c3eac8d35aa10725f5acb0d81dcec1d043428699ff06eae87b5187082; ERROR: CheckBlock[] : bad beacon contract found in tx d8e89eb92d081482ca03e8471f604bbb9a3e5e7c5ff77cd6e0ccf75202971c41 contained within block; rejected 01/30/18 10:08:44 ERROR: ProcessBlock() : CheckBlock FAILED 01/30/18 10:08:44 CreateCoinStake: Found Kernel; 01/30/18 10:08:44 CreateCoinStake: added kernel type=1 credit=80399.742228 01/30/18 10:08:44 StakeMiner: created rest of the block 01/30/18 10:08:44 CreateGridcoinReward: for bc0621a4ac4610ffa400a0d298c02e23 mint 87.778501 {RSAWeight 190.000000} Research 79.694444, Interest 8.084151 01/30/18 10:08:44 StakeMiner: added gridcoin reward to coinstake 01/30/18 10:08:44 AddNeuralContractOrVote: Local Contract Empty 01/30/18 10:08:44 StakeMiner: signed boinchash, coinstake, wholeblock 01/30/18 10:08:44 AcceptBlock: Proof Of Stake V8 9 01/30/18 10:08:44 {PB}: ACC; 01/30/18 10:08:44 StakeMiner: block processed 01/30/18 10:08:45 Received block 73628aaeee4f4662beae3bd2a9a6fbb8b07a7304743e45ae74943a3a50619730; AcceptBlock: Proof Of Stake V8 9 AppInit01/30/18 10:08:45 [DoTallyRA_START_retired] [DoTallyRA_END_retired] 01/30/18 10:08:45 {SBC} new best=73628aaeee4f4662beae3bd2a9a6fbb8b07a7304743e45ae74943a3a50619730 height=1150401 ; {PB}: ACC; 01/30/18 10:09:16 Received block eafba2dce6e6e7bec78aef42a9ce49bb6b8e227845bbba5dd7efdbc7c3a73c8e; AcceptBlock: Proof Of Stake V8 9 01/30/18 10:09:16 [DoTallyRA_START_retired] [DoTallyRA_END_retired] 01/30/18 10:09:17 {SBC} new best=eafba2dce6e6e7bec78aef42a9ce49bb6b8e227845bbba5dd7efdbc7c3a73c8e height=1150402 ; {PB}: ACC; AppInitAppInit01/30/18 10:09:41 Received block 0ab1568aabb8c7cbdc973d067a7492fe01455d0b1e07435477375a38035209e1; AcceptBlock: Proof Of Stake V8 9 01/30/18 10:09:41 [DoTallyRA_START_retired] [DoTallyRA_END_retired] 01/30/18 10:09:41 {SBC} new best=0ab1568aabb8c7cbdc973d067a7492fe01455d0b1e07435477375a38035209e1 height=1150403 ; {PB}: ACC; 01/30/18 10:09:55 Received block 76c470f300baa486d3e56e7909e161f53053397a8bc573d8a91185d0aff4a940; AcceptBlock: Proof Of Stake V8 9 01/30/18 10:09:55 [DoTallyRA_START_retired] [DoTallyRA_END_retired] 01/30/18 10:09:55 {SBC} new best=76c470f300baa486d3e56e7909e161f53053397a8bc573d8a91185d0aff4a940 height=1150404 ; {PB}: ACC; AppInitAppInit01/30/18 10:11:17 Received block 190c57115b4b8f5416e95e37293bfc4edfbdf51c3af3dd96f3021ac5ec80b4ff; AcceptBlock: Proof Of Stake V8 9 01/30/18 10:11:18 [DoTallyRA_START_retired] [DoTallyRA_END_retired] 01/30/18 10:11:18 {SBC} new best=190c57115b4b8f5416e95e37293bfc4edfbdf51c3af3dd96f3021ac5ec80b4ff height=1150405 ; {PB}: ACC; 01/30/18 10:12:10 Received block 6ea9d5d0a518d06a9b4e33d9d769c26b24405d7ebfdadd0642a2ae51fd7bb349; AcceptBlock: Proof Of Stake V8 9 01/30/18 10:12:10 [DoTallyRA_START_retired] [DoTallyRA_END_retired] 01/30/18 10:12:10 {SBC} new best=6ea9d5d0a518d06a9b4e33d9d769c26b24405d7ebfdadd0642a2ae51fd7bb349 height=1150406 ; {PB}: ACC; 01/30/18 10:12:22 Received block 06dd18c8590a6d84cbdb4ee17ce1ba67e51fc9cc124111888f2475a9f3eb5b39; AcceptBlock: Proof Of Stake V8 9 01/30/18 10:12:22 [DoTallyRA_START_retired] [DoTallyRA_END_retired] 01/30/18 10:12:22 {SBC} new best=06dd18c8590a6d84cbdb4ee17ce1ba67e51fc9cc124111888f2475a9f3eb5b39 height=1150407 ; {PB}: ACC; 01/30/18 10:12:37 Received block 0764d1b34ceeb1504a17cd43b7c7c85465c2770249249fd43c0cf0a1e131c241; AcceptBlock: Proof Of Stake V8 9 01/30/18 10:12:37 [DoTallyRA_START_retired] [DoTallyRA_END_retired] 01/30/18 10:12:37 {SBC} new best=0764d1b34ceeb1504a17cd43b7c7c85465c2770249249fd43c0cf0a1e131c241 height=1150408 ; {PB}: ACC; 01/30/18 10:12:53 CreateCoinStake: Found Kernel; 01/30/18 10:12:53 CreateCoinStake: added kernel type=1 credit=80399.742228 01/30/18 10:12:53 StakeMiner: created rest of the block 01/30/18 10:12:53 CreateGridcoinReward: for bc0621a4ac4610ffa400a0d298c02e23 mint 103.595301 {RSAWeight 190.000000} Research 95.501389, Interest 8.093926 01/30/18 10:12:53 StakeMiner: added gridcoin reward to coinstake 01/30/18 10:12:53 AddNeuralContractOrVote: Local Contract Empty 01/30/18 10:12:53 StakeMiner: signed boinchash, coinstake, wholeblock 01/30/18 10:12:53 AcceptBlock: Proof Of Stake V8 9 01/30/18 10:12:54 [DoTallyRA_START_retired] [DoTallyRA_END_retired] 01/30/18 10:12:54 {SBC} new best=811de92f4f858d0465602941add325c4f8076ede6fc62037e25693be80514aa4 height=1150409 ; {PB}: ACC; 01/30/18 10:12:54 StakeMiner: block processed

jamescowens commented 6 years ago

Can anybody help? Should I restore my entire Gridcoin directory from an earlier backup, the wallet from backup, or both, or will it just make the problem worse? I take daily backups of everything.

frank0051 commented 6 years ago

What exactly are you attempting to achieve? Recover the coins you staked on the other chain? If so don’t worry about it, you’ll get the proof of research and interest next time you stake.


On Tue, 1/30/18, James C. Owens notifications@github.com wrote:

Subject: Re: [gridcoin/Gridcoin-Research] Forking due to beacon checks (#893) To: "gridcoin/Gridcoin-Research" Gridcoin-Research@noreply.github.com Cc: "frank0051" frank0051@yahoo.com, "Mention" mention@noreply.github.com Date: Tuesday, January 30, 2018, 5:04 PM

Can anybody help? Should I restore my entire Gridcoin directory from an earlier backup, the wallet from backup, or both, or will it just make the problem worse? I take daily backups of everything.

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

jamescowens commented 6 years ago

No... the principal is missing 80k GRC worth, and I have staked several times since I used the snapshot! Please read my earlier posts, including the log excerpts. I locked my wallet earlier this morning to prevent further staking... So now the staking balance is zero.

"version" : "v3.7.5.0-g8a6432e5a-dirty",
"minor_version" : 317,
"protocolversion" : 180323,
"walletversion" : 60000,
"balance" : 229495.35139389,
"newmint" : 0.00000000,
"stake" : 0.00000000,
"blocks" : 1150551,
"timeoffset" : -253,
"moneysupply" : 400431202.72656417,
"connections" : 16,
"proxy" : "",
"ip" : "67.80.208.143",
"difficulty" : {
    "proof-of-work" : 8.23948943,
    "proof-of-stake" : 0.05017756

Where do you think my missing 80k GRC is?

barton2526 commented 6 years ago

Use repairwallet in console to recover the missing coins.

jenrant commented 6 years ago

@jamescowens You can probably get them back by restoring a previous backup, or maybe just "repairwallet" inside the console and restart the wallet.

jamescowens commented 6 years ago

The repair wallet worked. Thanks!

Sent from my iPhone

On Jan 30, 2018, at 8:22 AM, JRantanenn notifications@github.com wrote:

@jamescowens You can probably get them back by restoring a previous backup, or maybe just "repairwallet" inside the console and restart the wallet.

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

letol commented 6 years ago

I'm on the same fork of gridcoinstats.eu (hash: f2ec...c9f3 at block 1150618, the lower one in @frank0051's post), which is, I believe, the correct one. As a simple user, I added all the nodes from this list in my .conf and set outbound connection to 100 for spreading the correct chain as much as I can. I'm leaving my wallet always online and checking every few hours if it's still on the same fork. Is it correct? Is it enough or I can do something else? Should every user who can do it do the same?

xaminmo commented 6 years ago

@letol, I did the same thing, and it does not seem to help much. Gridcoinstats has 2 servers on this fork, and is calling it green, but it's still an extremely low difficulty and network weight. I'm staking way more often than I should be.

I cannot imagine a network weight of 262k is a "main fork". I keep the debug log up, and I constantly see orphans, bad beacon contracts, failures on check-proof-of-research, etc from others, but I don't see enough data in there to find another fork.

Basically, fork consolidation works when there is a majority chain; however, there is nothing enforcing a majority chain right now. Even gridcoinstats has 4 different chains, and none of them are very big.

There is not much we can do to affect this without being able to contact all of the others and convince some majority to join one chain or another, or to share their chain so we can jump on with them, and all the security risks wrapped up in that.

I think if a dev released a preferred chain, that might at least get acceptance, but that's a lot of manual intervention from a lot of people with varying levels of skill.

jamescowens commented 6 years ago

It is a mess.

frank0051 commented 6 years ago

@gettingmad - this is part of being in a cyptro-community - thanks for trying, good luck whatever you try next.

jamescowens commented 6 years ago

To the devs... how close are we to getting a fix put in place? The fracturing of the chain is really harmful to GRC. We are trying to attract new folks to the coin, not drive people away with intractable problems.

This in combination with the broken in wallet upgrader for the Windows wallet is really corrosive for the user base I think.

jamescowens commented 6 years ago

@frank0051 you may be right about the current state, but we need to set our sites higher than that. The fuss factor with GRC is already too high. We are actually going backwards lately in this area. Not a good thing.

Most folks cannot be expected to manually edit configure files, check block hashes for forks, restart and repair wallets, manually delete hidden (on Windows) directories, or restore from snapshots to make things work. Granted many existing BOINC participants are more savvy than the average lot, but most people are not comfortable doing the kinds of things they are being asked to do lately.

I would like to add that I really believe in this coin and what it represents. I have a lot invested here, and hope we get more people to participate. We need to make it easier, not harder.

TheCharlatan commented 6 years ago

Please keep the discussion on topic. We are all working on this in our free time. It is obvious what needs to be improved and people are working on that.

frank0051 commented 6 years ago

@jamescowens - you really don't need to proselytize here - these type of things happen and we all know they pose a challenge to increased adoption. It you want to help, you can try to identify different forks (like above), become a developer yourself, join test-net, or just wait. Unfortunately, that is what we have in a volunteer community. I have been here nearly 2 years and this is just what happens sometimes when you're working with new technologies. The positive thing is GRC is one of the oldest and continuously active cyptro coins out there, so we'll survive this just like the hiccups before it. Let the devs do their thing. If you want to see more, join the Slack channel.

jamescowens commented 6 years ago

Thanks. I tried to join the slack channel, but I think you have to be invited now.

All of us are trying to contribute in different ways. I am a technologist, although not currently practicing. (I am a CEO.) I will do what I can to help.

xaminmo commented 6 years ago

I'm trying to proselytize this fork, since stats 2 nodes still calls it the good fork. Just in the last 2 hours, it's grown from 266k net weight to 324k, though it was 355k earlier.

Stats shows 4 forks, but I'm thinking, since it has not consolidated, that there are probably 10 major forks, and tens or hundreds of tiny forks. I don't know what the majority consolidation rules are for the network, but if we can grow the net weight on this fork, that should help (unless we have to have something like 51%, and don't have the buy-in of the whales.)

jamescowens commented 6 years ago

What is the parameter to increase the outbound connections from the default of 8? I run a full nose and can do many more if that will help. I am averaging 20 to 32.

Sent from my iPhone

On Jan 30, 2018, at 1:12 PM, Josh-D. S. Davis notifications@github.com wrote:

I'm trying to proselytize this fork, since stats 2 nodes still calls it the good fork. Just in the last 2 hours, it's grown from 266k net weight to 324k, though it was 355k earlier.

Stats shows 4 forks, but I'm thinking, since it has not consolidated, that there are probably 10 major forks, and tens or hundreds of tiny forks. I don't know what the majority consolidation rules are for the network, but if we can grow the net weight on this fork, that should help (unless we have to have something like 51%, and don't have the buy-in of the whales.)

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

frank0051 commented 6 years ago

@xaminmo, I used @JRantanenn 's snapshot and I'm off the other chain now and I'm on:

!getblockhash 1148694 710c0748f4f7152a6cd903b34a7f3917686130b3d9d2dec42a6b0e6f445f896c

Before I left the other chain was at 30K in net weight and I was half of the net weight. So, on the positive side, it looks like that chain is on its way to dying out.

At this point the chain I'm on - along with Gridcoinstats and Gridcoin.network is

!getblockhash 1150700 2d52438b99dd8c6b406e27e7097c386e8ab648bf12e89a86d4dfe1023beb8001

From what I can tell this is the closest thing to a main chain that we have. The GRC Channel bot is connecting to Vancouver and Toronto and they are completely frozen, so not worth referencing.

letol commented 6 years ago

@jamescowens - you can append maxoutboundconnections=<n> to your gridcoinresearch.conf file. There is also another parameter: maxconnections, but it's already set to 125 by default.

xaminmo commented 6 years ago

Marco Nilssen said there are some actual defects causing the problem. They have fixed 2 of three, and are working on the third.

https://www.reddit.com/r/gridcoin/comments/7tqe3z/regarding_current_stability_issues_in_3750/

https://cryptocurrencytalk.com/topic/1331-new-coin-launch-announcement-grc-gridcoin/?page=1341&tab=comments#comment-432057

Basically, strict beacon checking in V9 causes the forks because when reorganize (aka hop chains) runs, it does not clear out the beacon cache. That last one is an old defect, so they're having to spend more time unwinding the code to get it fixed. Marco and Tomas are working on it though.

vseven commented 6 years ago

I don't know much about all this but based on comments above I did a getblockhash 425820 and my results also match https://gridcoinstats.eu/block. The weight is also gradually climbing from what I saw of a low at like 87k up to now 435k. I don't have much in my wallet (2.5k) but I do have 40 mag so when I saw a bunch of little PoR deposits (4 totaling just under 80) I kinda assumed they were correct. If I am on the "correct" fork do these stay or will they disappear and everything equal itself back out?

Is there things that people can be doing, like those above that are on the "wrong" fork turning their wallets off, or is this more of a shouldn't happen so nothing special should be done?

jenrant commented 6 years ago

@vseven if it stays the main fork you'll most likely keep all of your PoR rewards, but if you happen to be on a fork those will unfortunately be "lost" in a sense; you'll still receive the PoR later on the correct fork as it has no knowledge of you ever receiving those rewards.

The best thing people on the "wrong" fork could do is use the snapshot to join the "correct" fork and support it by keeping their wallets running on that one.

Shutting their wallet down for a while on the wrong fork is the other choice, which also helps a bit so new people don't end up on that fork and thus the fork slowly dies out and the next time the people on the wrong fork turn their wallets on should eventually be automatically migrated to the "correct" fork.

vseven commented 6 years ago

So since I believe I'm on the correct fork, base on above, I've done the couple things I can which included adding the additional nodes to my config along with setting my max outgoing connections to 24. Thanks for the info, hopefully with the coming wallet fixes it will be resolved quickly.

xaminmo commented 6 years ago

This fork has picked up a lot of steam throughout the day. It was 266k this morning (US/Central) and right now (18:30 US/Central) it's 1,571,573 and climbing. Client 3.7.5 fixed 2/3 of the forking issue, and hopefully Marco and Tomas will have the third fix soon. Even so, this looks promising. Difficulty is up to 0.36, which is the highest I've seen in a week.

iFoggz commented 6 years ago

we are testing a 3.7.6.0 hot hot fix release. it appears to be stable and keeping things stable. patience

xaminmo commented 6 years ago

Thanks, Paul. On the CCT forums, I told people it would be a few days for 3.7.6, but that 3.7.5 helps with 2 of the 3 bugs.

tomasbrod commented 6 years ago

Whatever you do, do NOT DELETE or OVERWRITE your wallet.dat FILE. Always keep a backup. If you need to restore a backup, move the current version to backup space. After this storm clears up, you will be able to recover the coins that you had before FOR SURE.

aladar42 commented 6 years ago

Tried to sync from the snapshot above, still ended up on a fork (I think, 0.088 diff). Anything I can do as an user to get to the correct fork and propagate it?

edit: actually, looks like I'm on Sonic. Should I continue running my wallet to propagate this fork?

jenrant commented 6 years ago

That is currently the best known chain, even though the difficulty is very low. Keep running your wallet on it, because the difficulty is slowly climbing back up. (it has even been as low as 0.01)

frank0051 commented 6 years ago

PSA, the best known chain:

!getblockhash 1152400 8cf1a4276547f2123797578f9270e4e1d2dfa24184a3e65132c7c1ad73e65c08

Gridcoinstats and Vancouver are currently on this chain, as am I. I can tell a lot of people are beginning to sync to this chain because my outgoing bandwidth has gone through the roof.

At block 1152416 the diff is .168 and net weight is 1.45M - a drastic improvement. You should be able to get on this chain using @JRantanenn 's snapshot.

NeuralMiner commented 6 years ago

@JRantanenn, please remove the link to your snapshot. The devs will have something posted when they're ready. Thank you.

jenrant commented 6 years ago

@NeuralMiner done, I don't quite understand why the deletion of it was necessary, but I don't wish to cause any trouble for the devs.