The Badlands (an opinion piece)

(see the original article at the bottom, most recent updates on top)

Update July 13, 2021

There hasn’t been a lot of discussion around Badlands since the original announcement and community discussion. We do have this brief statement from Dom on Twitter:

I can’t help but wonder…

[start-of-speculation]

Dominic Williams received immense pressure from the FUD because the Internet Computer node providers are still pretty centralized. Centralized isn’t necessarily bad at this point. Most good decentralized projects started centralized and then leaned into decentralization over time. While he was receiving a lot of FUD, he was especially receiving pressure from people who wanted increased decentralization on node providers.

I wonder if he knew all along that the Internet Computer should just continue to do their thing, ensuring the technology worked smoothly, building good tech, etc., but because of the pressure and unrealistic expectation of immediate decentralization, he wanted to help the community to come to their own conclusions.

So he comes up with the Badlands idea and Tweets about it frequently over the span of a few days. The goal here was to propose something that could actually happen, and even seemed like it was going to happen, but would allow the community to reason through the tradeoffs, even though Dom knew it wasn’t the right time for it.

Finally, the community decides that while there is a lot of merit to something like this, there are tradeoffs involved in the decision. We don’t want a chain fork as it confuses the community, and why do something on a fork when you could just do it on a new subnet type. And the new subnet type makes sense, but it still takes time and requires a lot of new things to work properly. And why jump straight to decentralization when we can gradually decrease the specs of node provider machines and learn along the way?

So Dominic, seeing he achieved what he was looking for, backs off from Twitter/Medium posts and slips in a side comment Tweet about how it needs to simmer for a while. Why put so much pressure into the idea just to pull back and let the momentum slide away? Well my speculation is it was all part of the plan.

Ultimately, Dominic gets what he wanted: a greater community understanding of the technical and community challenges of decentralizing the node providers too early and how hard it would be to get right initially.

So while some of us were worried that Dominic and the Dfinity foundation were losing sight of their 20 year roadmap (the fact that they even have a 20 year roadmap is insanely impressive), and we were worried they just wanted to fork the chain for more token to make more $$, it was all part of the plan to get to where we are now. Now the community understands what it would take to decentralize node providers, the community knows that Dominic Williams and the Dfinity foundation have put thought into decentralizing node providers, and there is a better mutual understanding for where things are right now and how to move forward.

Now the Dfinity foundation can continue to develop the amazing tech that is the Internet Computer, like they have been doing for years.

[end-of-speculation]

Update July 7, 2021

What I believe to be the ideal solution to the “Badlands” concept was perfectly articulated by lastmjs on Twitter.

Start adding less powerful node subnets over time and learn throughout the process. Then eventually get down to raspberry pi levels of compute/decentralization, with everything implemented as different subnet types.

Regarding the name “Badlands”, many community members have voiced they would like the name to change. Here is an unofficial official DSCVR poll on what the community thinks the new name should be.

Update July 5, 2021

There have been 2 main polls on Twitter asking the community their opinion on the “Badlands” concept.

Dfinity Explorer: https://twitter.com/dfinityexplorer/status/1411595418983571458 (before Dom’s blog post)
Lastmjs: https://twitter.com/dfinityexplorer/status/1412083759936012295 (after Dom’s blog post)

Before Dominic Williams blog post (see July 4 PM update on this page for a link) the Dfinity Explorer poll (1000+ responses) showed 41% voting for a new subnet type, 39% voting for fork, and 20% voting to not implement.

After Dominic Williams blog post, the lastmjs poll (600+ responses) showed 51% voting for a new subnet type, 28% voting for fork, and 21% voting to not implement.

The community (so far) seems to be favoring creating a new subnet type rather than forking the chain or not implementing. There is also a significant portion of the community voting to not implement (and continue the current course), meaning maybe a slower rollout of the idea of decentralized node providers is warranted.

Update July 4, 2021 PM

New blog post by Dominic Williams explaining more about the “Badlands” concept. New things we learn from the blog post:

