Dynamic plasma discussions

  1. Spam/DoS Resistance

Nano has a unique transaction prioritisation system based on the last transaction time of an account and its balance. Through strategic categorization into specific buckets—determined by the larger of the two: account balance or transaction amount—we proactively prevent spam transactions from congesting the network. This method ensures genuine transactions are prioritised, especially from less frequently used accounts, allowing them to proceed without interference from potential spam.

In our pursuit of increasing DoS resistance, we’re drafting a peer rating system. This system will identify and manage peers that display irregular behaviours, such as sending improperly signed messages or excessively flooding the network. While the specifics are still under consideration, this measure aims to maintain network health by potentially limiting or temporarily isolating such non-compliant peers.


I like the idea of burning ZNN as transaction fees. This hybrid mechanism can protect the network against spammers. During peak tx periods, the network can shift to a fee based system.

It might be hard to detect spammers when the network is congested, but paying fees will discourage them and decongest the network:

Low usage => feeless
Normal usage => hybrid
High usage => fee-based system with prioritization

I also like the idea of lanes, seems very similar to Nano’s idea of “buckets”.

We can map some data points about an account and create a dynamic algo that can take into account both Plasma and fees.

QSR achieves equilibrium via Pillar slot burning.

We need to achieve Nash equilibrium for ZNN as well.

2 Likes

What is the point of having a bunch of QSR in circulation that can’t pass a transaction? Feels like the narrative is “fractional reserve utility”.

For a basic entrant, we’ll have ZNN, QSR, fusing, staking, delegating, plasma, bridging, extension chains, syrius, and metamask. By the way, we are feeless PoW/PoS except for when the network gets congested, or if people just use it a lot. When that happens, we have gas fees, just like every other chain.

If someone fuses a shitload QSR, why shouldn’t they be able to use the network within the maximum parameters, indefinitely?

If someone wants to perform massive PoW, why is that a bad thing?

See: “Don’t hate the player, hate the game.”

I think it is a matter of defining the dynamic parameters up to certain limits within which everyone can use the network in any way that they wish.

1 Like

Another out-of-the-box idea is to use the delegation mechanism to throttle bad actors.

  • Delegating your balance to a Pillar => vote of confidence => delegate action
  • Throttling accounts => punish bad behavior => throttle action

It is basically a p2p censoring mechanism. I don’t know the implications, but we can explore this solution too.

1 Like

This goes hand in hand with the “lanes” idea presented earlier. There are separated lanes that get wider or narrower depending on what’s happening within the network.

1 Like

If we did not have fees, I guess the only way to process a TX under heavy usage would be to generate more PoW or fuse more QSR. Or apply a time multiplier to the amount fused so (time waited) x (fused amount) = (adj)fused. Eventually the adjusted fused amount would be greater than the current fused amount and older TXs would get processed.

As our echo system evolves, Pillars or Service providers could provide a fusing service as discused today. Users of the network could pay a fee or delegate to pillars to have them process TX for users by generating PoW or fusing a lot of QSR.

Can we prevent abuse by applying a nonlinear function to the amount of QSR or PoW required to process more than one TX per momentum per address? That is basically what KASPA did to prevent dust attacks (but it a different way).

1 Like

For example, what if 50 QSR = high plasma.

100 QSR does not give priority over 50. 50 QSR gets you a ticket in the queue. Period.

The protocol and max parameters of a tx could be designed to assume that all of the QSR in circulation could be fused to myriad addresses, all of the addresses could submit an indefinite series of transactions, and everyone would get through, in queue.

Ideally, the headspace / max throughput of the network and the max transactions parameters balance out so that it takes seconds or less to run through the queue.

(circulating supply / high plasma) / tps = seconds to run through the queue at max usage (hypothetically?)
(29M QSR / 50 high plasma) / 100,000 tps = 5.8 seconds

Can we just start with small parameters that fit the current capabilities and use cases of NoM and then N&T or some other solution will enable the “100,000 tps”?

I think the amount of QSR fused needs to be a parameter otherwise you will just need to wait in line. And there will be no reason to own more QSR other than to launch pillars and sentinels.

What if the line is effectivelynever any longer than x seconds or 5 minutes or whatever?

If you want people to own more qsr then increase the requirements for high plasma. This probably necessary anyway.

