Blockstack — The fat protocol? Architecture explained

Manish Agarwal
TokenMonk
Published in
6 min readNov 13, 2017

By Manish Agarwal and Setu Saurabh

While it might seem odd, much of internet is run by the trust of few centralized service providers — ICANN, Certification Authorities, large tech companies such as Facebook, Google, Amazon etc. Efforts in the past to decentralize it have met with limited success largely due to technology limitations. However, with the advent of blockchain, things have moved fast in the past few years. One of the most successful efforts have been from the duo of Muneeb Ali and Ryan Shea who have come out with a protocol for decentralized internet which they call “Blockstack”.

Blockstack protocol: Secure Blockchain layer sits beneath peer network layer. More details below.

Before we move ahead, first let’s look at the points of centralization on the internet:

1.) Domain name system or map of IPs to human readable names
2.) Storage and encryption of user specific data by third party service providers (Amazon, Google etc.)
3.) Discovery and certification of the network resources

Blockstack’s implementation removes these trust points from the network using blockchain and cryptography.

The TCP/IP protocol architecture — Blockstack is focusing on decentralizing the application layer

So what is Blockstack, and how does it achieve this? Blockstack is basically a multilayer protocol on the top of existing blockchain(s). This is very different from most other developments in the blockchain space which have either been a blockchain protocol (Bitcoin, Ethereum, Litecoin), a blockchain protocol on the top of existing blockchain (like the filecoin) or the ERC20 protocols (such as Augur). Blockstack currently uses Bitcoin as the underlying blockchain.

The salient point of Blockstack protocol is unlike other tokens

  • Encompasses decentralized namespace, peer discovery and encrypted user controlled storage i.e. is a fat protocol
  • Is designed to avoid re-inventing wheel when its available and functional. For e.g. rather than creating a blockchain from scratch, it uses an underlying blockchain(s) for ordered transactions. On the other hand, if they find existing solution lacking, like they did with DHT based index, Blockstack devs didn’t shy away from coming up with a more relevant peer to peer discovery index from scratch
  • Game theoretically incentivizes early developers, unlike other protocols who have kept incentives limited to only early users and miners/stakers

The architecture

The architecture of Blockstack which is primarily in three layers, continues to use the underlying communication protocols (TCP) of the internet, while it replaces most other protocols at higher levels — mainly DNS, certification authorities etc. It also ensures privacy and control of user data.

The Blockstack architecture

1) The blockchain layer

This layer comprises of a blockchain (currently bitcoin) and a virtualchain over it. Virtualchains are ledgers which basically stores the current state of implementation of verified transactions on the underlying blockchain.

Any new operation (addition/modification) is stored in the underlying blockchain (bitcoin) as an additional metadata. The virtual layers regularly queries the blockchain and updates itself with the new verified transaction operations. To ensure the sanctity of data in virtualchains, the hash of virtualchain (which has all the state transitions) is stored in the blockchain.

The blockchain needs to be accessed only for operations for addition or modifications. For queries, user can access the validated data directly at the virtual layer, without bothering about the underlying complexities of the blockchain layer. In addition to providing an abstraction of the blockchain, virtualchain makes the system fork resistant and portable across blockchains.

Currently Blockstack has implemented the “Blockchain Naming Service (BNS)” at the virtualchain level. It is somewhat similar to the Domain Name System of the existing internet — BNS stores the mapping of blockchain addresses with human readable names.

The names are owned by users owning the addresses and private keys on the underlying blockchain. Users can register for new names through an auction process, details of which are yet to be crystallized.

2) The peer network layer (called Atlas):

The peers in this layer store the zone files (similar to DNS zone files) which maps the user to the storage location — acting as discovery layer for the storage locations. Separation of mapping from the storage layer, provides flexibility of movement across of various types of storage systems.

The blockchain layer at the bottom, has pointers to these zone files (in the Atlas) as hashes. Storing of only the pointers in the blockchain layer, keeps the blockchain layer relatively light. While the size of the Atlas layer will increase over time, it should not be very large — storing the entire internet mapping would require less than 100GB.

3) The storage layer (called Gaia)

The storage layer (Gaia) stores the encrypted data (signed by the user’s key) in the existing cloud services. The cloud service providers can only see the encrypted data. A user can log on to an application using his blockchain identity and then access the storage layer.

Anyone can access storage by 1) getting the zone file hash corresponding to name and public key of the user in the virtual layer; 2) getting the corresponding zone file from the Atlas layer; 3) getting the storage location as pointed by the zone file. The data can be read by anyone having decryption rights.

A user can make changes/addition to his data by accessing storage through the steps mentioned above, however he will have to sign the data as well. Given that these do not involve any blockchain transaction, this is relatively fast.

Token economics and mining?

Full nodes in the Blockstack system, have to run the underlying blockchain node (along with the virtualchain) as well as the node for the Atlas peer to peer network. The mining mechanism being used is “proof-of-burn” — in which the token of the underlying blockchain (bitcoin) is being burnt by sending it to non-retrievable address (black hole). The longest chain is the one with the maximum proof of burn.

The miners are rewarded with the “Stack” token -which starts at 8,000 and gradually declines to 2,000 (at a rate of 500 tokens every year), after which it stays constant. Interestingly the mining reward is shared by miners of last N blocks in proportion of the tokens burnt (rolling mining window) — hence a miner receives the award over the period of next N-1 blocks.

Awards for other stakeholders — the developers and the users

In addition to the miners, there are token awards for developers, incentivizing them to develop on the system. The best apps will be determined through app reviews — which will be based on reviews by the token holders at any particular time as well as those who had stake during creation of the genesis block. The incentives will be given only for the first four year.

Finally, there is also a web-of trust mining, which incentivizes “real users” to participate in the ecosystem. The real users have to go through a KYC, post which they will be given vouchers to buy tokens at discounted price in the future. In case, the “Stack” token is deemed to be a security, the tokens will be distributed to users, free of cost.

The next big project after Ethereum?

This is clearly one of the most comprehensive and bold project in the blockchain space — and in our view, stands just after Ethereum. The project has everything right going for them — a strong team, a work of 3 years with significant implementation already done before the token launch, no pre-mining, strong and growing community of developers, and a very well managed marketing.

While there is a lot of scope for developers to learn and participate, there is not much for retail investors. They can register and wait for their token distribution, which could probably happen in 2019.

Coming to implementation, there are many questions as well as feasibility issues with few of the aspects, one can not expect the team to be more detailed than this in the whitepaper. This clearly, will be one of the most closely tracked projects over the next two years.

--

--