I like your last bit and agree - but the devs and those who can read the code will always know. Therefore it must be transparent and fully understood by all, IMO - another reason to go for simple and elegant.
Important to minimize the ability for those who game the system to have an advantage. I'm thinking one way to do this would be to value zapping 1 sat the same as zapping 1000, for those who zap themselves back and forth. So 'if zapped_at_all = true' then 'tickets_in_reward_pool += 1'. each person ever zapped gets one raffle ticket for every time they get zapped. the idea being it costs more to spin up a new npub, and zaps 1 sat at a time for each npub will get costly. then redistribute to all whose raffle tickets get drawn, provably random (ish?) by open source + blockchain (?)
it must be transparent and fully understood by all
Something like you proposed could be equally understood by all and yet almost impossible to game by any. We would all know the set of possible rewards structures, but none of us know which one will be chosen. All we know is that they all have the feature "Zap more -> earn more".
reply