Oddbean new post about | logout
  @brugeman I read about the Spam filter you have build for nostr.band.

I think it can be improved using this algorithm

https://github.com/pippellia-btc/The-Problem-of-Spam 
 Thanks for this input.
1. Donation must be a burn, not a transfer, otherwise there will be wash transfers. The simplest burn to make is to run some PoW, so for new users that have no reputation I don't think there is a better costly signal than publishing a PoW event. 
2. I agree that local trust score is the right solution (I think people refer to it WoT, but it's vague), and we're experimenting with applying TrustNet (https://cblgh.org/trustnet/) on the client so that users wouldn't have to rely on our opaque global trust rank. 
 1. The algorithm was designed specifically for @geyser , so that's why there is the condition of donation at the beginning.

The user is donating/replying *to someone*.

As you pointed out, if the user is posting, than there is no donation to someone else, so that can be replaced by a PoW msg.

So smth like:

- if post
    > PoW • c > t
- if reply
    > sats  > t

c is a conversion factor based on the hashrate and issuance of bitcoin. 
 If donation is verified by the platform (geyser) then it's fine (for that platform), although not decentralized - others can't verify the donation was made without trusting geyser and integrating their api. 

PoW is trivial to verify by anyone, and trivial to execute (no need to setup LN wallet etc) - although as mentioned elsewhere - there will be PoW marketplaces which means people who have access to them (and to LN to pay for them) will have several order of magnitude cheaper PoW. Plus that's a burn - it actually boils the oceans for the sake of it. So overall, I think PoW has it's place only for new/anon users with zero reputation (who are ready to "pay" to bootstrap), after that we should use other signals - content and links (trust ranks). 
 yeah, I see your point and I agree.

anon have to prove something, unless their global trust score is > 0 
 Re your 1. "PoW as an anti-spam measure":

I'm working on PoW WoW, a distributed marketplace for event PoW. Can be used by mobile clients who can't afford to mine themselves, allows miners to join or leave at will, and be paid non-custodially over LN.

It has Rust libraries for clients and providers, but I can add bindings for other languages too.

nostr:note1qqqqqqpphaqu6jxayvczlajf3h7s57dvzwcsr9cp83lxuh2nd6dq29r9dd 
 I read the TrustNet paper and Appleseed algorithm.
The approach is very cool.

However, I haven't done the math, but my intuition tells me that it scales rather poorly for large networks.

Do you have data on this?

For every node, one have to compute 60-100 rounds of the Appleseed algorithm.

My approach requires 5-6 rounds, and works for every node at once, whilst remaining local. Every row in the trust matrix T represents the trust that a user gives to all other participants in the network.