From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id EEnPIkUcBmToewEASxT56A (envelope-from ) for ; Mon, 06 Mar 2023 18:00:53 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id 1VLXIkUcBmRkEAEAauVa8A (envelope-from ) for ; Mon, 06 Mar 2023 18:00:53 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 634298AEB for ; Mon, 6 Mar 2023 18:00:53 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pZECQ-0002Yp-CA; Mon, 06 Mar 2023 12:00:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pZE9q-0000R9-Pw for guix-devel@gnu.org; Mon, 06 Mar 2023 11:57:54 -0500 Received: from mail-wr1-x431.google.com ([2a00:1450:4864:20::431]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pZE9o-0000xn-QE for guix-devel@gnu.org; Mon, 06 Mar 2023 11:57:54 -0500 Received: by mail-wr1-x431.google.com with SMTP id t15so9538161wrz.7 for ; Mon, 06 Mar 2023 08:57:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678121870; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=giLzJ1Eth4ZPseOK1PlWJJ/zcom0Usr1gKkIzipQTdg=; b=pFdl06b2QZwqTM8FuH0GwOSjvExe4qSnjP74IK8yAh8sdTFxpcuyy9OG/PHKr5dBiT shE2+UDotJ224UV2w/TD8Goo+hfMgLTxLxUKMuNZ0PYAcOIA7twk4fuFkKPVZXnKPfPZ dDJomKazYPUn82hTkzwrXm+oEzVcSWpAS3+ychD6JycIyR7cMDpvbyzVg0GG+wnWW7z3 PmuEC+QzNhkVz0eHeTuk0VEuL/mPjrwI+g7+R8WHvKBnF5F9CrzfDKgaJAwjCOpaLfRm SLhfLta1vVVvsunhtZPeJdVHXUDpDxP2PzybuuRT5SzqzLO802D9ayE9TNdpcVUGnaHO z1mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678121870; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=giLzJ1Eth4ZPseOK1PlWJJ/zcom0Usr1gKkIzipQTdg=; b=nM2X3vG7Qxu5yw7cnsuV+rXGy4ndO+vgVz+952PmVas4thEhbQe3zb27YsuyvIzjLM w1QZ1Y1ZQ4MdpvSSo/dqLdKeVWGZYWDLG0zbtK7yhrhM4ih+nuL2yYQVp9kL6rNvSmwr 0M/rCpVER9ljMFvkQ75qm7I0jE7Iso1j/OV2L2fvo/f6PApYGE7p8oNUmD7S+Jg7WEky KmuEhfUDuWkMdeSM3mJ+VLOAwCJdOP1Y54fRaICo7mY2kYg5LbZQtq+IMP2N55Z9CDpK 6DVpGthIgTkiqh5+WeauGY/YEYSB84lPTM//gY7tDWh8e+DQ3s60hh5bfWNYzvX3b+z7 qonQ== X-Gm-Message-State: AO0yUKVwsdGIG0nIn//gTIwhwGOaqC4Fm90l9fZIQSxChpiLJ+TA3tZh OHYKmnTHZjdaGu4RZKQBwT0Idc4S0MzOtNrukQI= X-Google-Smtp-Source: AK7set/gUABPqto0qgtcr2WSNhob+2SqDsNrWQp3Mb50yQPlTqE5uTFRFB4NWyhdThHJH01DHnonzavo3yp8CsZ8f5o= X-Received: by 2002:a5d:6587:0:b0:2cc:4d03:54c4 with SMTP id q7-20020a5d6587000000b002cc4d0354c4mr2033086wru.11.1678121870533; Mon, 06 Mar 2023 08:57:50 -0800 (PST) MIME-Version: 1.0 References: <87bkl991iu.fsf@riseup.net> <86y1obmxko.fsf@posteo.net> In-Reply-To: <86y1obmxko.fsf@posteo.net> From: Shivam Madlani Date: Mon, 6 Mar 2023 22:27:39 +0530 Message-ID: Subject: Re: Fwd: [gnu-soc] GNU Guix Project: Decentralized substitute distribution To: pukkamustard Cc: Csepp , guix-devel@gnu.org, Attila Lendvai Content-Type: multipart/alternative; boundary="000000000000fba7ca05f63e3165" Received-SPF: pass client-ip=2a00:1450:4864:20::431; envelope-from=shivammadlani5@gmail.com; helo=mail-wr1-x431.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Mon, 06 Mar 2023 12:00:09 -0500 X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-TUID: Pt6LRBZN1OMm --000000000000fba7ca05f63e3165 Content-Type: text/plain; charset="UTF-8" Thanks a lot for the resources. I am currently going through them to clear out my basic concepts. Also, it would be great if you could share some more project related resources so I could play around with them a bit and experiment. Shivam On Sun, 5 Mar 2023 at 13:36, pukkamustard wrote: > > Hi Shivam, > > Thanks for your interest! > > Shivam Madlani writes: > > > 1) The project title states "decentralized"... which i don't get. How > > exactly is it decentralized? Similar to a P2P file sharing tech or > > something else (BitTorrent)? > > Actually it is similar to P2P file sharing exactly like BitTorrent :) > > The terms "centralized", "decentralized" and "distributed" are a bit > confusing. I like to think of them as illustrated in a paper by P. Baran > from 1964 [1]: > > - Centralized means that all nodes connect to one single central node. > - Decentralized means that nodes connect to a smaller set of nodes that > may be interconnected. This is similar to what is sometimes called > "federated" networks. > - Distributed means that all nodes are equivalent and connect to many > other nodes (like a grid or mesh). > > [1] > https://www.rand.org/content/dam/rand/pubs/research_memoranda/2006/RM3420.pdf#page=16&zoom=90,-494,792 > > The goal of the project is to make Guix substitute distribution > something more in-between decentralied and distributed. Currently it > resembels something between centralized and decentralized. > > The project will work atop of previous work to make substitute > distribution decentralized: https://issues.guix.gnu.org/52555 > > The idea is to use an encoding of content that allows the content, in > this case substitutes, to be distributed over many different protocols > and transport mediums including IPFS, GNUnet, NDN, CoAP, HTTP. The basic > ideas are very similar to BitTorrent. > > There are a few directions in which a project go (quote from the project > description): > > - Improving the user experience and integration > - Adding more transport protocols (e.g. IPFS, GNUnet, NDN, CoAP,...) > - Conducting performance evaluations > > > 2) As per the project idea I interpreted that the technologies involved > > would be c/c++, shell and a bit of networking. Is this correct or am I > > missing something? > > The main programming language involved is Guile Scheme (as already > mentioned by Csepp). > > There might be some interaction with existing tools and libraries that > would require programming in other languages (e.g. C/C++/Rust/Go) but > that is not the focus or main task of the project. > > > 3) What would be the duration of the project? (175hrs/350hrs). > > I think 175h should be enough to do interesting and meaningfull work. > > Csepp writes: > > > As for other details, I CC'd Pukkamustard, who will be the mentor for > > this project if I'm not mistaken, and should be able to fill in the > > blanks. > > Thanks for the CC, also CCing Attila who might co-mentor (yay!). > > -pukkamustard > --000000000000fba7ca05f63e3165 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Thanks a lot for the resources. I am currently going throu= gh them to clear out my basic concepts. Also, it would be great if you coul= d share some more project related resources so I could play around=C2=A0wit= h them a bit and experiment.

Shivam

On Sun, 5 Mar 2= 023 at 13:36, pukkamustard <p= ukkamustard@posteo.net> wrote:

Hi Shivam,

Thanks for your interest!

Shivam Madlani <shivammadlani5@gmail.com> writes:

> 1) The project title states "decentralized"... which i don&#= 39;t get. How
> exactly is it decentralized? Similar to a P2P file sharing tech or
> something else (BitTorrent)?

