P2P-Auto-Update

Ideen und Vorschläge sind willkommen.

P2P-Auto-Update

Beitragvon PCA42 » Do Feb 17, 2011 4:59 pm

Idee:
Yacy soll sich nicht immer von einer festen Liste an Quellen updaten lassen, sondern ein Update soll innerhalb des P2P-Netzes verteilt werden.

Umsetzung:
Der Pfad für die heruntergeladenen Releases wird in die http-root des integrierten Web-Servers verschoben. Damit kann jeder von dort die Updates herunterladen. Die tar.gz-Datei des Updates wird signiert um sicherzustellen, daß das Archiv fehlerfrei ist. Sobald ein Peer nun beim Ping ein neue Version entdeckt, kann er entsprechend seiner Einstellungen mit einem Update beginnen. Damit brauch eine neue Version nur in einen Maintainer-Peer eingespielt werden, der Rest erledigt sich von alleine.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: P2P-Auto-Update

Beitragvon Orbiter » Do Feb 17, 2011 5:15 pm

der Gedanke ist nicht schlecht zumal die Downloadkapazität auf yacy.net (wo nicht unbedingt die meisten Upgrades drüber gehen) auch schon am Limit ist: über 1100 Downloads waren es zuletzt letztes Jahr pro Monat, in den letzten 2 Wochen hatte ich schon rund 1000 und das sind ja schon 20GB. Die Last zu verteilen wäre ganz gut.

Urban (KIT) hatte da auch so eine Idee aus der Biologie: er hatte angeregt dass 'große' Peers sich nicht der Gefahr aussetzen sollten, ein schlechtes Release zu nehmen und ein Update auszuführen. Das kann man erreichen indem man betrachtet wie die Ratten Vergiftungen vermeiden:

Bei den Ratten frisst immer zuerst die schwächste Ratte, geht sie dann ein ist nicht viel verloren. Nach einiger Zeit fressen die stärkeren und zuletzt die stärksten, dann können die stärksten sicher sein dass das Futter nicht vergiftet ist. Somit überleben die starken.

Bei YaCy-Peers könnte man das auch so machen: auto-update machen wenn ein peer 'jung' ist, aber bei alten Peers nur wenn genügend 'jüngere' auch laufen. Von denen können die älteren ja dann die Releases ziehen.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: P2P-Auto-Update

Beitragvon PCA42 » Do Feb 17, 2011 5:23 pm

Das mit dem Ratten-Schema hat auch noch einen anderen Vorteil: die älteren Peers sind aufgrund ihrer Datenbank-Größe in einem großen Netz durch die Suchanfragen und DHT stärker ausgelastet, als kleine frische Peers. Damit können dann die kleinen Peers die Verteilung besser stemmen. Man kann das ja an der Datenbank-Größe im Verhältnis zur durchschnittlichen Datenbank-Größe aller Peers und einer Prozentzahl an Peers, die seit x Stunden mit einem neuen Version laufen festmachen.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: P2P-Auto-Update

Beitragvon Orbiter » Do Feb 17, 2011 6:06 pm

ja genau so oder mal schauen wie sich das entwickelt.

Es sollte aber möglich sein, dass ein Peer ausschalten kann ob er sein Release zur Verfügung stellen will. Das könnte man damit erreichen dass man konfiguriert ob das RELEASE Verzeichnis in DATA/RELEASE oder in DATA/HTDOCS/RELEASE liegen soll. Das könnte doch schon mal jemand bauen. Ich will das jetzt nicht machen weil ich noch zu viel andere Dinge zu tun habe, zuletzt wie ihr vielleicht gesehen habt mit Veränderungen auf yacy.net
Wer wagt sich dran?
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: P2P-Auto-Update

Beitragvon Copro » Mo Mär 07, 2011 2:57 am

Da sich das Feature sehr interessant anhört und im ersten Schrtt nur Konfigurationsarbeit sein könnte habe ich mir das mal angesehen.
Ist aber auch einiges an Änderungen im yacycore in dem z.B. für Updaten an sich das DATA/RELEASES hartcodiert zu sein scheint. Und da man hier ja bei einem Update auf eine Version mit kaputtem Updater nicht so leicht wieder zurück kommt habe ich da erst noch Respekt vor und wiederhole nur Orbiters Aufruf ... denn das Feature an sich ist toll:
Wer wagt sich dran?
Copro
 
Beiträge: 207
Registriert: Do Dez 13, 2007 3:37 am

Re: P2P-Auto-Update

Beitragvon lulabad » Mo Mär 07, 2011 11:38 am

Ich möchte hier noch ein paar Anmerkungen machen.

