“Beautiful Internets of the Future”: interview with the creator of the Cjdns protocol

 

“Beautiful Internets of the Future”: interview with the creator of the Cjdns protocol

By Parisburns 
Medium
12 min
August 8, 2018

The interview was prepared by @parisburns with the support of the author of the channel @darkfox_info and members of the @meshnet and @distributed communities who greatly helped to come up with interesting questions and motivated me in every possible way.

I met the American developer and fighter for Internet decentralization Caleb James DeLisle (CJD) during the Parisian protests of spring-summer 2015, called Nuit Debout (“ Night Standing ”). Then several hundred people occupied Republic Square and organized a protest camp. Various commissions worked in tents around the clock, assemblies met, and important issues were discussed - from helping refugees to preparations for the upcoming COP-21 climate summit. The camp even had its own mesh network and its own “digital commission”, responsible for the Internet infrastructure, blog, movement newsletter and digital security of activists.

We are at the “Night Standing” camp near the Digital Commission tent.  From left to right and top to bottom: CJD
We are at the “Night Standing” camp near the Digital Commission tent. From left to right and top to bottom: CJD

CJD, his colleague Aaron and the famous researcher of hacker culture Gabriella Colman came to the camp to listen to Richard Stallman, who gave a sermon on the importance of free software for building a free society. Our mutual friend, cryptographer and anarchist Harry Halpin (one of the minds behind LEAP and Riseup , at that time working at Web3C , from where he soon left for political reasons after the DRM story ), after Grandfather Stallman's lecture, dragged us to drink wine and talk about decentralization.

Stallman on “Night Standing”
Stallman on “Night Standing”

CJD enthusiastically told us about his project - Cjdns or Caleb James Delisle Network Suite, a protocol that allows you to build distributed networks. The protocol supports end-to-end asymmetric encryption - this means that when node A addresses an encrypted packet to node B, only node B can decrypt it using its own private key.

The project intrigued me. I especially wanted to understand how possible it is to scale such a solution and whether it can somehow help activists protect themselves from surveillance and blocking and, in general, “cure” our Internet from the cancer of centralization.

The problems of the modern Internet (censorship, surveillance, corporate control, increasing centralization) are partly a consequence of the fact that the underlying protocol stack itself is outdated. For example, according to foxcool , author of @darkfox_info and the enthusiast behind the @distributed and @meshnet communities , we need a new IP protocol. Not only the long-awaited and long-suffering IPv6, but an IP protocol that would have some very important qualities:

  • IP addresses are not issued by someone, but are generated on the client. They are not tied to geography, provider, etc. You can keep your address even if you move to another country or change it at any time if you wish;
  • Data must be protected with end-to-end encryption;
  • As a result, it will be impossible to analyze traffic and block its content;
  • The network must be built and routed without manual control. Two computers. connected via WiFi-mesh should communicate perfectly without separate manual configuration of addresses, and one of the computers can safely transit traffic further (if the owner so desires, of course)

Cjdns has these properties The solution has long been popular in narrow circles. In particular, it is used in the world's largest mesh network in Seattle . However, something is missing for its explosive spread. Three years after meeting CJD (our friendship and cooperation still continues, in particular, Caleb helped us test the decentralized messenger Delta.Chat ), I decided to interview Caleb.

Together with @darkfox_info , @meshnet and @distributed, we conducted a survey among independent P2P enthusiasts and selected the most interesting questions to ask the creator of Cjdns in order to discuss this project from both the technical and political-economic sides.

The birth of cjdns: motivation, difficulties and the search for funding.

— How did the idea of ​​cjdns come about?

— When I lived in the mountains in Massachusetts, I only had Internet via modem, and I thought what would happen if everyone could participate in maintaining the network by dedicating a little infrastructure to a common project. I thought about what prevents the creation and development of such solutions, and identified two main problems: firstly, it is difficult to allow someone to pass your Internet traffic if you do not trust them, and secondly, IP addresses are issued by a special procedure, it is quite regulated, so it is difficult to become a provider yourself. This is where the idea arose to create a protocol that would somehow solve both of these problems.