1. The Badlands network will standardize around a specific Raspberry Pi configuration that costs less than $250.
2. In his blog post, Dominic explains things as if the Badlands is implemented as a separate network. This doesn’t mean that is how it is going to happen, but maybe indicates that is his current preference.
3. Badlands nodes will be less reliable (run by normal people on normal internet connections) so we will have to increase replication to maintain security and stability. This means cost will go up and speed will go down.
4. Dominic mentions we may need to “shield the network activity of node machines running from the homes of participants from ISPs using Tor-like networks.” This hasn’t been determined yet, but adds evidence to the idea that The Badlands may be able to achieve Tor-like anonymity.
5. Data privacy will not be possible on The Badlands. Computation will be replicated across many nodes and the nodes will not have any protection from the node owners. This is similar to virtually every blockchain today (except the Internet Computer).
6. “Badlands node providers may need to upgrade their routers, and configure them with traffic shaping, to ensure that they continue to function as expected when, for example, video streaming is taking place.”
7. “Badlands could also potentially introduce an adaptation where a proportion of the rewards disbursed to nodes for each time interval they are running relate to their relative rates of block production.” This would incentivize all node providers to keep their nodes functional and performant.
8. One benefit of forking the chain is you could pursue a different governance model with the BNNS.
9. In the chain fork scenario ICP and BDL would be interoperable, meaning smart contracts could call each other between chains and BDL could be exchanged for ICP.
10. Allowing anyone to become a node provider on The Badlands could be a nice training zone for those who may want to some day be node providers for the Internet Computer.

We still don’t have answers to our most pressing questions, but at least we have more information. I’ll keep updating this article as we learn more.

Update July 4, 2021 AM

Really interesting discussion on the concept of The Badlands on DSCVR. A few interesting considerations and questions worth mentioning here:

1. If the badlands is meant to be similar to a Tor network, is that possible as a subnet type? Also worthwhile to ask whether the badlands could even be considered as something akin to a Tor network. [UPDATE] Tor obfuscates ip addresses through complicated web traffic routing. This could be done on the Internet Computer directly, or it could be done on a specific “Badlands” subnet type. We do not have to fork to a new chain in order to gain tor-like network properties. [/UPDATE]
2. How can we best communicate to the Dfinity foundation as community supporters? If we feel strongly one way or the other, how can we get our point across? Social media? Blog posts? Discussing in online communities?
3. Building on #2, do we need community proposal functionality separate from the NNS for the community to discuss and vote on changes that do not directly affect the Internet Computer Protocol?
4. The general consensus is we can come up with a better name than the badlands. Some interesting alternative names suggested by the community could be the People’s IC (PIC), The Outlands, The Basement, or The Outerlands.
5. Allowing anyone to be a node provider could result in a degraded user experience (e.g. slow), that when experienced on the Internet Computer, could result in a tarnished reputation or lack of credibility as users of the Internet Computer would be unaware of the subnet type on which the application was running.
6. Will BDL be pegged to ICP if there is a chain fork? It is unclear what the benefit of the new chain and token are, whether pegged to ICP or not, especially when we just want to allow anyone to be a node provider.
7. Are there forking benefits like avoiding territory regulations that the Internet Computer has to deal with right now?
8. If we let anyone be a node provider, and the number of nodes explodes, will the increased node rewards cause ICP inflation to be too high and ultimately weaken the ICP utility token price?

Still no answers to any of these, but amazing community discussion so far.

Original Article Posted July 3, 2021

Dominic Williams, founder of the DFINITY foundation, recently announced a new extension to the Internet Computer called The Badlands. There’s a little we know and a lot we don’t know. I’ll do my best to summarize the current status of The Badlands and I’ll update this article as we learn more.

What We Know

1. Amateur node providers
2. Attend people parties to add nodes
3. Broader Internet Computer ecosystem
4. This will be good for everyone!
Retrieved from: https://twitter.com/dominic_w/status/1411520287271788550

Amateur Node Providers

Right now on the Internet Computer you need to apply to be a node provider, and there is a long waiting list. You also need special hardware to ensure your nodes run fast enough to provide a supreme experience on the Internet Computer.

The Badlands would be the exact opposite. Anyone could start their own node whenever they wanted, with a maximum of 1 node per person per quarter. This will dramatically increase the number of nodes in the system and will result in increased decentralization when compared with the Internet Computer right now.

