Preparation for Recitation on Blockstack
Read Blockstack: A Global Naming and Storage System Secured by Blockchains by Ali, et al. Skim §3 (each subsection ends with a lesson; at a minimum, you should read those lessons).
- Section 1 introduces the paper. You will see references to a few possibly-unfamiliar terms: blockchains, Namecoin, Bitcoin. Section 2 provides the relevant details for these terms. We'll discuss many of them in detail in lecture the day before, but Section 2 will be enough to understand the paper.
- Section 3 explains why the authors built Blockstack on top of Bitcoin and not Namecoin. Skim this section, noting (at a minimum) the lessons mentioned at the end of each subsection.
- Section 4 presents Blockstack's architecture. Figure 4 gives an overview of this architecture. For a different version of this Figure, check out Figure 2 in the author's companion paper published in login; (you do not need to read that paper). At the end of Section 4, the authors do a brief performance analysis.
- Section 5 presents some potential barriers to Blockstack's deployment. Section 6 gives related work.
- If you decide to run a Blockstack server, what portions of the architecture in Figure 4 will exist on that server?
- How does Blockstack compare to DNS and DNSSEC?
- Would you use Blockstack?
Question for Recitation
Before you come to this recitation, write up (on paper) a brief answer to the following (really—we don't need more than a couple sentences for each question). If your TA has requested that you email your answer to them, you may do that instead, but it should still be handed in before your recitation begins.
Your answers to these questions should be in your own words, not direct quotations from the paper.
- The paper describes Blockstack as used for a DNS replacement. What are the names and values?
- How does a Blockstack user look up the value associated with a name? Note: If there are any parts of this process that you feel are unclear from the paper, that's okay; state that in your answer, and bring up that part of the process in recitation. There are aspects of this process that were not clear to the staff initially.
- Why is Blockstack designed in this way? In particular, why does it separate the control plane from the data plane?