What is the current effective tps of NoM?

If it’s 100 tps then 500 QSR (max) for high plasma would mean that if all 29M QSR were fused 500 QSR per address, a full capacity queue would get through in 10 minutes. (Very rough worst case scenario and not factoring PoW).

If it was just you and the spammer and the spammer had 28,999,500 QSR, to your 500, you’d have to wait 10 minutes.

This is my thesis on gas tokens on networks that tout being cheap. Nobody needs that much MATIC nor XRP.

I don’t think we’re necessarily looking for reasons for people to own bags of tokens. That’s the direction / frequency of thought that is going to make the whole narrative around tokens implode. We are getting a step ahead of this.

  • we could also have more meaning around low med and high plasma.

Advising participants that they correspond with network traffic and prioritization.

Are you suggesting we could use an address specific Plasma/PoW requirement based on that account chains usage?

that was my thinking. it could help prevent excessive TXs from one address. Maybe that would be more helpful to prevent PoW attacks. Not sure. It would be easy to spread out a large amount of QSR to thousands of addresses to avoid this.

Maybe this does not accomplish anything.

Everyone successful gets attacked. It’s just a matter of time.

https://x.com/THORmaximalist/status/1711010096371671373?s=20

Ok that seems like a strong approach to me. If the required pow/plasma needed is dynamic but based on the individual address throughput per momentum then there should be plenty of flexibility for other users to use the network without needing excessive amounts of pow or plasma.

Was it mentionned that we can lengthen the time for plasma to be returned to an address too? I could see that being another helpful measure.

This is where I was thinking. Instead of saying “if the network is busy you will have to pay fees” it becomes “if you plan to send more than x transactions within y timeframe you will have to pay fees”. Logically it makes sense the network is free for the average user - most would not need to make a transaction more than ever minute at the soonest - while enterprise users would need the high throughput.

Having said that not sure how we walk the line between fees being acceptable for enterprise use but prohibitive for spamming. More just thinking conceptually and how we can still claim a feeless network

2 Likes

What are all of the variables in the equation?

Can we list them all?

Which variables are programmable parameters?

What would a dynamic plasma equation look like?

Are there enough programmable parameters to work with, without adding another variable?

Keep in mind that one could always send to an address, receive on it, resend again and so on. He will always have a new address so “if you plan to send more than x transactions within y timeframe you will have to pay fees” will not work

‘Plasma lock’ could be another variable in the equation.

  1. Plasma recharge

  2. A plasma lock period that makes the plasma non-unfusable for a period of time. I’m sure we can come up with variables that fit within the feeless paradigm.

2 Likes

Possible to monitor creation of addresses by ip - get x free then pay for each additional address?

Could you require PoW to create new addresses and/or for tx above a certain threshold? Is this convo still going somewhere else or has it died?

2 Likes

I think people are still working on this for sure. I know @vilkris is thinking about this in the context of this Metamask Snaps for Zenon Sounds like he is making some new discoveries but no conclusions.

You can create as many addresses as you want without internet. It’s just a cryptographic algorithm that “creates” a new address.

Well the situation is that one side wants to implement dynamic plasma by adding optional fees, and the other side wants to explore alternatives that only rely on PoW and QSR fused as plasma.

I think both of these options still need a mechanism that balances PoW and plasma dynamically, so I would advocate to find solutions to that problem first.

In case people looking into dynamic plasma haven’t investigated Nano yet, I think we could get some good insights from them. They’re feeless and they use PoW as an anti-spam mechanism on their network and it has a lot of similarities to our PoW mechanism.

Apparently this is their current mechanism for tx prioritization (archive link because their forum is down): https://web.archive.org/web/20230426170346/https://forum.nano.org/t/time-as-a-currency-pos4qos-pos-based-anti-spam-via-timestamping/1332
Not saying we have to copy this, but it can give us ideas.

Yes and I’m theorizing that the use of pillar operated TX provider services could reduce the effect of heightened network difficulty on regular users using the provider services. Providers will be competing for delegators, so they’ll have the incentive to invest into PoW infrastructure/QSR and thus would be more capable of handling heightened difficulty in order to provide a smooth service for their delegators.

With that said I don’t have all the answers to how these provider services would work and it still needs more research to determine their feasibility.

5 Likes