.BTC namespace project - request for feedback

Hi all,

The PBC team and I are currently working on a new BNS namespace with a corresponding app that will launch unison with Stacks 2.0. We are posting it here receive feedback from the community.

Background:

The .BTC namespace is for Stacks and Bitcoin what .ETH is for Ethereum. It is a common name for Stackers and Bitcoins alike to align themselves with. We hope that it will speak to both existing community members as well as attract new ones. Stacks brings smart contracts to Bitcoin, ushering a new era of rich dapps on top of the most secure blockchain in the world. The BNS decentralised domain name system is one of the dapps running on Stacks 2 and what will be used for .BTC.

People will be able to register their own .BTC name and manage it via a rich web application. The application streamlines the name registration process in a way similar to those of conventional domain registrars. Once the purchase is complete, the owner can manage his or her domain names and transfer them using one unified interface. Although the interface is aimed at beginners, there will be advanced features for those that need them. (For example, editing zone file entries directly.) People can thus point their .BTC to a website / web server and make it possible to receive STX and BTC with it. We will highlight the fact that names get anchored to Bitcoin by showing the corresponding STX and BTC transaction hashes on the confirmation and management pages, with links to block explorers to verify the validity. The “aha moment” for new users will be this exact fact: a decentralised name secured by Bitcoin.

To further drive adoption, we are also working on a BNS name bridge that allows people to visit “.BTC websites” without the need to install special software. It can be compared to the eth.link service for .ETH names. But as a stretch goal, we are also planning a local resolver service, to be installed on a user’s system, that will provide system-wide .BTC name resolution.

The goals of this project are:

  • To increase awareness of how Stacks brings smart contracts and dapps to Bitcoin.
  • Provide a useful and novel tool to the Bitcoin and Stacks audience.
  • Unlock new use cases for Bitcoin and Stacks.

Here is a video of a very early wireframe of the domain purchasing process:

We are currently in the development phase of the project but wanted to share early and would love feedback and any questions you have so we can address them on the site, and your input on how we can continue to make this idea stand out.

7 Likes

This awesome to see! Are you planning to launch by mainnet on Jan 14th or after?

Yep, in tandem with the mainnet launch!

4 Likes

This is exciting to see!

At first glance, I’m wondering how best to handle .BTC registrations alongside other possible username registrations for a given address (such as the btctestid2.id.blockstack one in the demo video here).

There may be a way in which we can better match ongoing work on Connect 2.0 with btc.us’s needs, in this regard and others.

Interested in perhaps dropping me an email at [email protected] to schedule a chat and design review about all this?

1 Like

This is such a great idea! Looking forward to the launch. Thank you, @marvin.id and all your team!

2 Likes

Awesome idea! Looking forward to seeing it in action and buy my own .BTC domain.

1 Like

Hi @marvin.id I have a few questions and comments about this name space:

  • Will it be first-come-first-serve from day one? Or will there be any names pre-reserved, and if so, who qualifies for a pre-reserved name? For the namespace to gain legitimacy and adoption it might make sense to allow the pre-reservation of names for a period of time and allow people to claim them based on ownership of the same name in another valuable namespace e.g. legacy Blockstack .id namespace, Twitter namespace, DNS namespace, etc.

  • What kind of records can these names point to? You mention the possibility of “.BTC websites”, that is exciting. Could the names also point to BTC addresses or addresses on other chains? Or websites hosted on IPFS or other decentralized storage backends? I see a lot of possibilities here, just wondering what will be supported out of the box on launch day.

  • Where does the STX used for name registration go? Is it burned or does it go to a central entity, or somewhere else… ?

  • Are there any modifiable parameters in the namespace (e.g. name pricing, registration length, character limits, etc) and if so what are the initial parameters going to be and who has the authority to change those parameters?

  • Will your app enable not only registration and renewal but also sales (like a marketplace) and transfers? One of the gripes I have with the old Blockstack browser is that the name operations enabled are extremely limited; I have to use an “experimental, not for production use” CLI to do basic things like transfer a name to another address.

Looking forward to learning more about these names, thanks!

1 Like

Hi @light, great questions!

  1. Mostly first-come-first-serve yes. Technically, the .btc namespace has launched together with Stacks 2.0, which means that you can already register names by executing BNS contract calls. They are not directly related to .id (also those are not deemed legacy, and have been ported over to Stacks 2.0 as well). We have done a small pre-registration of some names that individuals will have to claim through us.

  2. Correct, we want to leverage the existing zone file system and add an zone editor to btc.us. There currently is an issue with Atlas attachments (which is where the zone files are published to) which is a blocker for this feature. But it will be possible to add A/AAAA records to your .btc name and we want to launch a BNS web bridge that will resolve .btc names. You can technically add any kind of record to your zone file, say BTC addresses or IPFS locations, but then you need a client that understands those. Sending STX to BNS names using the official wallets will likely be implemented by Hiro soon.

  3. The STX are burned, this is baked into the BNS protocol.

  4. You can read more on the BNS specifications here: Blockchain Naming System | Stacks. When it comes to modifiable parameters, a last minute patch was introduced to allow the namespace creator to modify the pricing buckets, until this right is explicitly revoked. The status of this right can be read from BNS for any namespace. The reason for this addition is to allow prices to be adjusted based on the value of STX. .btc names cost a flat fee of 2 STX per name on direct contract interaction, regardless of length.

  5. There currently is a name transfer feature but not a marketplace, nor are there plans for one. BNS names are encoded as NFTs in the BNS smart contract but lack many qualities one would expect from NFTs. I assume this will change at some point, as multiple market places are in the works, like on Boom by @dant. I would be happy to assist existing teams in getting name trading working, but it is out of scope for this project. Just as a side-note, BNS also has a limitation of only allowing one name per owner address which complicates trading and having multiple names.

Let me know if you have more questions!

1 Like