I want to make a semi-open blockchain. Anyone will be able to connect and read streams (I'm using JSON streams as a public database) but I want to limit users who can write to and mine the blockchain. I only want users who's address matches a specific regex expression getting granted appropriate permissions. For example, if their address starts with 1mine, the address is granted permission to mine. If it starts with 1json they are granted the send, receive, and create (for JSON streams) permissions. Looking at https://www.multichain.com/developers/address-key-format/ MultiChain’s addresses and private keys can be fully compatible with Bitcoin’s. Can I use a Bitcoin address generator like https://github.com/exploitagency/vanitygen-plus to generate the needed addresses and private keys and import them into Multichain? The idea is that users would have to spend resources to earn an address that's capable of mining or writing to the shared JSON database (hashcash).
I don't want users submitting addresses they don't have the private key for, so I'm going to require users use signmessage and I'll use verifymessage to prove they really have a valid public/private key pair. The verification and permission granting will be done with a script on a central server.