Over the last three years, Princeton grads Muneeb Ali and Ryan Shea worked together to build an infrastructure for a decentralized internet they call Blockstack. The dream of building a decentralized web is as old as the internet itself. However, until recently decentralization efforts were stymied by limitations in the advancement of computer science and the lack of a suitable economic model. Things changed in 2009 when the advent of blockchains reinvigorated efforts to build a decentralized internet. Today, the blockchain industry is filled with startups developing blockchain based technologies to disintermediate basic web services.
Building a decentralized web requires that several basic components of the internet be recreated using blockchain technology. The most important components are data storage, data encryption and delivery protocols such as HTTP, and name look up services like the Domain Name System (DNS). Today, many of these services are provided using trusted centralized parties such as Amazon’s Web Service, which provides 40% of the total cloud storage and content delivery capability for the web, or maintained by single organizations.
Blockstack has implemented decentralized alternatives to DNS and HTTP and built a method for blockchains to integrate with existing cloud storage networks. Today, blockstack is available to download on macOS, Windows, and Linux systems and has more than 75,000 registered identities in its decentralized DNS.
Blockstack currently uses Bitcoin for consensus and payment processing. In the last three years, the Blockstack team has been largely funded by VCs but is now selling Stack Tokens (STX) to incentivize network participation and raise funds. Registration for the token sale runs from November 1st to November 10th. Funds raised in the token sale will be used to develop namespace auctions, voting mechanisms, encourage development of third party apps, and build mobile clients. STX is native to the blockstack network and will be used as a means to transfer value.
Blockstack’s level of technological development and number of users is significant, though it’s not the only player in working on the decentralized web. Ever since the release of Satoshi Nakamoto’s seminal paper, developers and entrepreneurs have been working to disintermediate the web using blockchain technology. Blockstack is part of a wave of projects that raised funds in the last year to build components of the decentralized web on top of fundamental blockchain networks.
A Brief History of the Decentralized Web
Early blockchains laid a foundation for the decentralized web by establishing fundamental protocols for incentivized resource pooling and distributed consensus. Recently, startups have begun building on top of fundamental blockchains to create decentralized applications (dapps). Blockstack has decided against building directly on top of existing networks. Instead, Blockstack uses a multichain system that relies on one other base blockchain for certain elements of its operation. Other blockchain platform projects such as Cosmos, Komodo, and Ark employ a similar approach, though these also work simultaneously on different chains, while Blockstack relies on one secure base blockchain..
Many basic web services today are primarily conducted by centralized, trusted parties. This includes the address system (DNS) that registers address domains and, with the spread of cloud computing, data storage.
There are several important decentralized protocols such as Kademila DHT, the file transfer protocol used by BitTorrent, that existed before blockchain technology. But decentralized data storage and distribution services like BitTorrent, have proven difficult to scale, unreliable under high churn conditions, and susceptible to attack. Some of these problems are more economic than they are technical. Without an economic model, it is difficult to incentivize nodes to continuously participate in the network as a resource provider.
Demand for Internet-based services quickly out stripped the development of decentralized networks. As a result, over the last several decades the internet has tended to become increasingly more centralized. Much of the internet as we know it is controlled by a handful of powerful technology corporations, such as Amazon, Apple, Facebook, Google and Microsoft. Together, these companies control much of the digital universe, including more than 50 percent of the cloud storage and computing market.
Early Blockchain Protocols
Early blockchains established foundational protocols for a decentralized web. Some of the most important achievements in decentralized protocols were introduced by Bitcoin and Ethereum. Bitcoin established Nakamoto Consensus (commonly called Proof of Work) a mechanism for decentrally agreeing on the order events in a distributed ledger. Nakamoto Consensus represented a computer science solution to an economic problem; it provided a trustless incentive structure to motivate individuals to decentrally contribute resources to network maintenance. Almost all existing blockchains use Nakamoto Consensus, or some variation thereof, to secure their networks.
Ethereum developed a token protocol to incentivize the creation of a massive distributed computer called the Ethereum Virtual Machine (EVM). This allowed for a great expansion of blockchain technology past simple transaction logging into the world of decentralized computing and automated smart contracts.
However, early blockchain protocols also suffer from scalability limitations. For example, the EVM isn’t capable of processing the complexity of millions of operations from consumer apps in a timely manner. Blockchains are also not well suited to act as a decentralized storage layer. To ensure the continued usability of current blockchains, the vast majority of data on a decentralized internet must be stored elsewhere and indexed in a ledger that itself should be maintained in a distributed manner.
App Layer Protocol Development:
Meta-token protocols such as ERC20 on Ethereum and Counterparty on Bitcoin made it possible for developers to build applications on top of existing blockchain networks. Projects like Storj, a decentralized cloud storage service, developed technologies that allowed them to secure vital metadata to an existing blockchain network while keeping much of the complexity of computation and storage off-chain.
Multi Blockchain Systems
Other decentralized cloud storage projects, like Filecoin, have taken a different approach. Instead of building applications on top of existing blockchains, Filecoin decided to build its own blockchain on top of existing networks. In this multichain system, the base blockchain (generally Ethereum or Bitcoin) is used as a communication and validation layer. The computational and operational complexity of the Filecoin protocol is managed by their native blockchain. In turn, the state of the native chain is constantly written to the base blockchain.
This sort of dual blockchain system has several advantages. First, it can allow for developers to build “blockchain agnostic” products that can be more easily moved from one blockchain to another. Second, it reduces the complexity of the operations validated by major public blockchains. This means that users aren’t relying on crowded public blockchain networks to validate operations they execute on third party apps, reducing scalability concerns.
What is the Project?
Like the projects summarized above, Blockstack has opted to develop a multilayer protocol on top of an existing blockchain. In the blockstack system, a base blockchain network is used for consensus and communication. A distributed ledger called the Virtualchain serves as a notarized list of pre-verified transactions and represents the current state of the Blockstack network. The operational complexity of data requests is managed by a network of Blockstack nodes. These three components will be explained in more detail below. To date, Blockstack has developed and launched three core services:
- Blockchain Name Service (BNS): A blockchain based alternative to the DNS. BNS allows users to connect blockchain addresses to human readable names without relying on a centralized authority to maintain a comprehensive directory.
- Atlas Peer Network: Atlas is a network protocol that replaces HTTP for data transfer and encryption. Atlas nodes each maintain a full directory of user Zone Files. Zone Files contain the location of user profile data.
- Gaia Storage: Gaia is a network of hubs that store hash pointers that map to the locations of user data. Users can link their AWS or dropbox accounts and use the Blockstack network to encrypt data stored on centralized servers.
Base Blockchain: Powering Consensus on Legitimate Changes
The work of consensus takes place at the base blockchain layer (currently Bitcoin), where transactions are validated and ordered into blocks. End users must publish transactions on the base blockchain when they want to make changes to their account, such as establishing a new identity, setting up a new storage location, or changing the location of stored data. In Q4 2018, Blockstack plans to have the capability to build on or port to Zcash and Ethereum.
Virtualchain: A Directory of Verified Identities (the BNS)
The BNS directory is stored in a distributed ledger called the Virtualchain. The virtualchain is a collection of pre-validated transactions that serves as the cannon of the current state of the BNS directory. Users can query the BNS directly through the virtualchain without submitting a transaction to the base blockchain.
The virtualchain only stores Blockstack network transactions that have already been verified by the base blockchain. In other words, it is ‘listening’ to the base blockchain for relevant transactions. In Bitcoin, such transactions are identified with Opcodes. The virtualchain ignores unverified transactions and transactions which are not related to the blockstack network. Additionally, the state of the virtualchain is hashed and recorded on the base blockchain. In this way, the virtualchain can benefit from the security of the Bitcoin network without relying entirely on it for basic operations like querying and retrieving data.
The virtualchain is blockchain agnostic, fork resistant, and portable. It follows the longest chain of the base blockchain as it is developed, ignoring transient forks. Through a hard fork of the virtualchain itself, the current state of the chain can be recorded and ported to a new blockchain.
End users interact with the virtualchain when they want to look up a verified identity on the blockstack network. The virtualchain then communicates with the nodes on the Atlas and Gaia networks to find the location of stored data and deliver that data to users. Users don’t need to interact with the base blockchain for most operations, like retrieving and reading data, locating data, or even changing basic data contents–only for changing its location or changing ownership.
The Blockstack Node: Providing Network Services for Indexing and Retrieval
Every full node on the blockstack network will function as a node for the virtualchain and the Atlas peer network. Nodes will also have the option of participating in the network as a Gaia hub. Blockstack nodes must also run full nodes on the base blockchain in order to listen for network related transactions and record them to the virtualchian.
Blockstack nodes provide computational and storage resources to the virtualchain and the Atlas network. Since the Blockstack network doesn’t require nodes to participate in computationally intensive consensus protocols, execute smart contract code or store large amounts of data, the hardware costs of being a node is expected to be fairly low.
End users interact with the blockstack nodes through the virtualchain and the base blockchain. Identity and storage services are performed using resources contributed by blockstack nodes.
What is the Token?
The native token of Blockstack is the Stack (STX). STX is used as a means of payment for services rendered on the network, for voting in governance decisions, and as a reward for contributing to the network. The Stack token protocol has been added as an upgrade to the Virtualchain through a hard fork of the Blockstack network, which occurred at the end of Q3 2017. During the blockstack token sale, a maximum of 440 million tokens will be up for sale. The remaining tokens will be generated and distributed in three different “mining” processes. The total supply of STX is expected to reach 4.7 billion in ~10 years.
- Proof-of-Burn: This is a mechanism that incentivizes users to contribute to the network as Blockstack nodes. In order to earn block rewards, nodes must burn cryptocurrency of the underlying base blockchain by sending it to a black hole address. This is a simple method of identifying the longest chain in the Virtualchain network. All nodes have to do is verify which chain is associated with the greatest amount of burned currency. The block reward starts at 8,000 tokens per block and reduces annually until it hits 2,000 tokens per block after which point it stays constant forever.
- App-Rewards: App rewards are designed to incentivize developers to participate in the ecosystem. App rewards per block are defined by the Stack protocol. Deciding how these rewards are distributed is up to a federation of independent app reviewers.
- Web-of-Trust Mining: These are rewards that are intended to incentivize users to participate in the ecosystem and use apps. A pool of STX tokens, defined in the protocol, will be offered to users at a discount on the token sale price. Users who go through a standard KYC process when they set up their account will earn a coupon to buy discounted STX.
The Token Sale
The STX token sale is conducted on two different levels, one for each accredited and non-accredited investors. From November 1st to the 10th, all token sale participants go through a KYC whitelisting process. As part of this process, contributors will submit a request for the number of tokens they want to purchase.
Accredited investors will be able to purchase STX through a SAFT agreement, a document that outlines the relationship between accredited token sale investors and token issuers. When the token sale starts on November 13th, accredited investors will have the opportunity to purchase the number of tokens they requested in the registration process.
Non-accredited investors will receive a waiver indicating that they have the right to buy a certain number of tokens in the future at the token sale price. Tokens reserved by non-accredited investors will only be made available to purchase in the event that the relevant regulatory authorities decide that Stack is not a security. Blockstack will not collect money from non-accredited investors until this determination is made. There is no guarantee that this will ever happen. If Stack is deemed to be a security, tokens reserved for non-accredited investors will be distributed to users in the form of app rewards, though Stack will not collect money as if they were ICO participants.
What is the State of the Technology?
Blockstack is available to download on macOS, Windows and Linux operating systems. There are currently over 75,000 domains registered on the BNS with more being created every day. In the last three years of production, over 12,000 community developers have contributed to the Blockstack codebase, which is open source and available on Github.
In their next stage of development, blockstack plans on building mobile clients and apps, a voting mechanism, and encouraging the development of third party apps.
Who is the Team?
Co-founder Muneeb Ali holds a PhD in Computer Science from Princeton University. His thesis was focused on distributed systems. He has published multiple papers on the development of a decentralized internet, including the Blockstack whitepaper, and delivered a TEDx talk in 2016 titled, “Welcome to the New Internet”.
The team also includes two other Princeton PhDs, Jude Nelson and Aaron Blankstein, who are engaged in blockchain related research, and Larry Salibra, a founding member of the Bitcoin Association of Hong Kong.
The Blockstack website doesn’t provide information about team member project roles. Instead it focuses on their past experience.
- Gina Abrams worked with a technical recruiting agency in New York where she focused on DevOps, SRE and security hires.
- Guy Lepage is a designer recognized by the Lotus Awards and the New York Festivals for branding. He has worked for brands such as Toyota and Disney.
- Patrick Stanley was the first employee at Earnest, a licensed lender focused on refinancing student loans. In three years he helped the company scale from 3 to 200+ employees.
- Jack Zampolin worked as an evangelist to grow the developer community with InfluxData, a time series data analytics platform.
|Incorporation status||Blockstack Token LLC|
|Team openness||Fully transparent|
|Technical Lead||Muneeb Ali|
|Technical White Paper||Yes|
|Available Project Code||Yes|
|Prototype||Alpha Release Live|
|Role of token||Access, payment and governance rights|
|Token supply||4.7 Billion in ~10 + years|
|Distributed in ICO||440 million|
|Emission rate||Initial mining rewards of 8,000 STX/block|
|Consensus method||Proof of Burn (Virtualchain) and Proof of Work (Bitcoin)|
|Registration Period||November 1st 2017 to November 10th, 2017|
|First price||proportional to participation|
|Accepted currencies||BTC, ETH and USD|
|Investment Round||First public offering|
|Token distribution date||Jan 30, 2019|
|Min investment goal||None|
|Max investment cap||None|
|How are funds held||Sale held by CoinList|
|Minimal Viable Product||Alpha Release Live|
|Bonus schedule||No Bonus|
Update 11/03/17: A previous version of this memo incorrectly stated that the Stack Token (STX) would be an Ethereum meta token and that the Blockstack network would be migrating from Counterparty to Ethereum. Blockstack currently uses Bitcoin as its base blockchain. STX will be implemented as a native token on the Blockstack virtualchain. The Blockstack roadmap had included a possible integration with Ethereum in 2018, but will not be migrating away from Bitcoin at this time.