I'm working on a protocol for a decentralized marketplace for Nostr pubkey mining.
I'd like to ask SN for feedback on the concept or the reference implementation.

The concept is simple. Clients can purchase the mining of a pubkey (with desired prefix). Providers can do this mining for a fee. Anyone can be a client or a provider. Coordination happens over Nostr.
All trade steps are publicly recorded (which prefix was requested, the provider's invoice, the client's preimage as proof of payment, the provider's mined scalar used by the client to derive the desired key pair). This means providers who don't deliver after getting paid are getting a negative reputation. Providers who do deliver accumulate a positive reputation.
The provider doesn't know the resulting Nostr private key, that is only calculated locally by the Client in the last step of the protocol.

The reference implementation is in an early stage, but works.
To run the client (for buying keys) or the provider (for selling hashrate), you need Rust and LND.
I'll run a provider myself, offering to mine for prefixes of max 5 characters. You're of course free to run your own.

Instructions how to run it, as well as more details about the protocol are on the project's website.

All feedback is much appreciated. Thanks.
Nice concept and POC!
I'm thinking about the "market request" of vanity pub keys and how to marketing it, because usually an user need only one key, while for payments could have more. Perhaps can be a step of fancy Nostr onboard procedure.
But I'm not sure if is desiderabile having vanity pub keys at all for identities, for a security perspective related to social engineering attacks, because they lower the user attention in the recognition and verify process promoting a quick partial check. Someone can build a key that copy another one prefix to trick an user to think he is another person.
reply
Thanks. Both good points.
I don't know yet if there is demand, or how much demand there is for vanity pubkeys. It's more of an experiment at the moment. I suppose only hardcore users of Nostr are (or may potentially be) interested in this.
About identities, true, relying on a prefix to identify someone can be tricky. But this is not trying to solve identity. Different clients have different ways around it (like checkmark, NIP-05 domain identifiers, etc).
reply
😎👍
reply