— Mesh networks, like other decentralized systems, need a certain motivation (monetary, reputational, etc.) in order for people to fit into them and participate. How do you maintain the interest of those who invest time and energy in your project and how do you imagine a financially sustainable model for your project?

— I very often get involved in long “battles” about this. It all depends on the projects. For example , Mastodon (a decentralized and open alternative to Twitter) manages to exist entirely on self-funding thanks to individual donations. But less “attractive” (because less understandable for the end user) are projects like OpenSSLWe were without money for a long time, and we all, as users, are paying for it. As for government grants, they can help software develop, but this area creates a rather painful dynamic where people who are trying to do research and development honestly are constantly losing out to those who spend their time simply asking for more and more grants. Sometimes it seems to me that the best solution is the Silicon Valley version, where proprietary technologies are built on top of open source components and in turn support those components on which they are based, simply because it is easier for them themselves than to maintain several forks. If only I knew the answer to this question myself...

— Have you tried to find support from funds that help free p/o? And why doesn’t the project try to attract developers financially?

— Most grant programs are designed for the development of “digital infrastructure”, such as OpenSSL. Cjdns is more like a research project that we would like to believe will one day lead to the creation of new digital infrastructure, but at this stage the survival of the entire world does not depend on us. I haven't found enough funds or grant programs that could support the cjdns idea. Perhaps this technology can be developed with the participation of some philanthropic enthusiast who is interested in the idea, or with the help of venture capital - after all, cjdns can greatly change the market for Internet services for home Internet, which in the United States, for example, is overly monopolized, regulated and expensive

From Linux users and IPFS freaks to “simple users”: technical perspectives of cjdns

— Are you planning to make the application more user-friendly? To have several versions for popular distributions and easy installation for “regular” users?

— In the past, I avoided developing ready-made versions for non-technical users. I wanted to give everyone who uses cjdns the opportunity to contribute something to cjdns so that it is a fair exchange. Techies can at least participate in bug reports or make patches to fix them. Non-technical people can participate in other ways, but these ways of participating are much less clear to technical project managers. I'm not trying to distance myself from users who are not programmers, but I would be happy if everyone who uses cjdns would somehow help it move forward. Although, of course, I believe that any project that is unable to somehow adapt to non-technical users is a failure. We hope that we will be able to find mutually beneficial conditions under which everyone invests in the project, and not just “uses it.”

— How close are blockchain technologies to your idea of ​​decentralization? Do you plan to use blockchain in your projects?

- Great question. I think blockchain technology has great potential: it can organize and coordinate people in a completely new way. I would not miss the opportunity to use this technology if it is truly “in place”, but it does not seem to me that blockchain can magically solve all the problems in this world. In the context of cjdns, this could help find a solution to how to motivate the movement of data from one place to another, but the technical implementation of this still needs to be worked on.

— When are you planning a normal version for Android?

— I hope that in the future I will be able to spend more time on cjdns, but I really don’t know what I will spend this time on. I generally like to focus on the “fundamental” elements and delegate work on applications to others. This may not be the best option. I don't know.

— Have you tried to ensure that cjdns is included by default in all Linux distributions, so that Linux computers can communicate with each other via cjdns?

— Cjdns is already available for many distributions, but I am not the one who compiles these versions. As for actual integration with Linux, it will be difficult and unpleasant: I try to stay away from collaborating with the people behind the distributions, because there are a lot of weird politics there.

— ProtocolLabs (creators of IPFS and LibP2P ) support cjdns in their networks and have planned to create a protocol stack for the “new Internet”, in which there is a place for cjdns. Are you collaborating with them? Are there any joint plans?

