Questions related to governance & design of Blockstack ecosystem


#1

Dear Community,
I am doing research about the governance and design of ecosystems. I am particularly interested in the Blockstack ecosystem and hope that you can help me with some questions which are very relevant for my research. Thanks in advance !

  1. Are there any rules which users, developers or Blockstack PBC have to respect when they engage in the Blockstack ecosystem? (The question leans more towards actor’s activities based on the underlying infrastructure instead of a specific DApp)
  2. Who controls that these rules are respected by the different kinds of actors?
  3. Since Blockstack wants to stimulate adoption of DApps that build upon its infrastructure, the protocol has to be all-encompassing to allow DApps to build upon the protocol. How open or closed are your interfaces that connect developer’s DApps with the Blockstack infrastructure? (There is a trade-off when deciding on the degree of openness, e.g. open: stimulating adoption and a high variety of DApps vs fragmentation, potential quality loss and inefficiencies; closed: cohesive user experiences vs less adoption because of fears of being locked-in as result of low fungibility)
  4. Do DApp developers have to implement all standards that relate to the Blockstack infrastructure or can they also choose some modules which fit their needs? If DApp developers can decide which modules to implement, where do you draw the line of what has to be implemented? (e.g. is there a certain minimum, like single-sign on which always have to be implemented by developers while other modules are optional)
  5. Are there any metrics which Blockstack PBC has to fulfill to keep the support of its community?
  6. How are DApps affected, if Blockstack PBC does not exist anymore? Are there plans of decentralizing Blockstack PBC to reduce overall dependencies/spread responsibilities?
  7. Are there any informal rules, such as a codex, which affect you in your activities? (E.g. in the Book “Circle”: the main character is pressured by the community’s informal policies to always publish content on her social media channels)
  8. How does the decision-making procedure look like when a new version/update of the underlying Blockchain protocol is proposed? If there is any voting mechanism, who votes and how are voter’s weights determined?
  9. Blockstack’s project is very complex when looking at its various layers (Blockchain + Virtualchain, peer network and storage layer). Why did you include so many layers while others (e.g. Ethereum or IOTA) have fewer layers?
  10. What does Blockchain allow you to do what you couldnt do without it? (Or to put differently: What is the added value of integrating Blockchain?)
  11. What is the role of trust and power within the Blockstack ecosystem? Are they somehow affected by the incorporation of Blockchain?

#2

Yes, but nothing surprising: observe all applicable regulations.

For example, if you DDoS us or violate the software license terms, and we find out, we’re may (1) send a formal cease and desist, (2) inform the relevant law enforcement body, and/or (3) press charges in court.

Another example, if you post spam on Slack or on the forum, or don’t adhere to the code of conduct in online or offline spaces PBC administrates, we will kick you out.

Insofar as rules within the protocol, no one is forcing you to run the Blockstack Core software. It’s Free Software (GPLv3), so you can do what you want with it subject to the GPLv3. You’re not required to follow the same protocol rules – you can modify them and run your own custom node. However, in doing so, other peoples’ nodes will not share data with yours, so you’ll effectively be “cut off” from the network.

Right now, Blockstack PBC does. However, this is only temporary. Please see SIP-000 to see how the protocol will be upgraded in the future.

Completely open.

Nope. Use as much or as little as you want.

Blockstack PBC has to fulfill two milestones to unlock the money it raised in its token sale: (1) launch the token by the end of 2019 (this is done), and (2) onboard 1 million users by sometime in early 2020 (this is in progress). The details are in the token whitepaper.

If PBC disappeared tomorrow, the default core nodes and Gaia hub would disappear. However, the name state and routing information would survive, as would any non-default Gaia hubs. We’re actively working on ways to encourage people to run their own nodes and Gaia hubs to avoid this hypothetical calamity – we do NOT want to be a single point of failure.

Closest we have to that is a value system: https://www.keyvalues.com/blockstack

Non-consensus-breaking upgrades happen all the time, and coordinating their release and announcing them takes place on Github, on this forum, and on Slack.

Ever year in Q4, PBC announces a new version of Blockstack Core that is incompatible with the previous version (i.e. a hard fork). The announcement comes several weeks before the changes would take effect. When the changes take effect, PBC upgrades its core nodes. However, node operators are under no obligation to go along with the changes – there’s no loss of security in doing so, but they will no longer see the same state that PBC’s nodes see.

Blockstack is as simple as it can be in order to provide the requisite feature set. Just because a project has a different number of distinct layers doesn’t mean that it’s more complex.

It allows us to bind human-readable names to public keys and storage routing state without requiring an administratively centralized registrar. This, in turn, ensures that names are globally unique, human readable, and strongly-owned – only a name’s private key holder can update or revoke it.

The same as it is for any other open source software system.


#3

