What are the key differences between Grin and Beam?

The next question comes from Colin. "What are the key differences between Grin and Beam?" Grin and Beam. These are not types of smiles. I will not try and [express] different smile types... because that would be weird and creepy. Grin and Beam are two implementations of the MimbleWimble protocol, which was proposed [in 2016], for a type of blockchain that uses some very interesting tricks with public key cryptography... in order to aggregate and summarize the intermediate states between transactions, massively saving space while increasing privacy. MimbleWimble was a proposal for a blockchain that achieves anonymous transactions -- where you can't track the amounts, senders, or recipients -- and at the same time... you don't need to keep the intermediate states of the ledger, effectively just an updated summary. This massively decreases the amount of space you need for the blockchain. It is a really interesting [solution to an important] trade-off because, until now, [there has been a trade-off where] privacy came at the cost of scalability. Many previous attempts at high privacy in blockchains, such as zero-knowledge [proofs] in zk-SNARKs, and other zero-knowledge proof based systems... Even [with] confidential transactions, one of the proposals for Bitcoin... The transactions are private, but their size can [become] very big, from 200 bytes to 20 kilobytes. That is about two or three orders of magnitude bigger [than the average bitcoin transaction]. But this [trade-off] has always been a problem. A lot of cryptographers and computer scientists have found ways to introduce privacy, but the trade-off has always been that it takes an enormous the data in order to do... zero-knowledge proofs, Bulletproofs and zk-SNARKs, etc. that you need [to use for it]. So far, the practical private blockchains have all been breakthroughs that reduced the scale impact. MimbleWimble used a different approach. The blockchain is summarised in such a way that... only a final state summary is kept. This is the best explanation I can give; it is a complicated set of mathematics that I don't quite understand, I will be very honest there. What I can explain to you is, with MimbleWimble, you can discard some of the intermediate states, massively compressing the blockchain. This is the first time we have a situation where privacy and scaling are both optimized at the same time. MimbleWimble was introduced [less than] three years ago by an anonymous contributor. Immediately, an effort was made to implement this.

Grin

The first effort, which started two years ago, is an open-source community project called Grin. It is primarily research focused to bring MimbleWimble to life by creating an implementation. Grin is open-source and crowdfunded. It has no pre-mine, no initial coin offering (ICO), no financial model to support development other than dedicated volunteers within the community.

Beam

Beam was started a year later with a different model. Beam has a foundation, similar to Zcash. As far as I understand, it also has a pay-out [to the Treasury] and has received venture capital investment. There is an organization that funds development of Beam.

They have two different approaches to governance

They have two different approaches [to governance]: one is a very grassroots, community development model that is mostly research search focus. The other one is more commercially oriented, intending to [create] a viable commercial product. Grin has a command-line interface [for Linux, OSX and Windows], which is not that easy to use. Beam has a full graphical user interface and mobile wallet, which is easier to use. They also have interesting differences in their monetary models. As far as I understand it, Grin issues [60] new coin per [minute in a linear], continuous issuance [schedule]. Beam's monetary policy is more similar to Bitcoin, with a fixed supply, where issuance stops [after 133 years]. The way these are [each] advertised or described by those developing them is, Grin is intended to be medium-of-exchange, and Beam is intended to be for store-of-value.

How will they play out?

How will they play out? I will not say which one is better or worse. These projects are very complementary. Grin and Beam are both open-source. Initially, Beam was not open-source, but they are now both open-source and exchanging code, learning from each other. In many cases, they are collaborating. They are trying to advance the state of the art in this particular area. They both implement the underlying MimbleWimble [protocol], with [some] differences between them. If you are interested, you can explore both of those. You will probably find it easier to use [Beam's] graphical user interface; with Grin, if you are more familiar with the command- line, then you might find that to be more convenient. One of them is [written] in Rust, and the other one [written] in C++. I believe Grin is [written] in Rust and Beam is [written] in C++. Different approaches in development as well.