Resolved: D̶o̶ ̶n̶o̶t̶ ̶u̶s̶e̶ ̶G̶r̶i̶n̶ ̶(̶g̶r̶i̶n̶-̶w̶a̶l̶l̶e̶t̶,̶ ̶G̶r̶i̶n̶+̶+̶,̶ ̶I̶r̶o̶n̶b̶e̶l̶l̶y̶)̶ ̶u̶n̶t̶i̶l̶ ̶f̶u̶r̶t̶h̶e̶r̶ ̶n̶o̶t̶i̶c̶e̶!̶

An additional fix was required in the header sync logic to fix cases where freshly synced nodes or nodes that synced to the fix late were unable to get “good” blocks.

Everyone please upgrade to v5.0.4 at Release v5.0.4 · mimblewimble/grin · GitHub.

With this final hot fix we expect the network to continue to have a healthy recovery.

Thank you all for your continued patience.


Why is this marked as " Resolved"? My Grin++ node still have problem to sync and it seems like many miners are still on the wrong but longer chain.

where are my grin coins ? I withdrawed from tradeogre at 2021-03-18 12:41:58 UTC, maybe it’s 1136756 block. Now the coins disapeared . Who can I ask to get my coins back ?

Since all the blocks after block 113608 will be rejected once everyone is in sink, your transaction that happend in block 1136756 will have never occured. Meaning, your withdrawel never happened and the Grin coins should be back/still be in your account. Just wait till everyone is synced again with the new chain.

I think an alternative and maybe better solution would be to make a bounty for writing a solid set of test cases for both the rust grin node and grin++. This ‘attack’ can simply be added as one of the test cases so all new releases can be tested on various bugs and attack vectors.
What you think @quentinlesceller


I think this fork is very stupid, never think about the ones who received grins after block 1136081

project team should be responsible for this rollback, compensate grins to addresses which received grin coins after 1136080

It does suck for those who did transactions in that time, all those transaction did not occur now. This is in general not a big problem unless for example you used BTC to buy Grin. The buyer would not have received the Grin, but the seller would have received BTC.

No they should not, crypto is a decentralized system, not a bank. There is no one ‘responsible’ we all are. You and me are equally responsible for not spotting the bug as the developers are since we are our own banks we have our own responsibility. That is the price to pay for being part of decentralized financial system. Of course I think all parties involved will try to avoid as much people from having problems, but that is only out of idealism/kindness/choise, not because it is their responsibility.


Before you start blaming, read about hard forks. If your withdrawal from tradeogre was after block 1136080 and you didn’t receive it, it means tradeogre has them (unless deposit was also reverted). So write to them, they are the ones who should return the coins to you


yes I think so , but rollback is stupid, rollback is simple but makes confusion, why they choose rollback , just inability

crypto is a decentralized system, but they should be responsible for rollback . we allow bugs, but we don’t allow rollback , that means deception . let btc do a rollback, how many people will agree?

So you don’t even know why a rollback was made yet you complain here about it? The rollback was necessary in this situation, nobody wants to see such rollbacks. Shit happens, life moves on and so will grin

People who understand why it’s necessary would agree, nobody would be happy about it and yet it would still happen. To understand this you must first understand what actually happened

Let me explain the alternative.
The alternative would be accepting a block with a wrong range proof that could in theory allow ‘the attacker’ (yes this was a deliberate attack on Grin) to transfer him or herself any amount of Grin out of thin air… I think we can all agree that would be not good for the Grin ecosystems since all our Grin holding would be inflated. It would break one if the most important pillars of crypto, the knowledge of how much coins are out there at any given time. The choices made by the developers are without doubt the best choice they could have made since it protect the integrity of the project.


lets see how many exchanges will delist grin

1 Like

As this post marked as resolved. However, there is still a unconfirmed transaction in my Grin++1.2.5. Do I need to do something to upgrade my node to 5.0.4? Does Grin++ have an upgrade ready yet?

unfortunely your coins lost

It’s very young and experimental. Use at your own risk!

I understand the annoyance of some, but your pieces probably came back to the same address before the restoration.

I’m happy with the reactivity and choices of the devs on this problem.


Just all wait till all nodes are in sync again, coins do not 'disappear, the just are exactly where they were before block 1136080, it is that simple :upside_down_face:.

you dont’ know someone desposit grin to exchange after 1136080 then sell them to btc or else to withdraw, now the grin coins they sold go back to their wallet . what about these grin coins? you too young too simple

Grin is an experimental coin: use at your own risk!