Existential threat
There is a lot of talk regarding the superior software innovation of the Internet Computer, which I am very excited about. But we must also acknowledge that without the hardware (computational capabilities) keeping pace, it will become a bottleneck. In fact, I think it already has, and looking at our pace, it is much worse than one would expect. There are also worrying aspects in the current design that will become an attack vector in the future. I do want to mention that I don’t want to tackle or single out anyone specific with this letter. It’s a genuine worry based on what I see and know. I wouldn’t be surprised if a lot of work is happening behind the scenes. Let me first provide some context and then formulate some critical questions from that.
Let’s first look at the growth of our computational capacity (from what I have been able to gather).
The following graph shows that we haven’t added a single node provider in 2 months. I can relate, as I have been in the queue for a few months and haven’t been contacted since the beginning.
While this graph shows that we have grown our fleet to 228 nodes.
To provide some context on this magnitude, an avg global tech company has 10s of thousands of nodes running on cloud providers. I know, because I still work in such a traditional company, where we manage our enormous AWS fleet. This is just one company, in the ocean of AWS cloud. My concern here is not that we are far from AWS capabilities. It’s more about the lack of a clear plan for how to get there.
We couldn’t host a killer app on the Internet Computer right now. It would be fragile and not perform. Without an equally innovative master plan to increase our fleet size, we will not achieve the desired outcome. I have heard statements of having eventually millions of node machines, but how exactly are we going to get there? This is just wishful thinking at this point. Not sure about the size of our nodes exactly, but we must have a few dozen racks of servers right now in the world. This is nothing!
Public node providers will be an easy attack vector
The whole premise of the Internet Computer is blockchain singularity - crucially important and for me, a revolutionary point in time - meaning separating from the Traditional System and enabling an infinite digital platform for creators worldwide. It is certainly possible, but not with the current design. Our actual computational capabilities could easily be hurt by governments right now. In effect, they could take down a large part of our system, which will have catastrophic consequences. While being decentralized, publicly known node providers will inevitably be targeted. As I understood, the only reason to know the node providers is to evenly distribute our fleet geographically and among identities. That’s certainly important, but the current strategy will also make our system vulnerable. Imagine in 5y, when IC has grown 10x, China/Europe/USA states/etc asking their local providers to shut down immediately (due to restricting freedom of speech). While NNS community can vote for freedom, despite the cryptographic innovation, this could still wipe out large parts of IC and hurt millions of people in the community. Node providers should be pseudonymized and not known geographically to the Traditional Systems.
Onboarding new node providers is the biggest bottleneck of adoption as I see. As I mentioned, I have been in the queue for a while. Specifically, I would be the first node provider in the Baltics/Scandinavia region, so would surely bring further decentralization to the network. I also have a Level3+ (high-tech/standards) green energy datacenter as a partner, ready to get started. You cannot get any better than this, to be completely honest. And yet, nothing. I lack visibility and don’t know. Surely a tremendous amount of work is happening inside Dfinity for this, but at the same time, I don’t see this being talked about anywhere, which makes me worry.
Here are some feature requests for Dfinity and the community:
- visibility into the node provider queue and pace. I would like to know how many are in the queue, what are the timelines, what is the projected node count into the future (based on queued entities)? This info should be known at least inside the community (e.g. II entities), and updated regularly/daily.
- streamlined scalable procedure to onboard new node providers exponentially for the next decade. Most likely and desirable, as far as I see, onboarding node providers should be decentralized. There is no reason known to me that this has to go through Dfinity (it can in the beginning) nor that it has to make the data providers known. We should aim to obfuscate this, making the system more robust.
- we need a dedicated FLEET team and Dfinity focus with the goal to “set and follow the multi-year trajectory of IC nodes distribution”. This is not a given and requires innovation. How to build a decentralized fleet in the world of chip shortages, governmental pressures, resource scarcity, and expect to keep up the pace of software (exponential) growth? Very hard. We shouldn’t wait 4y before we start thinking about it seriously. It’s a fundamental part of the IC value proposition and the current graphs and lack of visibility show that something needs to be changed.
- In the meantime, I do want to tag somebody so we can get going. I don’t know enough, so I’ll go with the one person I see always willing to help, @diegop. Please help, who is the appropriate contact person from Dfinity side?
- Badlands is not the solution. It is an interesting idea and potentially helps with developer adoption and community building but won’t solve the bottleneck I am referring to.
Final remarks: as a system architect, I look at the Internet Computer as the front-runner to enable the next level of software development. A scalable and tamper-proof (single)system entirely on-chain is an alien tech at this point. I am absolutely fascinated by the technical stack and can already see where this could be going in the next years. So I don’t worry about the software side at all, with the self-proclaimed “biggest crypto team in the space heading the way”. But I feel the game is not won on the software side. Our sovereignty will be enabled by crypto running on hardware and to fulfil the dream, we need an absolutely amazing worldwide fleet of node machines. We need some seriously ambitious goals and a team that might actually get us there.
Thank you for your time