While Bitcoin has its ups and downs, decentralized apps or “dapps” remain a hot topic in software development circles. “Smart contracts” tend to be part of the same conversations, implying that you need to learn new programming languages, development practices, deployment strategies, security testing, and the list goes on. But writing dapps doesn’t have to be so complicated.
Blockstack is an open source project and an internet for decentralized apps. Blockstack combines a technology stack and set of libraries that enable simple development of dapps, where users are always in full control of their own information and key interactions are persisted to the blockchain. In the next few weeks, we’ll get to know Blockstack and build a simple app that demonstrates how easy it is to get started.
What is Blockstack?
I won’t go into the full description of the components, motivations, and functionality of Blockstack here, but we can dig into enough of the basics to build a dapp ourselves. From an application development standpoint, all you need to know about Blockstack is that it provides two things for you: a user authentication layer and a storage layer.
The user authentication layer allows for single-sign on within any Blockstack application. This is essentially a federated authentication mechanism that allows a user to sign up once and immediately be able to use any number of Blockstack applications with the same credentials. When users sign up, their user IDs are recorded on the blockchain, and they can begin associating metadata with those IDs, such as personal profile details or social media accounts.