Actually it is similar to P2P file sharing exactly like BitTorrent :)

The terms "centralized", "decentralized" and "dist= ributed" are a bit
confusing. I like to think of them as illustrated in a paper by P. Baran from 1964 [1]:

- Centralized means that all nodes connect to one single central node.
- Decentralized means that nodes connect to a smaller set of nodes that
=C2=A0 may be interconnected. This is similar to what is sometimes called =C2=A0 "federated" networks.
- Distributed means that all nodes are equivalent and connect to many
=C2=A0 other nodes (like a grid or mesh).

[1] https://www.rand.org/content/dam/rand/pubs/research_memoranda= /2006/RM3420.pdf#page=3D16&zoom=3D90,-494,792

The goal of the project is to make Guix substitute distribution
something more in-between decentralied and distributed. Currently it
resembels something between centralized and decentralized.

The project will work atop of previous work to make substitute
distribution decentralized: https://issues.guix.gnu.org/52555
The idea is to use an encoding of content that allows the content, in
this case substitutes, to be distributed over many different protocols
and transport mediums including IPFS, GNUnet, NDN, CoAP, HTTP. The basic ideas are very similar to BitTorrent.

There are a few directions in which a project go (quote from the project description):

- Improving the user experience and integration
- Adding more transport protocols (e.g. IPFS, GNUnet, NDN, CoAP,...)
- Conducting performance evaluations

> 2) As per the project idea I interpreted that the technologies involve= d
> would be c/c++, shell and a bit of networking. Is this correct or am I=
> missing something?

The main programming language involved is Guile Scheme (as already
mentioned by Csepp).

There might be some interaction with existing tools and libraries that
would require programming in other languages (e.g. C/C++/Rust/Go) but
that is not the focus or main task of the project.

> 3) What would be the duration of the project? (175hrs/350hrs).

I think 175h should be enough to do interesting and meaningfull work.

Csepp <rainglo= om@riseup.net> writes:

> As for other details, I CC'd Pukkamustard, who will be the mentor = for
> this project if I'm not mistaken, and should be able to fill in th= e
> blanks.

Thanks for the CC, also CCing Attila who might co-mentor (yay!).

-pukkamustard
--000000000000fba7ca05f63e3165--