Decentralized web project versus DFINITY project (comparing 2 decentralization ‘flavors’)
1. Introduction
Decentralization is a dear topic to me. I believe decentralization is the future — a revolutionary technology that has the potential to change the way we use the Internet radically.
This article compares two different approaches to decentralization; I call them ‘flavors’ — our implementation in the Decentralized web project and the one of the DFINITY project.
Personally, I find the DFINITY approach pretty cumbersome. We, on the other hand, take a very minimalistic approach to decentralization.
Besides comparing the technology, I did discover a ‘little’ secret of DFINITY, which I find troubling.
At stake is democratizing of the Internet — either breaking up or extending current oligarchies in technology.
2. The ‘little’ Secret
On Friday, May 7th, 2021, the DFINITY project had a launch event live on YouTube.
I find the presentation impressive, very professional, with many interviews and insights. However, it most likely cost tons of money to produce.
A recording of the event is available on this link -
One slide, on the mark of — 12:19 (12 mins 19 secs) is showing the partners of the DFINITY project.
For copyright reasons, I do not want to include it as an image but just quote in text. The slide contains this statement -
…we have a team of engineers and researchers from world’s leading technology organizations…
and, the logos of ‘who is who’ of the world’s tech oligarchs — Google, Facebook, Amazon, Apple, Microsoft, IBM, Intel, Samsung, Oracle…
Joining the tech oligarchs on the slide are Wall St. interests — namely Goldman Sachs.
And, not to ‘miss the boat’ Uber hopped in that group too!
So, that’s the ‘little’ secret that slipped through the cracks — the oligarchs and monopolists of the current centralized internet together with Wall St. are trying to take over the upcoming decentralized internet as well.
Fortunately, early or late, nature and society select the most efficient system.
This is how the familiar to the Western world roman numeric system lost in dominance to the exotic but much more efficient Arabic numeric system.
3. On Identity
Every decentralization implementation has to define the identity of the users.
DFINITY project identifies new first-time users through submitting a fingerprint on a mobile phone or USB device which then assigns a number for the user.
Although the name of the user is not typed the user surrenders their very sensitive personal information and potentially their privacy.
Decentralized web project takes a different approach — minimalistic and privacy-preserving. It identifies new first-time users only by e-mail address and IP address.
4. Comparing the network
Both decentralization projects aim to build a network of nodes.
The vision of DFINITY is to have concentrated computing power centers in regions of the world.
I was really curious about who is going to provide the computing centers. Having learned the ‘little’ secret of DFINITY, when having Amazon, Google, and Microsoft as partners, one does not need to possess psychic ability to guess who is going to provide it.
For me it is a troubling aspect — partnering with the largest cloud computing providers and using their services is just going to be extending their dominance.
Our vision of the building of a decentralized network of nodes is based on users running nonstop at home one of 2 choices of network devices. For more on our network of nodes please check this article.
In the best-case scenario, the size of the DFINITY network of nodes will be several hundred, worldwide.
In the best-case scenario, the size of the Decentralized web network of nodes will be in hundreds of millions, worldwide.
5. On network applications
Maybe it is a Swiss thing (having contributors from Switzerland) but naming a DFINITY network application a ‘canister’ involves associations for me with chemical weapons.
The word is probably ok to use in Switzerland but it may get the special attention of US government security agencies…
Jokes aside, the approach of DFINITY is to require a developer who wants to deploy their decentralized app to convert from their preferred programming language to Web-Assembly, which then is going to be deployed, converted to a binary, and then run in the ‘canister’.
This approach is maybe ok for a simple program but may run into problems with a program using additional special libraries. All of these libraries have to be converted to web assembly as well.
As mentioned above, one of the 2 choices in our project of decentralized bridge/node is raspberry pi, running at the home of a user of the decentralized web.
Our current image of bridge/node includes natively — python, node.js, and go-lang pre-installed. A user who is also a developer can deploy a python, javascript, or a go program natively on their own bridge/node, or request deployment on other nodes/bridges.
In addition, the bridge/node image includes a docker container program so that a developer can ‘drop’ a container with any other program on their own bridge/node, or request deployment on other nodes/bridges.
Our approach to network apps avoids the issues of conversion in DFINITY, for example, converting a python program in web assembly and then from web assembly to binary, hoping the binary produced does not have issues while working.
7. Comparing communication
One last, but probably the most important distinction — in the spirit of decentralization.
The DFINITY project misses the fundamentals of enabling decentralization and relies on current centralized ways of communication.
An example of a messaging network application deployed in a DFINITY ‘canister’ has all its users going through the same ‘canister’ to communicate with each other. Such a network app differs from the centralized facebook messenger app only in the lack of a domain name.
Our decentralized web project favors direct user to user communication.
One of the basics that users in our dWeb project need to understand is the outward and inward types of communication.
Currently, the large majority of internet users communicate with outward only type of communication. But it is possible to break out of the confinement and enable outward + inward types of communication.
Only through enabling 2 directional/outward + inward types of communication, we can achieve true decentralization.
Conclusion
Maybe I had to appeal to the sense of humor of the reader while reading — from the very beginning.
The article is in no way disrespectful to another decentralization project, which like us is forging its unique path in technology development.
As a developer myself in the Decentralized web project, I respect the efforts of the fellow developers of the DFINITY project.
Finally, I did attempt to connect on LinkedIn with the chief scientist of the DFINITY project who appeared frequently in the launch event video. I hope he will be reading this article.
Resources
DINO (decentralized in name only) versus true decentralization
You are welcome to connect with me on:
Discord — https://discord.gg/Zwp3Vs65dk
LinkedIn — https://www.linkedin.com/in/paul-arssov-arstech-com-biz-org