[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GSoC] Guix + GNUnet: what’s next
From: |
Rémi Birot-Delrue |
Subject: |
Re: [GSoC] Guix + GNUnet: what’s next |
Date: |
Thu, 02 Jul 2015 18:49:08 +0200 |
Ludovic Courtès writes:
> I’m not completely clear on how search for substitutes will work,
> though. Currently, when the user wants to build /gnu/store/xyz, ‘guix
> substitute’ simply fetches http://hydra.gnu.org/xyz.narinfo. How will
> that work with GNUnet? Are we going to look up their /gnu/store file
> name?
I’ve considered a solution for that: GNUnet allows one to create
specific namespace and publish files under this namespace. Unlike
publishing under the “global namespace” where keywords are used to
identify a file, when publishing under a specific namespace files are
identified with a choosen identifier. Moreover, as a namespace is
basically a cryptographic key pair, and publishing a file under your
namespace means signing, one’s assured nobody else will publish under
her or his namespace. By the way, the private key associated with a
namespace is named “ego” or “pseudonym”.
It’s easy to test this feature:
# create a `test` ego/namespace
$ gnunet-identity -C test
# list the known egos in the form: `name - public key`
$ gnunet-identity -d
test - M2OC987U9LFJHQ8LC9SLCV4Q0ONHJV7FMTFQ2VRPE0M9R9MK5860
…
# index the file `foo.txt` under the `test` namespace
$ gnunet-publish -P test -t foobarbaz foo.txt
# find the file `foo.txt`
$ gnunet-search gnunet://fs/sks/M2OC987U9LFJHQ8LC9SLCV4…/foobarbaz
#0:
gnunet-download -o "foo.txt" gnunet://fs/chk/PL217ODD8EDSMOIQ3UT0…
Now if Alice wants to publish her binaries, she creates an ego/namespace
and publishes everything under it; Bob adds her namespace’s public key
to his authorized substitutes list, and when installing `/gnu/store/xyz`
the substitute will search for `gnunet://fs/sks/<Alice’s key>/xyz`.
Instead of publishing an archive we might also directly publish/index
the build, but I don’t know if it’s viable.
Does it seem right to you?
--
Rémi Birot-Delrue