Discuss interests of block producers / snark workers and outcomes including 0-MINA and 400-MINA snarks

We continue to see really expensive snarks sneak through a few times per month. I think this is assumed to be just luck. Continuing that assumption, if there is an (un)lucky race condition that allows these snarks to get through, I would like to be able to shun those snark producers. I know we can already configure the node to not accept a snark more than X; however, that only prevents my node from buying an expensive snark. I would like to punitively block all snarks from those producers that continue to take advantage of this.

This could be a simple list of blocked snark producer addresses, which would be disregarded and their snarks not forwarded.

1 Like

Good idea Jonathan, I think there are always going to be certain occasions that benefit from some kind of centralisation and things like this can only help the Mina Community. (see also blacklist scamming wallets).

with that suggestion you leave no options for a validator. my block won’t be produced because the only (though expensive) snark I need was filtered out.

That is a good point. Perhaps a better approach would be to get rid of the snarketplace altogether (at least the supply-side fee aspects) and let the snark fee simply be a percentage of the transaction fee. I’m not sure how that percentage should reasonably be set, perhaps somewhere between 50-100% of the transaction fee, based on snark availability? This could have a dynamic value determined by snark availability.

Or perhaps let the snark workers continue to set their supply-side fee as a percentage of transaction fee from 0-100%.

I prefer the protocol-determined approach as it should eliminate wasted work - instead of re-proving snarks that are already submitted at a lower fee, all snark workers would simply work on new work.

Now I need to change the title of the idea! (I will do that after another round of comments if there is traction for this alternative.)

1 Like

As someone who is not 100% up on the details on this but wanting to understand fully… essentially your solution could be rather than blacklist snark producers who set excessive snark fees, stop this happening by setting a limit on the amount a snark fee could be based on a % of the transaction fee?

Do you think there could be any possible negative effects to creating this within the protocol itself?

It may put upward pressure on transaction fees, vs. allowing snark prices to float independently. That independent float has been beneficial so far - the occasional expensive snark has been outweighed by the many free snarks.

It may be that the current construct is better, but it also includes a conflict of interest / zero-sum game built in between the block producers and snark workers. Currently, the block producers are winning.

I expect the balance of power to shift as volume picks up, with more snark workers charging very high fees when they get lucky, and block workers continuing to try to generate free snarks. (This presumes that the demand for snarks will outweigh the free-ride being provided by block producers currently.)

That pressure will generate more conflict between block producers (who may feel entitled to the full coinbase) and snark workers (who are tired of losing money.)

There are likely many other ways to align those interests and not put all of the pressure on fees. Another alternative could be to determine an equitable split of the coinbase to share amongst snarkers and block producers - perhaps based on the real-world evidence of expense ratios to compute snarks and create blocks. That would assume 0 Mina snarks, with the entire block reward being split on a pro-rata basis amongst included snarks. This again has the benefit of reducing wasted snark work.


I also realized the blocklist would be futile; it is trivial to generate a new keypair and just generate another new one every time you get lucky and get an expensive snark, so that’s a complete waste of time…

1 Like

Just saw this thread. I agree with all your points outside it’s a fight between snarkers and block producers. The high fees are not healthy for the ecosystem it’s not just about the block producers. Snark workers can’t win money without charging a lot of fees(What I mean is not by reaching unhealthy numbers for every user). The whole issue comes from that insane waste happening on snark work. From my point, it’s much more waste than pow. When snark is not used it doesn’t contribute to anything while in pow it helps to network by keeping difficulty high. That keeps the security of the network high. We need a complete rework of the existing snark system I really can’t see another way of it working out.