In SIP-000 “The core developer committee is a group of active contributors to the Stacks blockchain. They are tasked with reviewing SIPs and managing their progression. Initially the committee will consist of developers from Blockstack PBC. Membership will be opened to the community once mining begins. Nominations to join the committee may be submitted by an existing committee member and approval requires a majority of committee members.”

I’m very happy to see that coming. However, if an old member nominate new members >>> this person could be BFF of him/her. And the whole committee members are Blockstack PBC now >>> what could stop Blockstack PBC approval only people who they can control >>> Looks like communism.

It’d be better if at least 50% committee members don’t have strong relationship with Blockstack PBC >>> so they can make independent decisions.


#4

Hey Jude,
thanks a lot for your responses.

Thanks for the response. As far as I understand your answer, you are primarily talking about rules which users (e.g. DDoS, spam) and developers (e.g. develop your own protocol if you want). Are there also formal rules which Blockstack PBC has to respect when working on the given milestones (launch token & onboard 1 million users)?

On the website, it states " A core developer will move the SIP to the Proposed stage when the following has been satisfied:

  1. Evidence of sufficient community support
  2. All public criticism and comments have been adequately addressed"

Can you provide more information on how sufficient community support is determined?

Okay so Blockstack allows developers to plug’n play specific modules, such as single-sign on. When looking across modules, developers can decide what to implement but are they also able to only implement a small part within a module? Or to put differently, to what extent can developers adapt a module? As an easy example, if developers dont like the visual design of SSO, can they decide themselves to change it.
This then relates to my previous “rules”-questions: are there specific rules which developers have to follow when implementing a specific module e.g. to guarantee a consistent SSO user experience

That is very interesting! Do you have more information on how you try to encourage developers and normal non-techy users to run a full node?

I understand the values which are listed on the website. Now, I am wondering how Blockstack PBC or the community enforce these values? Are there any informal or formal rewards (or punishments) when developers do (not) comply with these values?

Then the protocol consensus is a voting mechanism, like in the Bitcoin SV vs Bitcoin ABC fork, isnt it?

Yes you are right. My conclusion of more layers leading to more complexity is wrong. However, can you still explain why Blockstack built a completely new system architecture compared to the Ethereum protocol or the IOTA Tangle?

Thanks in advance!


#5

Hey,
I have more questions. I hope that this is fine.

  1. When a new subsystem, like a module or design layer, emerges, how do you decide A) what the subsystem shoul do (e.g. features), B) how it should so and C) who controls the implementation?
  2. Are there any safety mechanisms in place for the open source protocol to avoid malicious behaviour/tragedy of the commons?
  3. Are there any relations how DApp developer and Blockstack PBC capture value? If there are any relations, are there also any conflicts between Blockstack PBC and DApp? If there any conflicts, are there any countermeasurements/fixed procedures to address them?
  4. Protocol developers receive rewards (tokens) for their contributions. A) How is the exact payout / total reward determined for each contributor? B) How does the system decide who receives a reward (e.g. if protocol developers propose competing updates of which only one can be implemented)

#6

People (I meet) always ask questions like you asked. They don’t care about technology as much as governance. One person said “We can always fix codes, blockchain, speed, etc. But who are we that is a REAL question >>> No one trust a centralized company put majority on top (when they make decisions)”

By incentives rules, a company >>> it always put CEO/the board on the top and then come down to stockholders and most companies don’t care about the customers. Worst case most CEO don’t care about anybody but himself.

The CEO always wanna stay in control so (s)he will put his BFF to powerful positions (Trump did it) >>> even you’re good/best, you might always on the bottom (never have power in making decision)


#7

when dealing with international, there is only one law >>> chaos law. That’s why we need strong incentives for all parties to protect the protocol/project.

Some people are still struggling why Bitcoin is the best.


#8

Hey @nguyenloc ,
thanks a lot for your response. I actually do really care about the technology. The technology behind Blockstack dApps was the reason why I got aware of the ecosystem and I have to admit that I like a lot of Blockstack dApps and the overall infrastructure compared to many solutions which are more popular.
However, I agree with the quote in the sense that the governance & design of ecosystems are extremly crucial for the survival of the ecosystem and sometimes even more imporant than the tech. For instance, a leading firm or initiator can build the greates technology or infrastructure for developers but if it captures most value for itself, the ecosystem will not survive as a result of poor governance. Trust is needed to cooperatively create value while power is used to competitively capture value. I am not saying anything about Blockstack’s capture mechanisms. I simply have some open questions which is why I hope that an employee of Blockstack PBC can answer them. It is simply important for my research that I understand the governance & design of the ecosystem.

I agree that chaos is omnipresent in complex systems, like an international one. However, rules and incentives (like you said) can still be useful to reduce chaos as they provide the frame how actors can behave.