On 03/19/2014 10:18 AM, Deepan Sekar wrote: > Hi Hi!
> > Im sorry for participating and contacting you so late about my interest in > the project of "Self-updating GNUnet with GNU Guix" but I just came across > GSoC 2014 two days ago. Anyways, I find the concept proposed really > interesting and would like to contribute. > > I have gone through the documentation manuals of both GNUnet and GNU Guix > but I've just started playing with the coding aspects. I apologize > beforehand if I make some technical errors and ask you to assist me in > correcting and understanding them better. > > Due to my late start, I realise I have a lot to cover in a few days but > I'll list what I've understood and my ideas on how to perform the required > task below. > > Essentially, the task at hand is to decentralize the existing process so > that the updates/packages can be downloaded from peers in GNUnet rather > than from the a centralized Guix server. In a crux, yes, that's the idea. > > Idea on how to implement this process: (I'm not sure if this is what is > expected, please read it and tell me if this is what is expected else I'll > make the recommended changes) > > 1. The Guix service which is to be implemented will use the hash key (given > by the user)and search in GNUnet DHT for a match. > 2. Once the match has been found, the authenticity of the peer holding the > binary file is confirmed. > 3. A Mesh channel is opened with the peer and the request for the file is > sent along with the current version installed in the user's system (if > there is one). > 4. At the peer which receives this request, a comparison of the version > sent by the user's request and the version available on the peer machine is > done. > 5. If the version available with the peer is higher (essentially the > update), then the update is downloaded to the user's machine. > 6. The host then tests for the authenticity of the package downloaded by > verifying the signature. > 7. Once the package is authenticated and installed (by Guix), the > client(user) publishes in GNUnet DHT that it has the package now so that > any other peer can repeat the same process with the current machine also as > a possible server. > We have discussed a bit on how to proceed with this project earlier. The discussions are available here: https://lists.gnu.org/archive/html/gnunet-developers/2014-03/threads.html As noted in the discussions, please apply with a roadmap of your implementation strategy soon as the deadline is nearing by. You should also join guix-devel and gnunet-developers mailing list and please direct your further questions there. Regards, Sree