Dynamic plasma discussions

In the Dev Meeting #2 today, @MoonBaze proposed a solution to Dynamic Plasma. I will paste his ideas below. You can see the conversation starting here on Discord.

After thinking about it for a while, the question “How can we implement an anti spam mechanism?” transformed to “How can we make sure that a regular user can still make a transaction if the network is spammed?”. Implementation options that I considered were:

  1. Charging a fee for opening an account (so an attacker could not generate new addresses and spam from them). Every account would have a number of free (plasma / pow) transactions an epoch and after that they would have to pay for something like a slot of 200 (e.g) txs. So if someone wants to spam the network it would cost them.
    Cons: hard to implement, exchanges would have to pay, making it harder to integrate

  2. Changing the PoW algorithm with something like RandomX which is harder to brute force and sorting txs by their pow, but someone with some rented hardware could still keep the PoW to a level that is hard enough for a regular user, even half an hour of something makes the network unusable.
    [7:35 AM]

  3. Making the network feelessless . Removing plasma and pow, we would have something like ethereum but maybe qsr will decrease in value, we already are a feeless transaction.

  4. Having 3 as a seed, (this one I like the most and I already started playing with it), we could introduce optional fees. Think of a congested network with PoW / Plasma transactions by a malitios actor, one could send a transaction with some fee and have higher priority than him. The algorithm of sorting transcations in a momentum could have the following priority: embedded send, embedded receive, txs with fees, txs with total plasam, hash. In regular conditions no one has to pay but in a congested network you could and the attacker would just waste his resources. The fee level must be chosen to a level that if the attacker wants to spam the network with fees transactions it would still cost him (something like 200 base fee level will cost 1 znn)

What do you think? I already have implemented these fees and increased momentum by accountBlock sizes rathed than lenght. I tested with 1600 accBlocks per momentum already.