4

I understand the only thing limiting people from inserting, for example, a 180MB FLAC encoded recording of The Sign into the tx-extra field in a Monero transaction is the high fees they pay per kb.

Considering the v5 hardfork creates a new fee tier that allows very cheap transactions per kb, doesn't this create a new risk for inordinate blockchain bloat, where people could potentially include an abusive amount of data in tx-extra for very little money?

5

I understand the only thing limiting people from inserting, for example, a 180MB FLAC encoded recording of The Sign into the tx-extra field in a Monero transaction is the high fees they pay per kb.

That's the 2nd limiting thing, really. First, we'd have to somehow get to a block size median of min. 90MB. The dynamic block size and reward penalty make it expensive. Not only that, but 51% miners can veto a median increase even if there is enough fee pressure to justify an increase. Also, 51% miners can "reset" the median to a lower value and have the "attacker" work his way up all over again - paying the price all again.

Considering the v5 hardfork creates a new fee tier that allows very cheap transactions per kb, doesn't this create a new risk for inordinate blockchain bloat, where people could potentially include an abusive amount of data in tx-extra for very little money?

Well, it will not really be "very cheap". It will be exactly 4x cheaper than what it is now. It should create smoother experience for "normal" users because 4x multiplier will become wallet default (the cost/TX will be the same as it is right now pre-HF). We can assume pools will use 1x, so "normal" human-made transactions should skip the queue of pool payouts. Any "spam" at 1x would also not be felt by users sticking to the defaults as they would skip over the "spam". When the network usage would drop, it would make room for those 1x TX-es which could get into blocks - and so what? Some of them would be pool payouts, some of them could be "spam" but they would really achieve nothing other than writing some useless data to the blockchain.

Sure, if you want to systematically abuse the network, you could put whatever into the TX-extra and see where it gets you. You could also use a mixin of 10000 if you want to bloat the size of a single TX or you could spam the network with 10000 "normal" TX-es but if you want to prevent normal use you'd have to beat the default fee of x4, which is at around 0.3$/12kB. Chances are, the network would function just fine despite this spam so why would anyone bother?

Since Monero has strong privacy features, we can't really differentiate between transactions so some cost must be there to encourage rational use and that's all we can really do.

  • "Chances are, the network would function just fine despite this spam so why would anyone bother?" Adversarial parties could simply bloat the size of our blockchain, so it's too big for average people to use. If the new fee is 1/4 of what it is today, then you're looking at $8.30 per megabyte. This is what worries me. – user4 Mar 26 '17 at 5:27
  • 1
    Yes, and right now they can simply bloat the size with 33.2$/MB and yet nobody is doing it. My point is, it's not a good attack because it requires whomever is doing it to sustain it for a long time, and it's not like the network participants would passively sit and watch, and the damage it could do is questionable - so why bother? As a side note, a "spam attack" already happened in the past and the network was just fine. However, it was a prelude to a 2nd attack which caused a fork, but that bug is now fixed. – JollyMort Mar 26 '17 at 8:23
4

Two main reasons why this can't happen:

  • The block size can't grow from 60KB to 180MB abruptly, it has to be progressive (a new block can't be larger than twice the median size of the last 100 blocks)
  • The fee for that transaction needs to be more than the block size penalty incurred by miners, which wouldn't be the case for such a large block: miners would simply ignore the transaction.

One could imagine someone malicious growing the median block size progressively until it reaches an unacceptable size but it would take time and money.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy