Three Takeaways From Our Conversation with Stacks Co-Founder Muneeb Ali
--
dlab Program Manager Paul Saint-Donat sat down with Muneeb to chat about Stacks, the smart contract and dApp platform built on top of the Bitcoin network. Over the course of the conversation, they discussed the origin story for Stacks, the symbiotic relationship between Stacks and Bitcoin, and the challenges of juggling security and performance for a growing app ecosystem.
1. Stacks was born from a Scientific Research Background
Muneeb first began work on what was to become Stacks (f/k/a Blockstack) in 2013, while he was immersed in PhD work at Princeton. Though the distributed systems research he was doing at the time was not directly related to what they do now, many of the philosophies and best practices from academia directly informed Stacks’ trajectory, including their approach to research and programming language development and their focus on peer reviews and formal verification.
Although there were many attractions to a career in academia, Muneeb found that he was becoming increasingly fascinated by Bitcoin and the potential for blockchain technology to be a foundational layer to a truly decentralized Internet. Their work on what was to become Stacks (originally oriented around decentralized identity and naming), started while he was still engaged full-time on PhD work, but the team quickly realized that they might be able to ship and validate their ideas faster outside of academia, by raising venture capital and immersing themselves in startup life.
ALI: “[In academia, a foundation like] the NSF would give you an award, and then 60% of it is the university overhead. You compare that to startup fundraising, and you can raise a lot more capital a lot faster, and then you’re directly in control of the capital. [So we said] ‘Let’s go out to Silicon Valley, and raise venture capital for effectively hardcore computer science R&D.’”
As time went on, Muneeb kept asking for more and more leave from the university to work on the company, and ultimately put his PhD on hold to pursue it full-time. Coming from an academic background, it was natural to publish most of the Blockstack development work for peer review and commentary; and in the end, the work that went into Stacks morphed into its own kind of thesis, allowing Muneeb to both both launch Stacks to the world and complete his PhD at the same time:
ALI: “So because we published papers, we went back to the university and said, look, I was able to publish this work at some of the top conferences. It has nothing to do with what I was working on earlier, but this is peer reviewed and published at conferences…They were very supportive, so my thesis actually ended up being on Blockstack. I officially got it done in 2017.”
2. Building on Top of Bitcoin: A mutually beneficial relationship
Bitcoin provides a settlement layer for the Stacks network (using their Proof-of-Transfer consensus mechanism), which in turn offers smart contracts, identity, and application development tools to build on Bitcoin. It was attractive to use the Bitcoin network as a settlement layer to secure the Stacks network for a variety of reasons: security, established network effects, and brand & community. They wanted Bitcoin to succeed, and they wanted their own platform to be a part of that.
ALI: “If you share your compute power with Bitcoin, you’re part of the Bitcoin community and you want Bitcoin to survive. But if you start a separate proof of work network, you’ve fragmented the community.”
Stacks’ smart contracts are implemented using a language called Clarity, which differs significantly from Solidity and other languages frequently used in smart contracts by being interpreted rather than compiled and not Turing complete. This decision allows Stacks to make certain guarantees and provide a level of security that the team felt was necessary for building sophisticated smart contracts on Bitcoin:
ALI: “We think that Turing complete languages are probably like the absolute worst thing you can do for writing smart contracts because the only thing that matters there is security.”
Not only does Stacks benefit from Bitcoin’s network, but Bitcoin also benefits from the existence of Stacks. One specific example of this involves miner revenue and the transition to transaction fees. At some point in the future all new bitcoins will have been mined, and at that point, the principal source of revenues for miners will be through transaction fees. As it stands today, the current volume of transaction fees are not enough to compensate miners from the lost revenue of new coins being minted. Since Stacks miners generate new transactions on the Bitcoin network, it’s possible that the fees earned through mining Stacks will help make up for those lost revenues when there are no more new coins, contributing to Bitcoin’s long term success.
ALI: “Stacks recently crossed $2 billion in market cap, [and] these miners are willing to pay extremely high fees to be a miner on the Stacks networks — So I think Stacks actually helps Bitcoin in that sense that for the long term time horizons, it has highly motivated parties were willing to pay high transaction fees on the Bitcoin.”
3. Apps Built on Stacks have access to a performant data store
Although they have many advantages, Blockchains require consensus among a large number of stakeholders, and in practice this means they can be slow. In order to create the best experiences for both application developers and end users, Stacks’ design takes a practical layered approach to data storage. While transactional metadata is published on the Stacks blockchain, storing larger amounts of user application data on-chain is wildly inefficient. Therefore, Stacks provides a complementary off-chain data store called Gaia for higher performance and availability.
Muneeb explained that Gaia is a key-value store that uses an underlying storage facility that could be any typical cloud provider (AWS, Microsoft Azure, Dropbox, Google, etc). It could also point to a decentralized file store like Filecoin. Users are allowed to choose whichever provider they want, and can change it at any time, and Gaia provides a uniform API to allow apps to access that user data. This allows apps built on Blockstack to be truly performant, while also ensuring that user identities and transactional data are stored securely.
ALI: “Gaia is actually a wide area encrypted file system. It doesn’t matter where the files are stored, they could be stored on Filecoin, they could be stored on Dropbox, or G Drive or anywhere else. What Gaia does is it helps users encrypt their data, and then store it wherever they want to store it.”
Want to Learn More?
For the complete conversation, tune in to the podcast episode. If you’re interested in building on the Stacks ecosystem, they’re currently providing several grants, and you can find more information HERE.