Eliminating the costs for names

Currently names costs a small amount of Bitcoin. This is necessary to stop users from squatting (as the crypto currencies do it). It’s a proof of work (saying “I worked hard to get this, I’m no spammer”).

Now the question: Shouldn’t it then be possible to eliminate the costs with moving this proof of work directly into the client? (For the current situation it would mean that a client mines the Bitcoin needed.)

Is that Bitcoin mining possible and acceptable in a client?
How does that integrate with the virtual chain layer?

Mining bitcoin is much harder than paying the few cents that .id names cost right now.

With that said I totally see the need for namespaces that have low to zero cost of name registrations e.g., a namespace for IoT devices. Developers can make names cost zero when starting a new namespace. People would still need to pay the transaction fee (the cost of writing new data to the blockchain). We can even reduce that cost by using subdomains or by bulk registrations (where a single transaction can register multiple names). Blockstack RFCs are a great place to read about these proposals and comment on them.