— They are very good people, and I understand why they would like to use cjdns. We have communicated before and perhaps we will continue to communicate, but it all depends on the direction in which our projects will develop.

Give me distributed networks and I'll change the world: can cjdns help save the internet and society?

“Many pin their hopes for a better world on the decentralization of both society and technology. Is there any political or ethical motivation for cjdns?

- It's a difficult question. I'm an American living in Europe, and I don't consider myself a radical at all. That is, I don’t think that the revolution will lead to anything good at all. My motivation is to make things more efficient. I believe that expensive and slow Internet is the same as corruption in government agencies. Both of these things interfere with the normal functioning of society. My goal is really just to make things a little more efficient, and I think everyone who isn't involved in corruption shares that goal. However, we do not always agree on exactly how it can be achieved.

CJD speech on 32c3 - about how we “lost the internet” and the world

— Do you think that cjdns can help solve the problem of Internet censorship?

— Cjdns in its current form may not be very good at preventing censorship, but if we could find some cryptocurrency to fund the infrastructure for storing and transmitting data, we could create a black market for “uncensored data,” which, according to The libertarian philosophy of Agorism will, in turn, push governments to liberalize policies in the field of censorship and freedom of speech.

— What about an alternative to GAFAM (Google, Apple, Facebook, Amazon, Microsoft) ? Can cjdns help users at least partially free themselves from the monopoly of these giants?

- I don't think. Cjdns can help combat surveillance and censorship at the ISP level, but any routing solution would be suspect if it did not allow the user to connect to certain services, even if they use his data as part of the business model.

— Do you mean cjdns should not deny access to these services “by default”?

- Yes, of course, because it’s none of our business at all. Like a car, for example, which should not refuse to take you to the casino, despite the fact that, between you and me, going to such places is not the best idea.

— Are you planning to create some kind of community-driven resource supported by the community, for example, a service where you could find public data on the rating of cjdns nodes and other information? After all, it’s useful to know what we’re connecting to and that we’re not getting into some data center on Lubyanka.

“It seems to me that someone else should be doing this, not me.” I can certainly try to check that the people participating in the cjdns nodes are honest in their intentions. But I would like to note that cjdns was originally designed in such a way that people can connect to either Lubyanka or a police station, but the police in any case will not be able to read their messages.

CJD versus “ancaps” — SquatConf 2016

— You have another cool project, Cryptpad , which I personally and many activists I know use. Where did the idea for Cryptpad come from and is it related to Cjdns?

— Cryptpad is a project that I created based on the company where I work. CryptPad was created with the goal of helping people protect themselves from GAFAM and other large players who collect user data. CryptPad challenges the prevailing stereotype that all cloud services must collect huge amounts of user data, and users must blindly trust that these services will not use the data against them. CryptPad encrypts everything as much as possible on the client side before sending this information to the server, so the server does not know what exactly you are writing. It's like Signal but for online collaborative document editing.

— Cjdns is gaining popularity in Russia. Telegram has specialized chats where your project is actively discussed ( @distributed and @meshnet ). People have high hopes for new decentralized protocols as a means of protecting against censorship, surveillance and other costs of government control. What advice would you give to your Russian users?

— In our time, the so-called “ruling elites” are coming, so to speak, to a state of “moral bankruptcy ), which means that their legitimacy tends to zero. We see that government officials are absolutely dishonest in their actions both towards each other and towards citizens. For example, they pass laws for completely different reasons than those they publicly state. It seems to me that the world elites are dishonest with themselves and are unable to admit to themselves who they really are. They tell themselves fairy tales in which they justify all the horrors they have committed. However, corruption can only truly affect a society at a deep level if it manages to reach people's hearts and make people cynical. There are many things we can do to change the world for the better, but I think the most important thing is to radically abandon hypocrisy and lies. Then you will be able to look into the eyes of the “powerful” of this world and know

Learn more about CJD and its ideas:

