I would like to have a comparison between the privacy and scalability features of Monero vs Grin. I have heard some people say that these are privacy-oriented coins, and I would like to learn more. What are the meaningful privacy and scaling differences?
Pardon the image, but there is no way to create tables in StackExchange.
Grin's privacy is best characterized as "Monero with aggressive pruning and no ring signatures." Users who are unable to get access to old information cannot pull up past transaction information by looking at the current ledger state. However, those who receive transactions as they are broadcast can see the inputs and outputs for individual transactions. This effectively indicates whether outputs are spent, something that is not possible with Monero. Grin uses "confidential transactions," a technology that hides transaction amounts, nothing else. The output transaction graph is hidden through obscurity of information, not anything committed on-chain.
Monero's scalability has improved significantly over recent years. Transaction sizes fell from ~13 kB to ~1.5kB. Monero now supports pruning, allowing users to ignore most of the information for old transactions. Still, Grin allows more information to be pruned, and they prune it much faster.
I did not include network privacy on this chart, since both Monero and Grin provide network privacy. Monero provides support for Tor and i2p, and it later will provide support for Dandelion++. Grin supports Dandelion++, and users can use Tor or i2p if they configure it manually. Transaction network obfuscation is important, but it's less important for most people than graph protection.
I like to think of Monero and Grin as projects that are pushing the privacy and scalability boundaries, each beginning in different positions. Monero is focused on a privacy angle with scalability second, whereas Grin has the opposite focus.