Welcome to the Stack CafeTM — Blockstack: Blockchain Naming System (BNS) – It Makes The Namespace You Use On The Internet Better!
Today, we will try and provide a brief overview of part of the Blockstack ecosystem developed to not only replace the Domain Naming system (DNS), but one that is designed to be better than the DNS. The Blockstack architecture that is designed to replace DNS is called the Blockchain Naming system or BNS (identity).
The BNS is similar to the DNS in use today (e.g., thestackcafe.com, blockstack.org…). But, BNS makes this part – the naming system (namespaces (names and domain names – e.g. abc.com and identification (IDs)) – of the internet much better.
Basically, BNS makes the namespaces used on the internet better because the namespaces are not controlled by third parties (namespaces are owned by the user (data and everything)), are less susceptible to manipulation and failure and BNS bakes trust and security into each namespace used on the Blockstack internet.
Blockstack proposes: The DNS of today has never been able to achieve what BNS has now achieved – namespaces (online identity) that are contemporaneously unique, human-readable and decentralized (ownership, portability, security…).
BNS provides namespaces that are:
- owned by you
- controlled by the owner (all the data you generate is now yours)
- pre-built with
- public keys
- private keys
- digital certificates
- rooted in the blockchain for
Ultimately, in order to achieve the above, BNS roots a small piece – an important piece – of the namespace in a blockchain (this is the decentralization aspect). By using a blockchain to store a small piece information (note: the information on the blockchain is encrypted) about the namespace, BNS is able to realize agreement (trust, consensus) on what was stored, when it was stored and the ownership of the same.
And, since blockchain(s) by their very nature are transparent and extremely difficult to tamper with and/or change, it makes BNS a better naming environment than DNS since it is more stable and more secure.
By including decentralization in namespaces, BNS appears to have broken new ground in the namespace arena in that BNS namespaces have achieved something DNS never could- overcoming Zooko’s Triangle (re: offering namespaces which are unique, human-readable and decentralized in one package). BNS namespaces have all three seminal features at the same time – each namespace is at least unique, human-readable and decentralized.
But, let’s step back and look at DNS and how BNS makes the namespace (names/domain names) better.
For example, DNS is:
- centralized and controlled by a few organization(s)
- so it is easier to
- attack and take offline
- change the mapping/address of the domain name you are trying to visit (e.g. digital certificates provide a sense of security but susceptible too – green lock sign you see on the website – this is the correct site and you can trust it)
- by changing the information at the DNS server
- spoofing the reply from the DNS server
DNS has problems –
- it may have/provide decentralized public keys but the public keys are not human-readable (e.g. 1Bndg7esRTYUefui76TYgh4DW75TJkil09)
- PROBLEM: no central server needed for public key but hard to read and but it is unique (i.e. it is not very good human readable name)
- Just try and remember a public key day in day out – (gonna be tough and then when you have many of them, oh my!)
- it may have/provide unique and human readable name(s) but it is not decentralized (e.g. if you use social networks like twitter, twitter owns the namespace, not you so you cannot take the name or data with you if you want to use another social network)
- digital certificate fraud (e.g. bad/malicious certificates, so users of website end up trusting the bad certificate
Just think of all the massive data breaches (stolen identities, bad digital certificates… see also 17 biggest, World’s Biggest, Certificates) on websites and spoofing of websites that have happened in the past and may have happened to you.
These types of issues are at the center of the problems of centralization and DNS centralization. Basically, DNS has never been able to provide three seminal features at the same time: unique, human-readable and decentralized namespaces in one package (one of three is always missing).
Well, no more, we now have BNS which is similar to DNS only much, much better.
Blockstack believes that BNS has solved the problems (e.g. offering all three seminal features at the same time and in one package) associated with DNS centralization. BNS is not susceptible to manipulation (e.g. names are tied to the blockchain (hard to tamper with)) and it does away with the other problems associated with centralization (e.g., bad digital certificates, potential outside attack & mapping/routing problems…).
BNS – in a little more detail – provides:
- decentralized naming system (e.g. no central authority has control)
- unique names
- that is owned by you and no one else (portability features)
- human-readable names (e.g., thestackcafe.id and not something like – 1Bndg7esRTYUefui76TYgh4DW75TJkil09)
- automatically provides public keys, digital certificates and security at the outset of registration
- when registering a BNS name(s) and domain name(s)
- both are associated with public keys by default
- so all namespaces (names/domain names) get digital certificates
- and if BNS associates public keys to namespaces (names/domain names) by default
- all namespaces (names/domain names) websites have security certificates and security from the outset
- all of the above being tied to a blockchain
- that you can trust (well established blockchain (e.g. bitcoin)
- since blockchain(s) by their very nature are extremely difficult to tamper with and/or change
- to change the blockchain – where this is stuff is tied to – one would have to go back and change the blocks in the chain (very very very very very very…hard)
- So if it ain’t easy, most nefarious types will most likely pass on it and go for the easy
BNS provides names and domain names that have two very unique ownership features:
- names and domain names are owned by cryptographic addresses of the underlying blockchain (from the outset of registration)
- when you register a BNS namespace (name or domain name)
- it is registered on the blockchain (e.g. it is owned by a cryptographic address on blockchain)so it is encrypted (secret, unique…) and registered on the blockchain (cryptographic address) (remember – blockchain(s) are very hard to tamper with so security and trust exist automatically at a level that far surpasses the centralized DNS system – it is much better on BNS)
- names and domain names are owned by its associated private key (strong encryption from the outset of registration)for example
- ECDSA-based private keys used in bitcoin is used to encrypt the namespace (name/domain name) from the outset of registration – Elliptic Curve Digital Signature Algorithm
- (wikipedia – In cryptography, the Elliptic Curve Digital Signature Algorithm (ECDSA) offers a variant of the Digital Signature Algorithm (DSA) which uses elliptic curve cryptography.)
- So the namespace from the get go is owned by a private key with a strong encryption protocol (again hard to tamper with)
Decentralized BNS is much better than the centralized DNS. BNS is decentralized, unique, human readable, with public and private keys, encrypted and registered on a blockchain which makes it secure, trustworthy and very hard to tamper with.
In a nutshell, when you use BNS to register a namespace (name or domain name), one gets a secure and trustworthy namespace backed by an encrypted blockchain registered address and a very secure encrypted private key. BNS provides the complete package to give you security, trust and peace of mind when you interact with the internet, the Blockstack internet.
Note: If you do not have the Blockstack browser, please see this link (note – to enable the full functionality of any namespace (name/domain name) or dApp built for the Blockstack ecosystem (e.g., building a new internet, a decentralized internet, re-decentralizing the internet, that is distributed via the blockchain, bitcoin), you must use the Blockstack browser).
For help on installing and using the Blockstack Browser, please visit this link Getting started with the Blockstack Browser.
Resources re: Blockstack and dApps
- Frequently Asked Questions
- Blockstack Meetups
Thanks again for visiting The Stack CafeTM and we look forward to hearing from you. Please help us put out the word on Web3.0 by posting a comment below and signing up for e-mail notifications for future updates (right side-bar).
Let’s help build the new internet | The Decentralized Way.TM A decentralized internet | The Way The Future.TM Try out the new internet, The Blockstack Way.TM Blockstack: The New Internet – It Makes The Internet You Use Better!TM