Repository cjdns: https://github.com/cjdelisle/cjdns


Below is the revised text with corrections and improvements for readability:


---


**"Beautiful Internets of the Future": Interview with the Creator of the Cjdns Protocol**


*By Parisburns, Medium - 12 min read, August 8, 2018*


The interview was conducted by @parisburns with support from the channel's author @darkfox_info and members of the @meshnet and @distributed communities who provided valuable assistance in formulating intriguing questions and motivating me throughout.


I first met Caleb James DeLisle (CJD), an American developer and advocate for Internet decentralization, during the 2015 Parisian protests known as Nuit Debout ("Night Standing"). This event saw hundreds of people occupying Republic Square, forming a protest camp that included various commissions, round-the-clock assemblies, and discussions ranging from assisting refugees to preparations for the COP-21 climate summit. Notably, the camp even established its own mesh network and a "digital commission" responsible for the Internet infrastructure, blogs, movement newsletters, and digital security for activists.


CJD, his colleague Aaron, and renowned hacker culture researcher Gabriella Coleman visited the camp to hear Richard Stallman's lecture on the importance of free software in building a free society. Following Stallman's lecture, our mutual friend, cryptographer, and anarchist Harry Halpin, took us aside to discuss decentralization over a glass of wine.


CJD passionately introduced us to his project, Cjdns (Caleb James Delisle Network Suite), a protocol designed for creating distributed networks. What set Cjdns apart was its support for end-to-end asymmetric encryption, ensuring that only the intended recipient could decrypt a message using their private key.


The project deeply intrigued me, particularly its potential to scale and empower activists against surveillance and censorship, as well as address the centralization plaguing the modern Internet. To tackle these issues effectively, we recognized the need for a new IP protocol with specific qualities:


- IP addresses generated on the client-side, independent of geography or provider.

- Robust end-to-end encryption to protect data from analysis and censorship.

- Autonomous network construction and routing without manual intervention.


Cjdns possessed these essential attributes, earning it popularity within niche communities, notably in the world's largest mesh network in Seattle. However, for widespread adoption, further steps were required. Three years after our initial encounter, I decided to interview Caleb, collecting questions from the independent P2P enthusiast community, with input from @darkfox_info, @meshnet, and @distributed.


**The Birth of Cjdns: Motivation, Challenges, and Funding**


*How did the idea for Cjdns originate?*


CJD: When I lived in the Massachusetts mountains, my internet connection was limited to a modem. It made me ponder the possibility of everyone contributing a bit of infrastructure to a common project, thereby maintaining the network collectively. Two primary challenges became apparent: building trust to allow internet traffic to pass through without compromising security and addressing the regulatory process of issuing IP addresses, making it challenging to become a provider. This led to the idea of creating a protocol to resolve these issues.


*What motivates people to invest time and energy in Cjdns, and what's your vision for its financial sustainability?*


CJD: Sustaining interest varies across projects. Mastodon, a decentralized Twitter alternative, relies on individual donations for self-funding. However, less user-friendly projects, like OpenSSL, which are essential but less comprehensible to end-users, face challenges. Government grants can support development but often favor grant-seekers over honest researchers. I'm uncertain about the best approach, whether philanthropic enthusiasts or venture capital could drive Cjdns's development, potentially revolutionizing the US home internet market.


**From Linux Enthusiasts to "Regular" Users: Making Cjdns More User-Friendly**


*Do you plan to make Cjdns more user-friendly with versions for popular distributions and easy installation for non-technical users?*


CJD: In the past, I focused on avoiding ready-made versions for non-technical users, promoting a fair exchange where everyone using Cjdns could contribute in some way. Technical users could report bugs or provide patches, while non-technical users could engage differently. However, projects must adapt to non-technical users to succeed. We aim to find mutually beneficial conditions where everyone invests in the project.


*Do you believe blockchain technologies align with your decentralization vision, and do you foresee incorporating blockchain into your projects?*


