[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GNUnet-developers] [GSoC] Guix + GNUnet: what’s next
From: |
Ludovic Courtès |
Subject: |
Re: [GNUnet-developers] [GSoC] Guix + GNUnet: what’s next |
Date: |
Thu, 02 Jul 2015 22:32:25 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
(Sorry, I had misspelled the GNUnet mailing list address.)
Rémi Birot-Delrue <address@hidden> skribis:
> 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?
Sounds good! I wasn’t use whether the ID passed to ‘gnunet-publish -t’
could be used as a key to look up the data, but that seems to be the
case.
Thanks,
Ludo’.