Zum Inhalt springen

Zookos Dreieck

aus Wikipedia, der freien Enzyklopädie

Zookos Dreieck (engl. Zooko's triangle) ist eine Theorie von Zooko Wilcox-O'Hearn, nach der ein Namensraum in einem Rechnernetz nur zwei der drei Eigenschaften dezentralisiert, sicher und aussagekräftig gleichzeitig erfüllen kann.<ref>Zooko Wilcox-O'Hearn: <templatestyles src="Webarchiv/styles.css" />{{#if:20011020191610

      | {{#ifeq: 20011020191610 | *
    | Vorlage:Webarchiv/Wartung/Stern{{#if: Names: Decentralized, Secure, Human-Meaningful: Choose Two | {{#invoke:WLink|getEscapedTitle|Names: Decentralized, Secure, Human-Meaningful: Choose Two}} | {{#invoke:Webarchiv|getdomain|http://zooko.com/distnames.html}} }} (Archivversionen)
    | {{#iferror: {{#time: j. F Y|20011020191610}}
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/DatumDer Wert des Parameters {{#if: wayback | wayback | Datum }} muss ein gültiger Zeitstempel der Form YYYYMMDDHHMMSS sein!
         | {{#if: Names: Decentralized, Secure, Human-Meaningful: Choose Two | {{#invoke:WLink|getEscapedTitle|Names: Decentralized, Secure, Human-Meaningful: Choose Two}} | {{#invoke:Webarchiv|getdomain|http://zooko.com/distnames.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y|20011020191610}} im Internet Archive{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
      }}
  }}
      | {{#if:
          | {{#iferror: {{#time: j. F Y|{{{webciteID}}}}}
    | {{#switch: {{#invoke:Str|len|{{{webciteID}}}}}
       | 16= {{#if: Names: Decentralized, Secure, Human-Meaningful: Choose Two | {{#invoke:WLink|getEscapedTitle|Names: Decentralized, Secure, Human-Meaningful: Choose Two}} | {{#invoke:Webarchiv|getdomain|http://zooko.com/distnames.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer }} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{{webciteID}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | 9 = {{#if: Names: Decentralized, Secure, Human-Meaningful: Choose Two | {{#invoke:WLink|getEscapedTitle|Names: Decentralized, Secure, Human-Meaningful: Choose Two}} | {{#invoke:Webarchiv|getdomain|http://zooko.com/distnames.html}} }} {{#ifeq:  | [] | [ | ( }}Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y| 19700101000000 + {{#expr: floor {{#expr: {{#invoke:Str|sub|{{#invoke:Expr|base62|{{{webciteID}}}}}|1|10}}/86400}} }} days}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
       | #default= Der Wert des Parameters {{#if: webciteID | webciteID | ID }} muss entweder ein Zeitstempel der Form YYYYMMDDHHMMSS oder ein Schüsselwert mit 9 Zeichen oder eine 16-stellige Zahl sein!Vorlage:Webarchiv/Wartung/webcitation{{#if:  || }}
      }}
    | c|{{{webciteID}}}}} {{#if: Names: Decentralized, Secure, Human-Meaningful: Choose Two | {{#invoke:WLink|getEscapedTitle|Names: Decentralized, Secure, Human-Meaningful: Choose Two}} | {{#invoke:Webarchiv|getdomain|http://zooko.com/distnames.html}} }} (Memento{{#if: {{#if:  | {{{archiv-bot}}} |  }} |  des Vorlage:Referrer}} vom {{#time: j. F Y|{{{webciteID}}}}} auf WebCite{{#if:  | ;  }}{{#ifeq:  | [] | ] | ) }}
  }}
          | {{#if: 
              | Vorlage:Webarchiv/Today
              | {{#if:
                      | Vorlage:Webarchiv/Generisch
                      | {{#if: Names: Decentralized, Secure, Human-Meaningful: Choose Two | {{#invoke:WLink|getEscapedTitle|Names: Decentralized, Secure, Human-Meaningful: Choose Two}} | {{#invoke:Webarchiv|getdomain|http://zooko.com/distnames.html}} }}  
                 }}}}}}}}{{#if:
    | Vorlage:Webarchiv/archiv-bot
  }}{{#invoke:TemplatePar|check
     |all      = url=
     |opt      = text= wayback= webciteID= archive-is= archive-today= archiv-url= archiv-datum= ()= archiv-bot= format= original=
     |cat      = Wikipedia:Vorlagenfehler/Vorlage:Webarchiv
     |errNS    = 0
     |template = Vorlage:Webarchiv
     |format   = *
     |preview  = 1
  }}{{#ifexpr: {{#if:20011020191610|1|0}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}}{{#if:|+1}} <> 1
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Genau einer der Parameter 'wayback', 'webciteID', 'archive-today', 'archive-is' oder 'archiv-url' muss angegeben werden.|1}}
  }}{{#if: 
    | {{#switch: {{#invoke:Webarchiv|getdomain|{{{archiv-url}}}}}
        | web.archive.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von Internet Archive erkannt, bitte Parameter 'wayback' benutzen.|1}} 
        | webcitation.org = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von WebCite erkannt, bitte Parameter 'webciteID' benutzen.|1}} 
        | archive.today |archive.is |archive.ph |archive.fo |archive.li |archive.md |archive.vn = 
          {{#if:  || }}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Im Parameter 'archiv-url' wurde URL von archive.today erkannt, bitte Parameter 'archive-today' benutzen.|1}}
      }}{{#if: 
         | {{#iferror: {{#iferror:{{#invoke:Vorlage:FormatDate|Execute}}|}}
             | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Wert des Parameter 'archiv-datum' ist ungültig oder hat ein ungültiges Format.|1}}
          |  }} 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Pflichtparameter 'archiv-datum' wurde nicht angegeben.|1}}
      }}
    | {{#if: 
         | {{#if:  || }}Vorlage:Webarchiv/Wartung/Parameter{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Der Parameter 'archiv-datum' ist nur in Verbindung mit 'archiv-url' angebbar.|1}}
      }}
  }}{{#if:{{#invoke:URLutil|isHostPathResource|http://zooko.com/distnames.html}}
    || {{#if:  || }}
  }}{{#if: Names: Decentralized, Secure, Human-Meaningful: Choose Two
    | {{#if: {{#invoke:WLink|isBracketedLink|Names: Decentralized, Secure, Human-Meaningful: Choose Two}}
        | {{#if:  || }}
      }}
    | {{#if:  || }}Vorlage:Webarchiv/Wartung/Linktext_fehlt
  }}{{#switch: 
    |addlarchives|addlpages= {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/Parameter}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: enWP-Wert im Parameter 'format'.|1}}
  }}{{#ifeq: {{#invoke:Str|find|http://zooko.com/distnames.html%7Carchiv}} |-1
    || {{#ifeq: {{#invoke:Str|find|{{#invoke:Str|cropleft|http://zooko.com/distnames.html%7C4}}%7Chttp}} |-1
         || {{#switch: {{#invoke:Webarchiv|getdomain|http://zooko.com/distnames.html }}
              | abendblatt.de | daserste.ndr.de | inarchive.com | webcitation.org = 
              | #default = {{#if:  || }}{{#if: 1 |Vorlage:Webarchiv/Wartung/URL}}{{#invoke:TemplUtl|failure| Fehler bei Vorlage:Webarchiv: Archiv-URL im Parameter 'url' anstatt URL der Originalquelle. Entferne den vor der Original-URL stehenden Mementobestandteil und setze den Archivierungszeitstempel in den Parameter 'wayback', 'webciteID', 'archive.today' oder 'archive-is' ein, sofern nicht bereits befüllt.|1}}
            }} 
       }}
  }} (englisch), abgerufen am 16. Januar 2011</ref>

In einem Namensraum werden Namen auf Adressen oder andere Werte abgebildet. Die drei genannten Eigenschaften gelten in großen, öffentlichen Namensräumen typischerweise als wünschenswert.

Dezentralisiert
Es gibt keine zentrale Autorität, die Namen ausstellt oder über deren Gültigkeit entscheidet. Der Namensraum wird von mehreren Autoritäten verwaltet, die sich nicht alle gegenseitig im gleichen Maße vertrauen. Das entscheidende Kriterium ist, dass es keine hierarchische Vertrauensbeziehung gibt, sondern beliebig aufgebaute Vertrauensnetze.
Sicher
Die Integrität von Namenszuordnungen wird gewahrt. Ein Angreifer kann nicht eine Zuordnung manipulieren, ohne dass der Manipulationsversuch erkannt wird.
Aussagekräftig
Die Aussagekraft eines Namens beinhaltet zum einen, dass ein Name menschenlesbar ist und zum anderen, dass ein Mensch aus einem Namen eine Bedeutung ableiten kann. Als aussagekräftig gelten selbst wählbare Namen, jedoch nicht automatisch generierte, zufällig scheinende Zeichenfolgen.

Gemäß der Theorie muss beim Entwurf eines Namensraums ein Kompromiss getroffen werden, bei dem auf eine der drei Eigenschaften verzichtet wird. Beispiele:

  • Das Domain Name System verwendet aussagekräftige Namen in einer hierarchischen Struktur. Mit DNSSEC kann die Integrität und Authentizität von Namenszuordnungen überprüft werden. Der Namensraum ist verteilt, aber aufgrund des hierarchischen Vertrauensverhältnisses nicht dezentralisiert.
  • Die „.onion“-Namen von TOR Hidden Services werden aus Hashwerten des Serverschlüssels abgeleitet. Damit sind sie manipulationssicher und benötigen keine zentrale Instanz zur Erzeugung oder Validierung, allerdings sind sie nicht aussagekräftig und nicht frei wählbar.
  • Nicknamen im Internet Relay Chat sind – im Rahmen der Zeichen- und Längenbeschränkung – frei wählbar und aussagekräftig und benötigen i. d. R. keine zentrale Instanz zur Erzeugung. Allerdings sind sie nicht sicher, da jeder Nutzer einen beliebigen, zurzeit nicht verwendeten Nicknamen wählen kann. In einigen IRC-Netzen gibt es darum wieder eine zentrale Instanz (NickServ), bei der man Nicks registrieren kann. Dann sind sie zwar sicher, aber diese Sicherheit ist dann abhängig von dieser zentralen Instanz.

Lösungsversuche

Aaron Swartz beschrieb im Januar 2011 ein Namenssystem, das auf Bitcoin basiert und nach seiner Aussage die drei Eigenschaften von Zookos Dreieck erfüllt.<ref>Squaring the Triangle: Secure, Decentralized, Human-Readable Names, Aaron Swartz, 6. Januar 2011</ref> Dan Kaminsky kritisierte an Swartz’ Namenssystem die Angreifbarkeit durch Verzögerungszeiten bei der Informationsausbreitung und durch Sybil-Angriffe. Er stellt in Frage, ob durch die schwächeren Sicherheitsgarantien ein solches System noch Zookos Dreieck gerecht wird, und vergleicht das Sicherheitsmodell mit dem von SSH.<ref>Spelunking the Triangle: Exploring Aaron Swartz’s Take On Zooko’s Triangle Dan Kamninsky's blog, Dan Kaminsky, 13. Januar 2011</ref>

Das von Swartz beschriebene Konzept ähnelt Namecoin, das im April 2011 als Fork von Bitcoin veröffentlicht wurde.<ref>vinced: Namecoin - a distributed naming system based on Bitcoin, 18. April 2011. Abgerufen am 17. Januar 2013.</ref>

Einzelnachweise

<references />