(I originally had this prepared for today’s (June 25th, 2019) dev meeting, but it should most likely go here as well).
I just wanted to say a few words about the issues many people are having with transactions at the moment.
So as you know, Grin is only in its infancy. In the months since launch there have been many updates, changes and enhancements to the wallet APIs and the wallet exchange format, which we call the ‘Slate’.
Unfortunately, some of these changes were breaking and not backwards compatible with existing versions of Grin, particularly changes in the recent 1.1.0 release. We’ve tried to be clear and urge everyone involved to upgrade, but for whatever reasons many users and particularly exchanges haven’t been keeping up with the latest versions of Grin. Please note that I’m not blaming anybody other then ourselves here, as we may have misjudged the difficulties inherent in trying to keep up with changes in Grin, and possibly overestimated the frequency of changes the community should reasonably be expected to handle.
Anyhow, the result is that there are a lot of mismatched and slightly incompatible versions of Grin and the Wallet out there at there at the moment, and early versions of the code don’t have sufficient version awareness to help mitigate this. This unfortunately means that users are having far more trouble transacting with Grin than they should.
We know that the interactive nature of MimbleWimble makes transacting more challenging to get right than most other coins. But I don’t think we’ve handled the challenges particularly well over the past few releases, and I want to apologize for this.
Now, the good news and what we’re going to do to make this right:
First, as you know, 2.0.0 is just around the corner, which is our first scheduled hard fork (or you can call it a ‘network upgrade’ if you prefer). Fortunately for our current situation, this is a forced upgrade, which means that all users of Grin will have to upgrade their software to the 2.0.0 release. This should go a very long way (if not all the way) toward making sure all Grin users are on the same version of everything, and should be able to transact with each other without these incompatibility issues we’ve been seeing over the past couple of months.
2.0.0 will be released over the next week, and I strongly urge (to the point of pleading) that everyone involved in the Grin ecosystem update their operations to 2.0.0 as soon as it’s available. If you work for an exchange, pool, or other entity, please make whatever noises needed internally to ensure this happens. All current versions of Grin will stop working as of the HF block in a few weeks, and I very much hope that the HF does not come as a surprise to anyone when their nodes suddenly stop working.
Second, I do anticipate a bit of pain around HF time over the forced upgrade, particularly over the new version of the slate and the new V2 wallet API. However, once this settles I would expect us to see a much longer period of relative stability where everyone is running the same version of everything and transaction disruption should be minimal.
Going forward, changes should be coming at a slower pace, and as we plan upgrades we will be taking into consideration our learnings from this period. Most importantly. We’re planning on implementing an RFC process through which all such changes will be funnelled (https://github.com/mimblewimble/grin-rfcs). (This is on today’s agenda for further discussion) We’re also considering changes to the governance structure that should hopefully get more community members involved and encourage more in-depth discussion from a more diverse set of people on potential breaking changes to APIs or slate formats.
In addition, the V2.0.0 code is much better at doing version checks and the software should be better at explicitly informing users of potential incompatiblities, which we hope will greatly help when we do have to introduce new features to support upcoming technologies.
So that’s more or less all I wanted to say, in a nutshell, apologies to those having transaction issues, the situation will improve soon, and we’re taking steps to prevent this situation from happening again.
Also: upgrade those nodes and wallets!