Thread

Today we're going to talk a little bit about cryptography. This applies to Monero but also to Zcash, although in a slightly different way, but I'll stick to Monero. I am not saying that Monero is not private; in fact, it is very private. I am not going to deny the obvious, but I am going to explain why, in my opinion, Monero is not a good place to keep your savings for decades. I will try not to get too technical so that it is easy to understand. In Monero, two different things must be separated when auditing its supply: 1- Auditing how much XMR has been issued through mining (coinbase): This can be verified with a node (and is reproducible), because the protocol defines how much each block can pay, and the node can add up the coinbase rewards. This gives you a verifiable number of emissions per block. Adding coinbase is useful for mining issuance, but on its own it does not prove that coins have never been created due to a failure in private transactions. 2- Auditing that there was never hidden inflation in transactions Here, the honest answer is that it cannot be done with absolute certainty in the sense of being 100% mathematically provable by looking at the chain as public accounting, because Monero hides the amounts. In Monero's official post on supply auditability, they say it as it is: in opaque assets such as Monero or Zcash shielded, it is not possible to simply count the available supply, and therefore there is a risk of implementation flaws leading to undetectable inflation, flaws that could allow inflation undetectable by simple public accounting. They even conclude with the key idea: if you need absolute assurance of supply, that pushes you towards a transparent asset; if you hide amounts, you are shifting the assurance to the correctness of the proof/signature system. So how does Monero prevent inflation on a day-to-day basis? The nodes do verify that each transaction adds up, but they do so with cryptography: - In RingCT, the consensus verifies a balance equation in commitments (Pedersen commitments). - And it also uses range proofs (today Bulletproofs/Bulletproofs+) to ensure that the committed amounts are positive/in range and that you cannot sneak in negative or out-of-range values to fabricate money. In other words, if we assume that these proofs are correct and that the cryptographic assumptions hold, you should not be able to inflate the supply without the nodes rejecting it. Why is it still not absolute certainty? Because, as in Zcash Sprout, the hard problem is that if there were a soundness flaw or an implementation bug that allowed invalid but accepted proofs to be generated, the inflation could be undetectable to an outside observer who is just trying to add up coins, precisely because the amounts are hidden. So if there really was undetected inflation, then it is plausible that the cryptographic checks/tests as implemented at the time would not have detected it either. And, depending on the type of flaw, there is no guarantee that you can detect it retroactively today either. For this reason, Bitcoin did not and will not adopt these privacy methods because they would destroy one of its main features, the 100% verifiable supply.

Replies (78)

