Oddbean new post about | logout
 Nice one @Karnage & @verbiricha !

Very cool :) I'm crafting some badges right now... is the badge creation/rarity processing load put on your server or does it run locally off mine? Chose to go Epic and wondering how long it'll take 😂😅

Once again, this is cool :) 
 LFG Tigs, the PoW is calculated on your computer in a very naive way rn so it will take a VERY long time for Epic and Legendary. In the future we could use a paid PoW provider, @mleku suggested this and I would gladly implement it client side. 
 Ah I see! By *very* long time are we talking ~24hours? I've got a fairly decent CPU so I don't mind crunching the PoW. Cool you got my PC doing the calcs... couldn't even tell :D

PoW Provider could be good, fingers crossed badges go wild! 
 Not sure how long it will take tbh, perhaps several days 
 it's a funny thing... it can be 5 seconds and it can be a week

i was vanity mining for my current npub and i'd probably run it for 2 or 3 days and then one day after i'd given up for a week i run it 5 minutes and bam!

it's hard to explain how it works but "a few days" "average" are quite vague compared to how it really works - "average" is the peak of the bell curve and that thin edge can mean literally weeks or seconds 
 Time to get a target difficulty is geometrically distributed which means that as the variance increases at nearly the same rate as the expected time as you increase the difficulty 
 there is zero guarantees about where your solution will fall, it just is probably going to fall around the middle of the bell curve for your target partial hash collision

my research and experiments with this kind of process show there is ways to make the curve taller and the edges lower (decreasing variance) but i don't think this can apply very easily to an irregular timing system like you have with nostr note ID hashes, the methods i discovered had to do with target variation over time, one that worked was a doubling series with averaging across multiple targets and another was the use of integrals, and i have read more about PID controllers and possibly derivatives can improve the timing of distribution if the integral has a noise filter added to it

prior to my foray into this area i knew about the principle of "mass action" in chemistry and it is also a similar thing that is the basis of statistical probability and the gaussian distribution (bell curve) but the only thing that improves timing other than varying your target in response to historical timing is increasing the number of attempts at finding a solution

so, i'm just telling you this because reality is not going to be what you expect, the numbers are too small to get such smooth predictable results 
 This seems completely wrong to me. How could it be anything other than Geometric?  I don't see how an experiment would even be necessary, it is self-evident. 

If hash functions are good than doing one hash will not help with the next, which will mean each is an independent trial from an identically disteibuted  bernouli distribution with p = 1/2^target_difficulty

where am I wrong? 
 lol, using AVX2 hash grinding is not difficult to set up, and if you want to go to a little more effort you can turn an old S9 into a hash grinder

unfortunately i think that once there's money in it, your little antispam mechanism is toast 
 I looked into this, bitcoin miners are not designed to calculate a single sha256 sum so I don't think they can be adapted for nostr POW.

And yes, but you just need a difficulty adjustment and all is good.