bns

Renew your BNS .id names

Stacks 1.0 .id names expire on block #52595, RenewBNS.com lets you renew them!

Larry Salibra

6 min read

Summary: .id names that were registered prior to Stacks 2.0 will expire on Block #52595 - on or around Wednesday, March 16, 2022 - unless they are renewed! We’ve created a tool to let you renew Stacks 1.0 .id names that you can use on the web or, if you are a developer, run locally on your computer.

A brief history of the .id namespace

BNS got its start way back in 2014 as the predecessor to Stacks 1.0, Onename. When many of our earliest investors and supporters, myself included, registered our .id Onenames so that we could be included in the whitepages for Bitcoin.

At the time, Onename ran on Namecoin, the first altcoin and original blockchain-based name system. In September 2015, after over a year of experience running a name system on Namecoin, the problems we encountered with largely unused Namecoin made us realize the value of securing our ecosystem with the most secure blockchain, Bitcoin. To enable this, we migrated all 32,000 .id names over to Bitcoin in what would become know as Stacks 1.0.

Muneeb explains how names are stored in Stacks 1.0 on Bitcoin at the Blockstack Summit 2015.

During Stacks 1.0 era, we enabled the use of .id names for sign in to both early decentralized and traditional centralized applications. During that period, name activity in the .id namespace accounted for more than 50% of the non-financial, OP_RETURN transactions on Bitcoin. Many of us spent a lot of time (and bitcoin!) buying .id names in the 2017 price run up that saw bitcoin fees skyrocket. .id names also played an important role in our in original 2017 token sale as we used them as one component of our Proof of Humanity registration app.

In early 2021, when Stacks 2.0 was launched, .id names that existed at that point in time were included in the Stacks 2.0 genesis block. They were automatically renewed for 52595 blocks and live on today on the Stacks 2.0 blockchain, anchored in Bitcoin through the BNS smart contract on Stacks.

Different paths

In the Stacks 1.0 era, users registered their .id names through the Blockstack Browser. At that time, as is still the case today, user accounts were generated from a 12 or 24 word phrase secret key using the same algorithms of other bitcoin wallets.

My Blockstack ID during the 2017 token sale.

Because the Stacks 1.0 era began before the STX token was created, the Blockstack Browser had a bitcoin wallet instead of a STX wallet. Because bitcoin wallets by best practice use different addresses for each transaction, we decided to have a user’s identity address - the name that owned their id name be derived using a different path than the bitcoin wallet. The addresses in the bitcoin wallet could change with each transaction, while the address owning the users .id name would always stay the same. Privacy was an additional benefit to this approach: users could publicly share their .id name without linking their bitcoin wallet address to the name…unless the chose to.

When developing wallets for the new STX token, it made sense to use a unique derivation path different from the path used to derive bitcoin wallets and specific to the STX token. We also decided that it no longer made sense to differentiate between use cases of addresses in a wallet. In Stacks 2.0, the STX token and BNS are just two examples of any number of digital assets that an address can own. Users that wish to separate their identity with their money can use different wallets to maintain their privacy.

This introduced a problem for names registered prior to Stacks 2.0. While the same secret key still works for Stacks 2.0, the widely-used Stacks wallets in the ecosystem such as the Hiro Web Wallet don’t support derivation of those addresses. This means that users using secret keys generated in Stacks 1.0 see different addresses in the wallet than the wallets that own their names.

Because renewing a name (or performing an other BNS transaction on it) requires signing the transaction with the private key of the address that owns it, it has not been possible to renew Stacks 1.0 names. Until today!

Introducing RenewBNS.com

Today, as part of our commitment to the future of BNS at New Internet Labs, we’re introducing RenewBNS.com, a simple, open source tool to renew your BNS names. It will work for both renewing Stacks 1.0 names such as those in the .id name space and BNS names registered since the launch of Stacks 2.0.

Renewing your name will extend the expiration date of your name to the maximum length of validity for the given namespace. To renew a name registered prior to Stacks 2.0, you’ll need to provide the secret key for the name so that the app can derive the private key that owns your name.

Because of how Hiro Web Wallet handles Stacks 1.0 names, we can’t always automatically detect them when you connect your wallet. If no name is detected, click the search button and enter your private key and we’ll search for any legacy named owned by the account you signed in with.

Click the search button if your name doesn't appear.

Renew early, renew often

It’s important for owners of .id names to renew their names early…if the renewal isn’t confirmed by the network before the expiration block, your name will expire and may be lost. The expiration date for almost all .id is currently Stacks Block#52.595 - on or around Wednesday, March 16, 2022.

Because renewing your legacy name requires the app to ask for your secret key, we’ve made the app open source so that users who want review the source code or run the app locally on their own computer can do so.

Getting help

If you’re having difficulty renewing your .id names, you can join our RenewBNS telegram group or post your question in the BNS section of the Stacks forum.

Upgrading Stacks 1.0 names for Stacks 2.0

After renewing Stacks 1.0 .id names, the next step is to upgrade them to Stacks 2.0. To upgrade Stacks 1.0 names for Stacks 2.0, we need to transfer them from their original owner address to the address of the corresponding wallet. While this is currently technically possible, some behavior in Stacks Connect and/or the Hiro Web Wallet prevents users who have upgraded their names from signing in to apps.

We are working with our friends in the Stacks community to resolve these problems and will publish an update to the RenewBNS.com app so that you can upgrade your OG Stacks 1.0 names to be full-fledged members of the Stacks 2.0 BNS ecosystem. Make sure to sign up for updates so that we can let you know when that’s ready.

I’m personally very excited about the future of naming on Stacks and Bitcoin. It’s increasingly clear from recent events both on the legacy internet and in the crypto ecosystem that every point of centralization will eventually become a tool those with cultural, political or economic power will use to take down or silence their enemies. BNS is perfectly positioned as the naming system anchored in the world’s most censorship resistant currency to be the key to decentralizing power on the new internet.

If you share my interest in BNS or want to get involved, sign up for updates, join our next BNS Working Group or tweet at me! And don't forget to renew your names today!

Thanks to Mark & Kyran at Hiro Systems PBC, and Ramon for helping me to try out the app and to Friedger for patiently answering my questions and his fixes to stacks.js without which this would not be possible!

Want New Internet updates?

Sign up for the latest on our products and the ecosystem.