This is a highly requested feature from the community and there are many people very happy about the possibilities here.

Attend People Parties to Add Nodes

The limit of 1 node per person per quarter would be enforced through people parties. A people party is when you physically get together with other people and combine cryptographic information in order to become verified to do something, which in this case means create a node on The Badlands.

So to become a node provider, you would have to attend a people party (maximum once per quarter) to combine cryptographic information with other people in order to be authorized to create a node.

Broader Internet Computer Ecosystem

The Badlands will broaden the Internet Computer ecosystem because it will increase the number of node providers in the system. Instead of having to run nodes in a data center, I can spin up my own server at home (if I wanted) to use as a node in The Badlands. This will enable increased decentralization, although may result in decreased performance as there would be fewer (if any) requirements on node providers in The Badlands.

This Will Be Good For Everyone!

We don’t have a lot of information about how (or why) it will be good for everyone, but presumably increasing the number of node providers (specifically amateur node providers) to make a broader Internet Computer ecosystem is better for everyone. I’ll update this when we know more.

What We Don’t Know

1. How The Badlands is going to be implemented?

There are two main choices here so far: (1) Fork the Internet Computer into a new chain and new token, The Badlands and BDL (for example), or (2) Create new subnets called Badlands subnets that allow anyone to be a node provider (per the requirements I discussed above about people parties).

I had a nice discussion with lastmjs and we think the best answer is to create new Badlands subnets on the existing Internet Computer. Why introduce a new chain and token if we are simply trying to increase the number of people who can be node providers? Dominic mentions it is possible to pursue Badlands subnets, but that it would take longer than a fork due to some technical hurdles. We feel that this is a small price to pay to avoid the confusion around a forked chain and token, even if they are interoperable and ICP bootstraps the Badlands.

2. What power does the community have in this decision?

On May 10, 2021 the Internet Computer mainnet was launched. The Network Nervous System (NNS) is fully functional, there are over 100 nodes, and thousands of people own and stake ICP. So now that we have a community, what role do we have in this Badlands decision? Can we submit an NNS proposal to voice our concerns? Can we submit an NNS proposal voicing our desire to add Badlands subnets rather than forking the Internet Computer into a new Badlands chain and BDL token?

3. Can we change the name Badlands?

The Badlands has a negative connotation which implies that bad things (e.g. illegal activities) will take place on this more decentralized fork (or set of subnets) on the Internet Computer. While illegal activities will likely not be tolerated on The Badlands, it seems appropriate to select a better name that is more indicative of the fact that any physical person can attend people parties to become a node provider.

4. If there is an Internet Computer fork, how will the BDL to ICP conversion work?

Will BDL be pegged to ICP so that it can be exchanged 1:1 at any time? Will ICP holders receive an equal amount of BDL at launch and then the tokens will be completely separate? Can ICP be used in The Badlands to stake or for cycles? Can BDL be used on the ICP mainnet?

Dominic said the initial launch of the BDL token could start with an exact copy of the ICP ledger (meaning whoever has ICP will receive that amount of BDL). But we don’t know whether BDL would continue to be pegged to ICP moving forward. If they are two completely separate tokens, it seems confusing since the two chains would be so similar and we could have accomplished the same objective with a new subnet type.

What Can You Do To Help?

1. Be active on social media (Twitter, DSCVR, Reddit) about The Badlands.
2. If you agree with this article, advocate for including The Badlands as a new subnet type in the existing Internet Computer rather than forking the chain and creating a new token. There are nuances here we all may not fully grasp yet, but based on what we know right now, I think this is our best option.
3. Be polite and generous. There is a TON we still don’t know. Be civil, ask questions, and think critically about these issues.
4. Think about the centralization of the Internet Computer right now (Dfinity foundation making many important decisions) and whether we want this to change, and how. If we want it to change, how can we be more vocal about our desire to include more community voices in these kinds of decisions? Is the NNS the right place for these proposals? What would another community voting/feedback system look like?
5. Keep coming back to this article for updates. As we learn more I’ll post updates at the top.

css.php