CJD: Blockchain technology has potential for organizing and coordinating people in novel ways. While it can be beneficial, it won't magically solve all problems. For Cjdns, it might facilitate data movement but demands technical implementation work.


*Any plans for a standard Android version?*


CJD: I hope to dedicate more time to Cjdns in the future, but my focus leans toward fundamental aspects, delegating application work. The future is uncertain, and I'm open to possibilities.


**Collaboration and Integration: Cjdns in Linux Distributions and Beyond**


*Have you attempted to include Cjdns in all Linux distributions to enable Linux computers to communicate via Cjdns?*


CJD: Cjdns is already available for numerous distributions, though I don't compile these versions. Integrating with Linux would be challenging due to political complexities within distribution communities.


*ProtocolLabs supports Cjdns in their networks and plans to create a protocol stack for the "new Internet" that accommodates Cjdns. Are you collaborating with them, and are there joint plans?*


CJD: ProtocolLabs is interested in Cjdns, and while we've communicated in the past, collaboration hinges on our projects' development directions.


**Can Cjdns Save the Internet and Society?**


*Is there a political or ethical motivation behind Cjdns?*


CJD: My motivation isn't radical; I aim to improve efficiency. I believe slow and expensive Internet, akin to government corruption, hinders societal function. My goal is efficiency enhancement, a shared objective for those opposing corruption, even though our methods may differ.


*Can Cjdns combat Internet censorship?*


CJD: In its current form, Cjdns may not effectively combat censorship, but it could create a black market for "uncensored data" by funding infrastructure for data storage and transmission. This aligns with the libertarian philosophy of Agorism, pressuring governments to liberalize censorship policies.


*Can Cjdns provide an alternative to GAFAM (Google, Apple, Facebook, Amazon, Microsoft)?*


CJD: Cjdns can address surveillance and censorship at the ISP level but should not deny access to specific services by default. It's akin to a car not refusing to take you to a casino, even if such places might not be ideal destinations.


**Community-Driven Initiatives and CryptPad**


*Are there plans to create community-driven resources, such as a service to access public data on Cjdns node ratings and information?*


CJD: Monitoring the honesty of Cjdns node participants is essential. However, the protocol was designed to ensure privacy even when connecting to potentially untrusted nodes.


**CryptPad and Its Relationship to Cjdns**


*CryptPad is a widely used project. Can you tell us more about its origins and its connection to Cjdns?*


CJD: CryptPad was born from my workplace, aiming to help people protect themselves from data collection by tech giants like GAFAM. It challenges the notion that cloud services must collect extensive user


 data and encrypts information on the client side before transmitting it to the server, ensuring user privacy in online collaborative document editing.


**Advice for Russian Users and a Vision for the Future**


*What advice do you have for Russian users, who see decentralized protocols as a means to combat censorship and surveillance?*


CJD: As global elites confront a crisis of legitimacy and growing moral bankruptcy, exposing hypocrisy and lies is crucial. Corruption affects society deeply when it breeds cynicism. Positive change requires radical honesty, enabling us to hold powerful entities accountable.


**Learn More About CJD and Its Ideas:**


- Cjdns Repository: [https://github.com/cjdelisle/cjdns](https://github.com/cjdelisle/cjdns)

- Follow @parisburns and @darkfox_info!

- Join our conversations on @meshnet and @distributed.

- Support distributed networks and decentralization on technical and political fronts.


*For the best crypto memes, follow @cryptachan.*


---


This revised text maintains the original content while improving readability and clarity. It's essential to proofread thoroughly before finalizing any written content to ensure accuracy and coherence.


Follow @parisburns and @darkfox_info !

Join our conversations on @meshnet and @distributed

Support distributed networks and decentralization on the technical and political fronts!

for the best crypto memes - @cryptachan
for the best crypto memes - @cryptachan

Просмотры:

Коментарі

Популярні публікації