all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Christian Grothoff <grothoff@in.tum.de>
To: gnunet-developers@gnu.org, bug-guix@gnu.org
Subject: Re: Using GNUnet for binary package distribution
Date: Thu, 21 Mar 2013 19:01:04 +0100	[thread overview]
Message-ID: <514B4AE0.9070405@in.tum.de> (raw)
In-Reply-To: <87620kykg6.fsf@gnu.org>

On 03/21/2013 02:02 PM, Ludovic Courtès wrote:
> Hello GNUnet!
>
> GNU Guix provides a transparent binary/source deployment model.  A
> server can claim: “hey, I have the binary for
> /nix/store/v9zic07iar8w90zcy398r745w78a7lqs-emacs-24.2!”, where the
> base32 string uniquely identifies a build process.  If you trust that
> server to provide genuine binaries, then you can grab them instead of
> building Emacs locally.
>
> The “traditional model” has been to have a build farm build and serve
> binary packages.  In that model, users trust the build farm to provide
> authentic binaries.
>
> I’m interested in providing a /practical/ decentralized distribution
> model.  It seems to me that GNUnet’s DHT would be the most appropriate
> (as opposed to AFS).  WDYT?
>
> One of the problems to be solved is authentication: users would have to
> specify a list of GNUnet pseudonyms of trusted binary providers, or
> something like that.  Managing this list would have to be as easy as
> possible, to allow the system to scale.
>
> Another issue is privacy: we want to give users an incentive to share
> their binaries, but at the same time, they should have control over what
> gets shared (for instance, Christian may want to hide the fact that he’s
> installed Python and not Guile ;-)).
>
> What do you think of the idea?  Would the DHT retain files long enough
> for this to be practical?

Well, the GNUnet DHT expects that the data source periodically refreshes 
the values by re-issuing the PUT; without that, it cannot work. 
Furthermore, you need to consider that DHTs are typically only useful 
for small data pieces (think <= 64k), not for large files.  So what 
you'd store in the DHT is the meta data (where to find the large files), 
not the actual files.

gnunet-update (svn/gnunet-update/) is a little project where we started 
to work on a GNUnet installer that is supposed to include an update 
mechanism that downloads updates via GNUnet --- after all, if you are
using a recent version of GNUnet, sharing your installation binaries
costs you at least no disk space at all, and if censorship kicks in,
having a way to update in a decentralized fashion might become important.

So gnunet-update is planned to provide the means to locate files based 
on some package description (signatures, meta data) and download them
via the P2P network.  Fundamentally, there is nothing wrong with using
the basic ideas to distribute packages other than GNUnet itself.

Our current approach to package management is essentially to look at ldd 
and grab all dependencies (unless compatible versions are already
available on the target system, based on libtool versioning info); the
idea was to make it work with 'any' distribution as long as the 
architecture matches.  Naturally, that doesn't mean that in principle a 
different package manager could not be used/supported.

gnunet-update is not yet finished, we're currently planning to revise 
some internal part that gnunet-update will depend on (stream); still, 
help in moving this area along would be of course welcome.

Happy hacking!

Christian

  parent reply	other threads:[~2013-03-21 18:01 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-21 13:02 Using GNUnet for binary package distribution Ludovic Courtès
2013-03-21 17:03 ` Andreas Enge
2013-03-21 18:01 ` Christian Grothoff [this message]
2013-03-21 18:14   ` Sree Harsha Totakura
2013-03-22 12:25     ` [GNUnet-developers] " Ludovic Courtès
2013-03-22 12:57       ` Christian Grothoff
2013-03-22 13:56         ` Ludovic Courtès
2013-03-22 12:29   ` [GNUnet-developers] " Ludovic Courtès
     [not found]     ` <514C6DF0.5000800@in.tum.de>
2013-03-22 14:52       ` Ludovic Courtès
2013-03-23 20:51         ` Sree Harsha Totakura
2013-03-25 10:46           ` Sree Harsha Totakura
2013-03-25 10:51             ` Christian Grothoff
2013-03-25 12:58               ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=514B4AE0.9070405@in.tum.de \
    --to=grothoff@in.tum.de \
    --cc=bug-guix@gnu.org \
    --cc=gnunet-developers@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.