(Sorry, I had misspelled the GNUnet mailing list address.) Rémi Birot-Delrue <asg...@free.fr> 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’.