GRIN Review: MimbleWimble Based Privacy Focused Crypto
Grin is a project that has had many cryptocurrency enthusiasts smiling thanks to its primary features - cutting edge privacy tech built on the Mimblewimble protocol.
Recently I did a review on Beam, another well known implementation of MimbleWimble. This got me really interested in the protocol and hence I decided to take a look into another popular WM implementation.
So, can Grin really compete and should you consider it?
In this Grin review, I am going to be taking an in-depth look at the project. I will also take a look at the adoption potential and use cases for the GRIN coin.
What is Grin?
Before we can take a look into the technology behind Grin, we have to understand what are the main ideas that are driving the project forward. This is a project that is entirely community driven and as such has to rely on the these general guiding principles:
- Strong privacy by default. This gives Grin complete fungibility, and the ability to release information as needed is built into the blockchain.
- Rather than scaling based on the number of transactions, Grin scales with the number of users, which saves space on the blockchain.
- The blockchain has a simple, yet elegant design that permits ease of maintenance and easy auditing.
- Strong cryptography provides security.
- The entire project is community-driven, and the blockchain is focused on mining decentralization.
So, these are pretty straightforward goals that may seem easy to achieve. However, there are often a number of competing factors at play that make it harder to realise in practice. For a simple example, you the blockchain Trilemma - the notion that scaling, security and decentralisation are a trade off.
However, Grin has some unique features which place it in a strong position to achieve these goals.
- Mimblewimble Protocol – The Mimblewimble protocol is how Grin provides privacy by allowing transactions to be verified while hiding the user and amount details. Grin uses Pedersen Commitments as a way to hide these inputs and outputs.
- Scalability – Because Grin stores only the unspent outputs and small kernel of data for each transaction it is able to slowly grow blockchain data and scale based on the number of users rather than the number of transactions.
- Organic Launch – Grin launched with no pre-mine and no ICO, nor does it allocate a portion of mining rewards to the developers or an organized Foundation. The entire project runs on donations, and the team has pledged to never acquire any capital with the expectation of future returns to influence the decision-making process.
- Cuckoo Cycle – The Cuckoo Cycle is the algorithm behind Grin’s proof of work consensus mechanism. It uses memory bandwidth rather than processing power, which allows it to maintain highly decentralized mining.
Now that you have a general high level understanding of the Grin project and its main features, we can dive into some of its more advanced technology.
It should be noted at the outset that the nature of Grin is purely transactional. There is no capability for adding additional data through scripting, which means the blockchain won’t be used for smart contracts or dApps.
Grin wasn’t designed to be a store of value like Bitcoin, and the developers wanted to discourage speculation so Grin was created with an infinite supply and annual reductions in inflation to encourage spending rather than hoarding.
In usage, the transactions in Grin are quite unique because they contain no addresses or amounts. Plus, two transactions can merge in a block to form just one transaction, thus removing any intermediary information.
Each Grin transaction has three pieces:
- A set of inputs which reference and spend previous outputs;
- A set of new outputs (referred to as Pedersen Commitments);
- A transaction “kernel”.
In such a scheme there is only one way to see the inputs and outputs of a transaction, and that’s to be a direct participant in the transaction.
To those who aren’t directly involved the inputs and outputs look like random data and they have no meaning. Finally, the added kernel contains additional transaction data such as the signature and any mining fees.
By using this unique type of transaction and a unique block format Grin achieves its scalability. The scheme uses outputs to be spent by inputs, which then allows them to be removed from the blockchain, which works to keep the amount of data stored by the blockchain relatively small.
This is the key to how Grin scales based on the number of users rather than the number of transactions. Because the number of users is equal to the number of unspent outputs, we don’t need to include individual transaction data in each block.
In this scheme a block in the Grin blockchain consists of the following elements:
- A header;
- List of inputs after cut-through;
- List of outputs after cut-through;
- A single kernel for the entire block;
- A kernel for each individual transaction contained in the block.
The term “cut-through” used above means the process of assembling inputs or outputs of transactions into a single set before adding them to the chain.
Consensus in Grin
Grin’s consensus algorithm is called Cuckoo Cycle and it is a type of Proof-of-work algorithm that was specifically designed to be ASIC resistant. It pulls this off by being a memory-bound algorithm that uses memory bandwidth to determine solution time rather than being dependent on GPU speed or processor power.
This makes mining with Cuckoo Cycle less energy-intensive and allows users with regular GPUs and CPUs to mine Grin coins. By avoiding ASIC mining and opening up mining to a broader variety of hardware the Grin team believes mining will see an increase in decentralization as opposed to the increased centralization that’s been seen in other PoW blockchains.
Grin’s implementation of the Cuckoo Cycle uses a difficulty target that evolves based on the network hash power that’s available. This difficulty target has been implemented to keep the block solution time within a given range, which is currently 60 seconds.
The Grin Team
Because Grin was not developed by a single company or entity there is no CEO of Grin, nor is there even an official team with a head of this or that. There are several companies that have been backing the project, but none of them control its direction.
The Grin Github shows 79 different contributors to the project since October 2016, and all of them are volunteers who are either unfunded or funded through donations from the Grin community. The vast majority of the commits have been made by six individuals, all of whom remain anonymous, with no public profiles available.
Besides the large number of private individuals who have donated to the Grin project, there have also been donations from several mining pools, and exchanges, including Spark Pool and bminer on the pool-side, and Gate.io and Poloniex on the exchange side. The Qtum project has also been a contributor to Grin.
Grin General Fund
I cannot mention donations without talking about the Grin General Fund. These are the funds that are used in order to cover the costs of general development on the protocol. This fund is managed exclusively by the Grin technical council and all of the spending decisions are made public.
If you wanted to donate to the Grin General Fund then the two options that you currently have are through Bitcoin and GRIN. For example here is their Bitcoin Legacy address which shows that they have about 13 BTC at their disposal - so pretty sizable
GRIN vs BEAM
Both Grin and Beam are aiming to provide the best transactional privacy-by-default cryptocurrencies, but they go about it in different ways.
While Grin is basically a community-driven project that relies on community consensus and donations to operate, Beam has taken more of a start-up model that allows it to make decisions and ship code faster, as well as giving it an advantage in hiring employees which includes a sales and marketing team.
Which model is better? That’s clearly a toss-up and depends on the perspective of the person considering the two projects. The community model holds true to the original ethos of cryptocurrencies, but the start-up model is far more functional.
Ultimately it depends on whether you value the community-driven model for blockchain development or the start-up path that leads to faster development and increased innovation.
The GRIN Coin
As of November 2019 there is a circulating supply of GRIN of 25,313,340 at a price of $1.20, giving the coin a market capitalization of just shy of $30.5 million and making GRIN the 127th largest cryptocurrency by market cap.
New GRIN coins are released at a rate of 1 per second, and this release rate is expected to remain constant forever, which will give GRIN a constantly decreasing rate of inflation as its circulating supply will continually grow.
If that remains true the inflation rate of GRIN will drop below 10% after 10 years, and 10 years later it will fall below 5%. It will continue falling like this for as long as GRIN remains a viable project.
The first date of trading for GRIN tokens is listed as January 27, 2019 and the opening price that day was $9.96. It hit its all-time high of $14.87 on the following day and has been headed lower for most of the time since. On October 25, 2019, it printed its all-time low of $0.870336 and has since rebounded to $1.25 as of November 6, 2019.
Trading & Storing GRIN
GRIN is supported by a fairly large number of exchanges, but by far the largest trade volume is on the Hotbit exchange. That’s followed by MXC and Bitforex. There’s also acceptable volume on DragonEx, Gate.io, and Poloniex. Other exchanges supporting the coin have very small trade volumes.
For storing your GRIN coins, if you choose to buy or mine some, there are two stable wallets. One is the official GRIN wallet, found here, and the other is called Grin713 and is based on the official wallet, but is purportedly easier to use. It can be found here.
There’s also a Grin++ wallet, but it is still in beta and the developer recommends it not be used for mainnet transactions. You can also find discussions of individual wallet projects at the Grin forums. For those who prefer a mobile wallet Ironbelly is in development.
Grin Development & Roadmap
Given that Grin is a completely open source project, it means that the code is open for all to review. This is also great for me as it means that I can take a closer look into the development work on the project.
As mentioned above, there are over 79 different contributors to the Grin GitHub which means that there has been a steady flow of commits. Below are the code commits over the past year to their core repo.
In fact, for a project that has no dedicated "core" team of developers, Grin has been quite active in development output. If we were to compare it to other projects in the space it is ranked at 35 in overall development output.
When it comes the roadmap, the Grin developers have reached out to the community about things that they would like to see in the 2020 roadmap.
Some of the most notable suggestions here were to focus on Atomic swap development to facilitate off-chain transactions between BTC, ETH & GRIN. There were also some ideas about having the lightning network implemented on top of GRIN.
Of course, given that this is open to the community, you can even jump into the Grin Gitter and suggest what you would like to see. If you wanted to keep up to date with developments then you can follow their official news feed or Twitter.
Along with Beam, Grin is one of the very first implementations of the privacy-focused Mimblewimble protocol. Its mission is clear, to be a transactional coin that allows for privacy and scalability.
All of these are highly desirable traits for cryptocurrencies, and as long as other blockchains face issues in successfully achieving scaling and privacy Grin stands a chance at mass adoption.
That said, the project does face stiff competition, especially in the privacy coin space, where projects such as Monero have a huge headstart. There are also projects such as Litecoin which are far ahead of Grin and plan to implement Mimblewimble themselves.
We’ve already seen how the high initial inflation of the Grin monetary policy is leading to constant selling by miners. This is currently depressing the price of GRIN coins, but as time passes the inflation rate will improve and prices for GRIN should begin rising. That will reward those who had the patience to hold their GRIN coins while inflation was high.
The Grin community likes to point out that Grin was launched without an ICO, pre-mine, airdrops, or reserved rewards for founders and developers. This makes Grin fair and equitable for all users.
However, the huge competition in the blockchain space in 2019 means just being fair isn’t enough to gain traction and build a large community. Still, Grin has been quite successful in building a community in its first year of existence.
Grin is an extremely young project in the young cryptocurrency space. It will take some time to see if their goals of scalability, decentralization, and privacy are realized and if they help Grin become one of the most used transactional coins out there.
Disclaimer: These are the writer’s opinions and should not be considered investment advice. Readers should do their own research.