Wie soll das abgesichert werden, dass niemand ein kompromittiertes Update einschläusst?
Das geht IMHO momentan nur durch die Signierung, welche im Augenblick nur für meine Updatequelle existiert.
Damit würden Updates aber wieder nur von einzelnen Peers kommen können.
Das ist dann aber doch wieder fast das gleiche wie jetzt.

Meine Kapazitäten sind übrigens noch lange nicht am limit. Da geht noch einiges.
lulabad
 
Beiträge: 709
Registriert: Mi Jun 27, 2007 11:40 am
Wohnort: Im Herzen Bayerns

Re: P2P-Auto-Update

Beitragvon Low012 » Di Mär 08, 2011 4:14 pm

Das Thema "Web of trust" wurde vor einer halben Ewigkeit mal diskutiert (kann sein, dass das sogar noch im alten Forum war), ohne dass es ein Ergebnis gab. Mir fallen noch ein paar Dinge ein, wo so etwas praktisch wäre. Ich könnte mir z.B, vorstellen, dass man Blacklisten oder Lesezeichen von anderen Peers automatisch importiert oder aber man Daten nur für bestimmte Peers freigeben möchte, aber das geht auch nur, wenn sich der andere Peer authentifiziert und ich nicht befürchten muss, das mir ein Angreifer etwas unterschieben möchte. Das ist ja eigentlich das gleiche Problem wie mit verteilten Updates.

Das Ganze müsste aber auch halbwegs benutzerfreundlich ablaufen, also mit minimalem Aufwand für den Anwender und ohne dass man (als Anwender) großes Wissen über Kryptografie haben muss. Ich würde mir das im Idealfall so vorstellen, dass YaCy automatisch Schlüssel erzeugt und die Benutzer die dann entweder über einen halbwegs sicheren Kanal (Mail, Download von Website, persönliches Treffen) miteinander austauschen, weil sie sich kennen oder ich sage, dass ich zu einem bestimmten Augenblick einfach (warum auch immer) einem bestimmten Peer vertraue und mir den Public Key per Klick auf einen Button in YaCy von dort herunterlade.

Ich würde dann z.B. Orbiter vertrauen und er mir. Weil ich lulabad nicht persönlich kenne, Orbiter aber vielleicht schon (keine Ahnung, ob das so ist, ist ja aber auch nur nur ein Beispiel), kann Orbiter dann das Update von lulabad beziehen und ich bekomme es dann von Orbiter. Das funktioniert natürlich nur, so lange nicht jemand in der Kette einfach wahllos irgendwelchen Leuten vertraut.

Ist das halbwegs sinnvoll skizziert oder habe ich etwas übersehen?
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: P2P-Auto-Update

Beitragvon PCA42 » Di Mär 08, 2011 5:35 pm

Das Modell ist hier vielleicht zuviel des Guten. Es sollte hier ausreichend sein, wenn die Releases von einer Quelle signiert sind. Diese Möglichkeit können ja alle Developer bekommen. Damit wäre das meines Erachtens ausreichend abgesichert.
PCA42
 
Beiträge: 621
Registriert: Mi Jan 23, 2008 4:19 pm
Wohnort: @Home

Re: P2P-Auto-Update

Beitragvon Lotus » Di Mär 08, 2011 8:46 pm

Low012 hat geschrieben:Ist das halbwegs sinnvoll skizziert oder habe ich etwas übersehen?

Ich würde es nach Vorbild sozialer Netzwerke noch viel einfacher skizzieren: Der Nutzer wählt einen Peer aus, dem er das Vertrauen ausspricht, der Betreiber des anderen Peers wiederum muss dies bestätigen und nun vertrauen sich beide Peers. Eine Signatur müsste dann direkt ohne weitere User-Interaktion ausgetauscht werden.
Lotus
 
Beiträge: 1699
Registriert: Mi Jun 27, 2007 3:33 pm
Wohnort: Hamburg

Re: P2P-Auto-Update

Beitragvon Orbiter » Fr Mär 11, 2011 12:52 pm

auch wenn das jetzt nicht viel mit P2P-Update zu tun hat fiel mir heute Morgen was ein was aber das Thema Auto-Update und das Ratten-Überlebensmodell zusammenbringt: ein automatisches Update machen nach 'herkömmlicher' Art wenn mindestens 3 andere Peers ebenfalls mit dem aktuellen Release sichtbar sind.. Das wäre besser als das aktuelle Auto-Update nach Versionsnummer, das ist ja sowieso nun durcheinandergeraten.
Orbiter
 
Beiträge: 5792
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main


Zurück zu Wunschliste

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

cron