Bitcoin will not adopt privacy features because it is hijacked. If a proposal improves the protocol to be used as money, it will be rejected. PS. layer 2 solutions on top of a crippled protocol will not help.
I would add the privacy-verifiability duality to the blockchain trilemma. The trilemma is: -Security -Scalability -Decentralization You cannot prioritize any of these characteristics without harming the other two. Similarly, the privacy-verifiability duality means that we currently do not know how to make a blockchain private without compromising verifiability. The more private a chain is, the less verifiable it is, and the more verifiable a blockchain is, the less private it is: - Privacy - Verifiability You cannot escape this; it is mathematics. That is why many opinions about Bitcoin and other blockchains are dishonest, trying to sell you lies. In Bitcoin, security and decentralization have been prioritized at the expense of scalability, which is why a layered system such as TPC/IP was chosen, so that scalability occurs in layers L2 and L3, or whatever layers there may be. All blockchains that do not have L2 will compromise their security or decentralization in favor of scalability, as is the case with Monero. On the other hand, in terms of the privacy-verifiability duality, Bitcoin has prioritized verifiability, as it is totally unacceptable that there could be an undetectable bug and that its supply is not deterministic and fixed. If this were the case, Bitcoin would have no reason to exist. Other chains sell privacy and verifiable supply, and this is completely false; again, it's mathematics. What I am exposing is the lack of honesty. It's fine to have private blockchains; it's just another tool, but what is wrong is lying. View quoted note →
Despite the differences, it acts roughly like a coinjoin, but it is actually much better. That said, another proof that the supply is not verifiable is that we cannot perform sidechains such as Liquid with Monero's characteristics, nor drivechains (if we could) with Monero's characteristics, because we could not guarantee that 1 BTC = 1 BTC in the sidechain or drivechain; the relationship could be broken at any time.
Oh, I understand perfectly. You're rehashing the same old arguments. Yes, anyone with two neurons understands you have to trust a few extra equations. If those hold, you can validate the supply, which as I said, is what Monero nodes do all day long. It's not a great revelation bourne of a superior intellect that if the equations don't hold, the assumptions that rest on their validity will break. It's a redundant statement of fact.
And yet it's Bitcoin who's suffered from inflation bugs already and had to hard fork to rollback. All that transparency and "100% certainty" and what was the end result? Luckily enough it happened early on and no one cared, and fewer still even remember. If that happened again today, do you think, with all the stuff built on top of it, that it would be another simple "oopsie!" followed by another hard fork? Your argument: we need transparency to be 100% sure no supply inflation has happened! My response: 100% certainty that the supply *was* inflated doesn't save you, it's game over, even if you detect it. This being the case, why suffer from the *many* problems that deficient privacy/anonymity brings? In your rigid mind, there is no argument for it. You **presume** to know better, **when even Satoshi himself said he would've added better privacy had he known how to**. You are not as smart as you think you are, and you lack a great deal of humility too (a fatal combination).
Arguing with you is like arguing that 1+1 does not equal two. You have no humility because you are stupid, yet you are here to give lessons. You are so obtuse that you do not understand that inflation bugs can occur in Monero that are not detected by cryptographic proofs, and there is no absolute certainty that this is not happening. You are giving your opinion on computer science, and you are probably a plumber, haha.
Are you literally retarded, or are you arguing in bad faith? I've already run down the whole scenario for you in the previous replies. equations hold = you can verify supply equations don't hold = you cannot in Monero it's always a risk that in the end someone finds a way to violate the assumptions and can inflate the supply. in Bitcoin it's simpler but it can happen and *has happened* (supply inflation). and you didn't answer my question - are you smarter than Satoshi, who was clearly troubled by the lack of privacy in Bitcoin and understood it wasn't enough? or smarter than Hal Finney who realized after about, erm, *one* transaction that Bitcoin needed more privacy too? and yet here you are, years afterwards, and you *still* cannot see it. but it's *others* who are "stupid" and "ignorant". you literally think you know better than Hal Finney, Satoshi, and all the O.G cypherpunks who knew that a digital cash without privacy would not work. the sheer arrogance!
That's all you do, isn't it? Move the goalposts, throw insults, divert, deflect, distract, evade. You think it makes you look smart, it just reveals your hubris and insecurity. You turn everything into a personal argument and constantly insult others, always think you're more than, better than - when in reality you can't have a simple, rational argument without your emotions poisoning the well. One doesn't need to understand much about psychology to realize where it all comes from. Really ask yourself one of those days why you feel the need to feel superior all the time. It might just be the beginning of wisdom for you.
**Dude, I know**. Actually read what people write! I'm the first to tell you **it's a tradeoff*. The only difference is you think it's not a worthy tradeoff, and I think it is. Hal Finney, Satoshi and the rest of the crew thought so too (that having privacy *is* a worthy tradeoff). I don't say that to engage in a fallacious argument from authority, I highlight it to - hopefully - make you see that perhaps there is more to the question than meets the eye. also, you did the exact same thing again: evade, deflect, divert, distract.
🛡️
nocoiners think that digital money is ridiculous. how can a chain of signatures be money? Bitcoiners have learned to trust cryptographic primitives and understand that no one can steal your Bitcoin. Monero people have learned to trust more cryptographic primitives. They understand you can verify more than just basic ownership. The number of people willing to trust cryptographic primitives over time will only increase. Bitcoiners are the Nocoiners of 10 years ago.
🛡️
I get the argument here, but it's a huge lift to get up to speed on monero's extra primitives, not to mention it's history as things have changed numerous times along the way (from my limited understanding). There's also the simple argument that I can't fully shake, that digital scarcity can only be created one time. Not trying to rely on religious-style maximalism, but it's kinda hard to ignore the underlying message on that one, for me anyway.
Things haven't changed. All privacy coins that hide amounts, including the Liquid sidechain, are vulnerable to hidden inflation problems. I'm surprised that Monero's own followers deny this when it's clearly stated on their own website. And I'm not basing my opinion on what the website says, I'm basing it on the technology. I also see that many people are expressing opinions about computer science when they're not even professionals in the field.
🛡️
I think they'll reluctantly admit it if pressed, but not early in exchanges as it's easy to see why they would think the surface-level reader (like me) would quickly dismiss their arguments without a deeper understanding. So they tend to see it as FUD that less researched people fire off at them without really knowing what they're talking about. My take, anyway. I've found several of them to be pretty good faith arguers if you get a bit further into the weeds with them, and I always learn something new from the exchanges.
🛡️
as I understand it, the maxi thesis is "for supply audibility purposes, transaction amounts on a blockchain cannot be hidden. they must be transparent." I think for Bitcoin, which is the first to mover in a new technology space, this is necessary. it is so different and understanding it is so challenging that nobody would ever use it if amounts were not transparent. but. I reject that thesis as axiomatic. as technology ages and we begin to understand it better, the attack surface becomes better known. A blockchain is not a complicated data structure. people will trust MORE and DIFFERENT cryptographic primitives then Bitcoin has implemented as time goes on. this includes cryptographic primitives that verify supply. fun fact, both Monero and Bitcoin have had inflation bugs. monero's was detected (a "hidden" bug) and provably not exploited. Bitcoin fixed the bug and reorged out the chain with the created coins. On Bitcoin, how do you trust the cryptographic primitives that create a wallet and the addresses to be unique and guarantee that only you can spend your coins? how do you trust that when you send a transaction it is properly assigned to the destination? probably you know a little bit about the general theory and you trust the community to do the rest. after all it's mathematics. if there was an implementation flaw, the community would fix it and recover. it isn't any different with Monero vis a vis supply. The attack surface is finite and, if the implementation is correct, the supply is guaranteed by mathematics. now, maybe we don't trust the community to correctly implement it. maybe we don't trust that it's been an existence for long enough to be battle tested. these are reasonable objections. but I'm not seeing these reasonable objections. and simply saying " a blockchain should ONLY have transparent amounts because we can never trust the supply" is only a luddite view. the problems we will encounter and the errors we will make are finite and knowable things. #bitcoin #monero
Some fair points. But I don't see why everything must be done on a single. And I don't see how you can have it all that way. There are tradeoffs with any implementation. I'm still more in favor of Bitcoin adjacent solutions than using an entirely separate thing. I'm also in favor of having options for people to use, including Monero. I don't see why this is such a big issue for people. Use the things that best suit your needs and desired tradeoffs. There will never be one perfect option that serves every need.
🛡️
Good points. Ones we've covered here and there in our interactions I think. You have to concede that the attack surface is larger with monero, for inclusion of extra/newer primitives that are less battle tested, as well as the fact that IF someone found a txn bug they could exploit they could get away with it more easily due to the private nature of txns (kinda picked this up more concretely from OP, and stuff I'd seen Todd post which we talked about in past). Yes? Add to this the fact there are far fewer eyes on this stuff than bitcoin and I get a little nervous, as a somewhat nontechnical person. You're no crypto pro or developer either, iirc, so aren't you the one doing the extra trusting? Sorry, that is slightly rude way to make my point, but I'm typing in between work stuff and a barking dog, so don't feel like editing. Then there's the non-technical side of things, that's pretty convincing to me. First mover, shelling point, one-time digital scarcity discovery, no inflation (after 2140 if you wanna be annoyingly pedantic), bitcoin at "layer zero" is an idea... that sort of stuff, which gives me further confidence.
🛡️
obviously the attack surface is larger. but when we get into the specifics (which you'll note @Cyph3rp9nk will never do) we find that they aren't THAT new and theres ARE a lot of audits and eyes on them. and monero has been running for 12 years now. which isn't to guarantee of anything, but it sets the floor for *deciding where to place trust.* it's the sort of thing we all have our own journey with, as with Bitcoin. we've looked around and thought about it enough so that we are confident no other wallet is going to steal our UTXOs. not because we've personally audited the code but because we trust the community to do it. I've been hanging out in the Monero community for 8 or 9 years now. I feel confident trusting them. if there's an implementation failure or a design flaw, there could be an exploitable supply inflation bug. this is where I remind you that it isn't any different on Bitcoin either, if there's a implementation failure or design flaw somebody might be able to steal your sats. Yes the attack services greater, but that doesn't mean we're just going to stick with the minimum viable product for the rest of existence. eventually we're going to move past that and start trusting more complicated things. That's really all this boils down to trust in the end. homeboy is saying " I don't trust the Monero community and the additional complexity ". That's fine. nobody should trust it if they're not comfortable. JUST like nocoiners with Bitcoin. but to just say " there shouldn't be hidden amounts on a blockchain " as an axiomatic statement isn't thinking very clearly.
🛡️
"Homeboy" seems pretty clever to me, though may be doing a bit of messaging/engagement-posting, rather than looking for a protracted discussion (no offense, homeboy). I'm happy to get into it with you in the comments though. even though I'm not quite on the level of others in terms of what I understand, I appreciate the back and forth. And fwiw, I find a lot of your points pretty compelling, and since I wasn't around that early, I haven't had the "everything but bitcoin is a shitcoin scam" debates all that much, so it helps me better appreciate some things I kinda just took on faith previously. I approach it all with a huge amount of caution for two reason; Bitcoin blind maximalism has historically proven quite to be a solid North Star, and the greed factor of small market cap alts like xmr tends to blind one to careful reasoning/vetting. And thirdly (lol) I don't wanna seem like a shitcoiner in front of all my maxi role models :) 🥂
Might make sense for some people. Still, there will never be a single stack that has it all. I only chimed in because I watch these debates as they cross my feed and I'm always left wondering what the aim is. Like we have Bitcoin. We have Monero. Some people use one, the other, both, or neither. I just wonder what the point is of having Bitcoin if you just want to turn it into something else with different tradeoffs that already exists anyway (Monero). Same for the people who think Monero should be Bitcoin. The two separate things exist because neither of them can have every element in one package (as far as I can tell anyway). So what's the goal? Like I'm not mad that Ford isn't Toyota. I just don't buy Ford or whatever. I love Toyota but I also love my Nissan truck so I use that too. I'm curious what your aim is. Do you want Bitcoin to become Monero? Do you want people to just not use it at all and switch to Monero? Do you just like arguing? Educating? What should I take away as a spectator?
🛡️
it's because he's not really a technical person, He's a based lifestyle engagement guy. but he's come a long way to understanding it, to his credit, although it obviously hurts his pride that he's had to adjust his position. I appreciate going over it too. it really helps me understand it to talk about it.
🛡️
I have these conversations so that the people who are lurking learn about the topic. also because I want to move the overton window in the Bitcoin space away from NGU and towards private self-soverin usage. I don't think there's any realistic possibility it will implement substantial change. mostly I just dislike tribal affiliation and discussions that aren't fact-based.
This is what I mean when I talk about unproductive exchanges. I just don't understand the vitriolic attitudes between Bitcoin and Monero users. They both have tradeoffs. The technical aspects of Monero is not within my lane, but I could see it as a user back when I was. Bitcoin has some too, which is why I'm a proponent of other "layers" for lack of a better term. Tools, whatever. I'd feel dirty if I used Ethereum. I wouldn't if I used Monero. That's all I need to know as far as what's a shit coin and what isn't. And honestly, as tools get better, I can see myself using both side by side to some extent if the conditions make sense.
I think part of the problem is that this stuff is a religious/ego issue for some people. They conflate who they are with a computer software and that can lead to these sorts of interactions, I think. Ad homs in place of reasoned positions. Alas, I'm as guilty as anyone of poorly communicating at times. I just hate to see it and wonder where it all comes from when we seem so closely aligned otherwise.
🛡️
Gotcha. I was playing into it a bit for that reason. And it's also a bit truer of my actual thoughts than I care to admit. I've never been a huge fan of the "toxic maximalist" shouting down everything culture, though I think it only became that in later stages with wider adoption. I think it's mostly a cover for not having technical or economic etc chops to debate, mixed with personal economic incentive blinders. It's complicated I guess. The usual cover is "I don't want newbs to get rekt" but it's become a way for idiots to get attention and feel like they win arguments (on Twitter), imo.
🛡️
See also religion, vehicle brands, operating systems, text editors, or anything else you can dream of really. People love tribing up. It's in our nature. Then the Internet ramps it way up. Lack of clues like body language lead to misinterpreted text comms. Removing the fear of being punched in the face also lets people talk in ways they never would in person. Maybe the Internet was a mistake 🤣
There are things like Ring Signatures that already existed, other things came up later but had certainly never been implemented. At the time, there was also a conversation in Bitcoin about why all this wasn't being implemented, and the answer is the same as I explained above: if we implement this, then we can no longer guarantee that there will be a maximum of 21 million Bitcoins. The problem with hidden inflation is that it can occur without you realizing it, no matter how many cryptographic proofs you have in place to prevent it. It is a risk, hence the privacy-verifiability duality.