I recently read the grin/mw whitepaper by Poelstra and love the idea of removing data — I then briefly played around with Grin++ and one of your community members was kind enough to send me some GRIN!
Anyway, I would like to write an article about Grin, but first want to make sure I know what I’m talking about. Feel free to give me any resources that you think might be useful.
Some questions that come to mind:
Is Grin soft-fork only?
What do you think are the most exciting things to look forward to regarding Grin?
Would anyone here be willing to proofread and give their opinions on the article before I publish it?
Would it be profitable to mine GRIN? My current electricity costs are around 10 cents/kwh. I’m planning on buying the majority of the coins outright but would also like to add to the security of the network as long as I can break even.
Also, please let me know if I have my stats right:
blockchain size: ~3GB
block height: ~2,133,981
block time: ~1 minute
emission: 60 GRIN per block ∞
Is there any place that has all this information live and readily available? For example, in Pirate Chain we have: $ARRR PIRATE Stats and $ARRR Anonset
no coin is soft-fork only imo, some just prefer soft-forks over hard-forks and vice-versa. Imo it all depends on the importance of the change and the difference between the soft and hard fork solutions. When possible and the code is not total spaghetti then soft-forks are probably preferred although they both have pros and cons.
linear emission from start, interactive transactions, good enough privacy.
Some useful info can be found here, some emission info can be found here (haven’t verified its correctness)
It is understandable that most altcoins take the hard-fork route (“move fast and break things”), but I highly prefer the soft-fork approach of bitcoin and litecoin.
Do you really think interactive transactions are a positive? As far as I can tell, interactive transactions are the one major drawback of Grin.
Bookmarked your links and will give them a look over the weekend. ツ
imo “move fast and break things” has nothing to do with whether one chooses soft-fork or hard-fork as a way to introduce changes. Move fast and break things is imo more when people introduce changes without proper testing or even without knowing whether that’s actually something they need to have. Theoretically hard-forks are always the right way, the problem is just that they require people to upgrade + their code must not introduce some unwanted consensus changes (soft-forks can’t corrupt the consensus, unless they’re mistakenly implemented as hard-forks :D).
there are pros and cons to both, i prefer interactive because of the following pros:
you have full wallet control (not only of outgoing coins but you can also deny any incoming coins → spam scam protection, spy protection)
you can commit to transaction content (in non-interactive you can commit only to amount, not to what’s actually being paid by this amount)
I disagree here — because words have meaning. A hard-fork, by definition, breaks backwards compatibility. Again, this boils down to words having meaning.
If my node is online — and someone sees that my address is online — they can still send me funds, no?
In any case, a few more questions that came to mind:
What is the smallest unit of GRIN? Is it 1/100,000,000 like most other coins?
Do you think I should make a separate topic for the article? I’ll make one general post about the structure / main idea behind the article and then we can all work on it together.
Why would you leave your wallet online, if you didn’t want anyone to be able to send you coins?
That said, even if you only turn your wallet on for a few minutes to receive a TX, you could still get spammed if an adversary sees your wallet come online. For this, I would like two wallet features:
do not accept TXs that send me fewer than X grin
do not auto accept any TX. Prompt me for confirmation before proceeding to accept someone’s coins
they break forwards compatibility, here is a good explanation of what that means.
currently if you listen through tor then yes, because wallets have autoreceive functionality - i’m against keeping this functionality for various reasons (hides signing, allows spam attacks etc).
instead of 1/100,000,000 it’s 1/1,000,000,000 or 0.000000001 grin (called nanogrin).
Assuming I were to fall into a multi-year coma, the only coins I would really feel comfortable holding in cold storage at this point would be bitcoin or litecoin — precisely because of their soft-fork culture.
So currently there aren’t many advantages while there are some clear disadvantages. I think most people would agree that interactive transactions are a drawback — as is the case with LN.
I think Grin has value despite interactive transactions. ツ
I think Interactive-only transactions are yet another good thing Grin comes with. There was a lot of complaining from all sides, but I honestly think people were just too used to the Bitcoin transacting model and immediately thought this was inferior model because you can’t send coins to someone without their consent. It certainly comes with tradeoffs, but I think this is actually a better design for many reasons. I’ve yet to see someone complain about cash being interactive.
Well right now you can still send someone coins on Grin without their consent as long as they are online, so this point is mute unless wallets stop having autoreceive functionality. Besides, you can easily have full wallet control in non-interactive chains by making different addresses for different use cases.
I don’t think it’s about consent. It’s mainly about convenience and ease of use.
With litecoin, I can consent to someone sending me funds without being online. I can put up a donation address and have funds come in while being offline. This is an advantage.
But let’s forget about my opinion or your opinion. I think it is fair to say that the vast majority of people out there would consider non-interactive transactions to be much better. There’s no need to do mental gymnastics and portray an obvious drawback as a positive. Grin is valuable despite the interactive limitation.
It’s impossible for you to send me grins even if you knew my address. The protocol ensures you can’t do that. You’re referring to the wallet’s implementation of listen command that auto-confirms any receive transaction, but that’s just one of the possible implementations.
I’ll agree to disagree on this one. I honestly believe noninteractive transactions on MW are a mistake.
There are several advantages of interactive transactions [1] that I think are no less important than being able to refuse payments.
If you have ever sent “test transactions” in bitcoin to make sure the receiver can spend their to-be-received funds, then you’ll appreciate interactive transactions giving you this assurance without any additional transactions.
It certainly doesn’t ensure you can’t do that. If it did, the auto-confirm feature at the wallet level would be impossible. In practice, many users can still receive transactions without their consent just by being online.
I can think of several advantages of having interactive transactions.
I can also think of several advantages of having non-interactive transactions.
I do think we should be honest about those pros and cons. More importantly, I don’t think everyone who holds coin X needs to pretend that everything about coin X is a great thing. More realistically, there are trade-offs. For example, one thing all privacy coins lack is complete supply auditability. It would be absurd to argue that the lack of supply auditability is actually a good thing. Instead, it is a trade-off that some users are willing to make.
The value of Grin/mw in my opinion lies in being able to reduce the size of a transaction while simultaneously improving privacy. This is in stark contrast to other approaches that dramatically increase the size of a transaction relative to transparent blockchains (e.g., monero or Pirate Chain). Interactive transactions are the trade-off we make, but to pretend that most users will actually come to see interactivity as a net positive just isn’t realistic.
Doing soft-fork means your node might say the tx is valid when in reality it’s not and will get reorged (that property is not good no matter how you look at it). The reality is that all coins will hard-fork from time to time, even bitcoin will when it will need to become quantum secure.
In nitx each address you create can be spammed and you can’t do anything to prevent that. Full wallet control means that other people can’t put money in your wallet unless you approve, so if the chain supports nitx then you can’t have full wallet control.
there are some clear advantages for future use, it’s important not to ignore that. Most people have no clue how this tech works and would complain when they would send to wrong address or get spammed → the tech needs to be designed so that such mistakes are not possible or at least to minimize the probability of them happening
that’s true, that’s one of the advantages of nitx. Another example is sending to your own cold wallet (although the protocol doesn’t require for cold-wallet to be online on grin, the wallet implementations don’t yet allow you to pre-generate some data which would make it possible to send to cold-wallet without it being online).
It’s important to note that vast majority of people don’t understand the difference between itx/nitx, possible attacks on each etc, so their input is mostly only valuable in terms of UX (which i agree is important). But the fact that knowledgeable people disagree on whether only nitx or only itx is preferred means that nitx is not clearly better than itx (and vice-versa).
exactly, that’s why i don’t understand how you can be so sure that nitx are better than itx when both have some big pros and cons. Another good source of education on itx vs nitx can be found here
it’s true, but if you prove that rangeproof implementation works (paper + code) then you could verify supply in grin, so it’s not that bad imo, but certainly not as good as if amounts are visible.
I think the long-term plan for bitcoin, at least the way maximalists see it, is that the UTXO set will eventually be transferred to a whole new chain. In any case, it’s clear bitcoin and litecoin are on the conservative side of the spectrum (soft-forks highly preferred) while the typical shitcoin is far more relaxed about losing people’s money.
Yes, and this increased level of security is a good thing in my opinion. For example, I can have a cold storage address that no one has ever seen and send funds there from my hot wallet periodically. I can check the balance of that cold address with a viewing key (while the private key has never been online). In terms of security, that is clearly superior.
I’m looking at this from the perspective of money, which is a (1) medium of exchange, (2) store of value, and (3) a unit of account. NITX is clearly superior in terms of (1) and (2).
(1) By definition, NITX allows for more exchange to happen. It is less likely that both parties of an exchange are simultaneously online. Therefore, by definition, less exchange will happen.
(2) NITX allows for easier and more secure cold storage solutions.
To put it another way:
physical cash: must be sent offline
They don’t need to be. Just like we don’t need to be on the grin forum simultaneously to have this conversation.
Grin supports viewing keys as well.
Also, with interaction, less transactions will happen because many people will omit the test transactions they tend to do in bitcoin because of the perceived danger of sending funds to the wrong place.