{"id":34632,"date":"2019-10-31T21:59:31","date_gmt":"2019-10-31T18:59:31","guid":{"rendered":"https:\/\/prohoster.info\/blog\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti\/"},"modified":"2019-10-31T21:59:31","modified_gmt":"2019-10-31T18:59:31","slug":"ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti","title":{"rendered":"TON: Telegram Open Network. Teil 1: Einf\u00fchrung, Netzwerkebene, ADNL, DHT, Overlay-Netzwerke","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Teil 1: Einf\u00fchrung, Netzwerkebene, ADNL, DHT, Overlay-Netzwerke\" src=\"\/wp-content\/uploads\/2019\/05\/65710678b9e432476cf1b6e24348a7ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Seit zwei Wochen wird im Runet \u00fcber Telegram und die sinnlose und gnadenlose Blockade durch Roskomnadsor diskutiert. Viele wurden dabei collateral getroffen, aber das ist alles Material f\u00fcr Posts auf Geektimes. Mich \u00fcberraschte jedoch etwas anderes \u2014 ich habe bisher auf Habr\u00e9 keinen einzigen Beitrag zur anstehenden Ver\u00f6ffentlichung des auf Telegram basierenden TON-Netzwerks \u2014 Telegram Open Network \u2014 gesehen. Ich wollte diesen Mangel beheben, denn es gibt viel zu erforschen \u2014 auch wenn es keine offiziellen Aussagen dazu gibt.<\/p>\n<p><\/p>\n<p>Ich erinnere daran \u2014 es gibt Ger\u00fcchte, dass Telegram ein sehr umfangreiches privates ICO gestartet hat und bereits unglaubliche Summen gesammelt hat. Es wird angenommen, dass noch in diesem Jahr die eigene Kryptow\u00e4hrung Gram eingef\u00fchrt wird \u2014 und jeder Telegram-Nutzer automatisch ein Wallet haben wird, was an sich einen erheblichen Vorteil gegen\u00fcber anderen Kryptow\u00e4hrungen darstellt.<\/p>\n<p><\/p>\n<p>Leider kann ich, da es keine offiziellen Aussagen gibt, nur von <noindex><a rel=\"nofollow\" href=\"https:\/\/denull.ru\/telegram\/ton-tech.pdf\">einem Dokument unbekannter Herkunft<\/a><\/noindex>, ausgehen, worauf ich Sie gleich hinweise. Nat\u00fcrlich k\u00f6nnte es sich als sehr geschickte F\u00e4lschung herausstellen, aber es ist auch nicht ausgeschlossen, dass dies das echte Whitepaper des zuk\u00fcnftigen Systems ist, verfasst von Nikolai Durov (und wahrscheinlich von jemandem der Investoren geleakt). Aber selbst wenn es ein Fake ist, wird uns niemand verbieten, ihn zu studieren und zu diskutieren, oder?<\/p>\n<p><\/p>\n<p>Was steht also in diesem Dokument? Ich werde versuchen, es mit meinen Worten wiederzugeben, nah am Text, aber auf Deutsch und etwas menschlicher (Nikolai m\u00f6ge mir mit seiner Neigung zur formalen Mathematik verzeihen). Beachten Sie, dass dies selbst im Falle seiner Echtheit eine vorl\u00e4ufige Beschreibung des Systems ist und sich mit gro\u00dfer Wahrscheinlichkeit bis zur \u00f6ffentlichen Einf\u00fchrung \u00e4ndern wird.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Wir erfahren, dass neben der Kryptow\u00e4hrung noch wirklich sehr viel mehr geplant ist. Lassen Sie uns der Reihe nach darauf eingehen.<\/p>\n<p><\/p>\n<ul>\n<li><strong>TON Blockchain<\/strong>. Dies ist die Grundlage des gesamten Systems. Wenn Sie \u00fcberhaupt nicht wissen, was ein <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%91%D0%BB%D0%BE%D0%BA%D1%87%D0%B5%D0%B9%D0%BD\">Blockchain<\/a><\/noindex> ist \u2014 ich empfehle, es herauszufinden, denn hier wird es viele Blockchains geben. Ineinander geschachtelt, virtuell fragmentiert und sogar \"vertikale\" Blockchains innerhalb anderer Blockchains. Und es wird auch mehrere cool klingende Begriffe geben, wie <em>Instant Hypercube Routing<\/em> und <em>Infinite Sharding Paradigm<\/em>, aber dazu sp\u00e4ter mehr. Und nat\u00fcrlich Proof-of-Stake und Smart Contracts.<\/li>\n<li><strong>TON P2P Network<\/strong>. Ein Peer-to-Peer-Netzwerk, auf dessen Grundlage das System arbeiten wird. Dar\u00fcber wird in diesem Abschnitt des Erz\u00e4hlens in erster Linie die Rede sein.<\/li>\n<li><strong>TON Speicher<\/strong>. Ein Dateispeicher, der unabh\u00e4ngig von der Blockchain auf dem oben genannten Peer-to-Peer-Netzwerk basieren wird. Vergleichbar mit Torrents.<\/li>\n<li><strong>TON Proxy<\/strong>. Dieser Dienst hat das Ziel, die Anonymit\u00e4t der Netzwerkteilnehmer zu erh\u00f6hen. Jedes Paket kann nicht direkt, sondern \u00fcber Tunnel-Proxy-Server mit zus\u00e4tzlicher Verschl\u00fcsselung gesendet werden \u2013 \u00e4hnlich wie bei I2P oder TOR. <\/li>\n<li><strong>TON DHT<\/strong>. Eine verteilte Hash-Tabelle zur Speicherung beliebiger Werte. Sie ist ebenfalls auf <em>TON Netzwerk<\/em> (nutzt aber auch dasselbe) und hilft dabei, <strong>TON Speicher<\/strong> die \u201everteilenden\u201c Knoten zu finden, sowie <strong>TON Proxy<\/strong> zwischenliegende Relais. Es ist jedoch zu beachten, dass diese Hash-Tabelle im Gegensatz zur Blockchain kein gesch\u00fctzter Speicher ist \u2013 wichtige Informationen sollten dort nicht aufbewahrt werden.<\/li>\n<li><strong>TON Dienste<\/strong>. Eine Plattform f\u00fcr beliebige Dienste. Im Grunde genommen ist es das neue Internet \u00fcber all dem, was zuvor beschrieben wurde. Datenaustausch erfolgt \u00fcber <strong>TON Netzwerk<\/strong>\/<strong>TON Proxy<\/strong>, w\u00e4hrend die Logik in den Smart Contracts des <strong>TON Blockchain<\/strong>. Und die Schnittstelle weist recht vertraute URLs auf.<\/li>\n<li><strong>TON DNS<\/strong>. Da wir jetzt \u00fcber vertraute URLs sprechen, ben\u00f6tigen wir auch einen Umwandler von diesen in 256-Bit-Adressen \u2013 f\u00fcr Konten, Vertr\u00e4ge, Dienste und Knoten.<\/li>\n<li><strong>TON Zahlungen<\/strong>. Hier wird erst die Finanzfrage ber\u00fchrt. Und es wird nicht nur <strong>gram<\/strong> geben \u2013 wie bei Ether werden beliebige \u201eToken\u201c m\u00f6glich sein; Gramm werden hier nur die \u201eStandard\u201c-W\u00e4hrung sein.<\/li>\n<\/ul>\n<p><\/p>\n<p>Das ist der erste Teil, der die \u201ebodenst\u00e4ndige\u201c Ebene von TON beschreibt \u2013 seinen Netzwerkteil, der auf traditionellen Protokollen basiert. Im n\u00e4chsten Teil wird es um das \u201eKernst\u00fcck\u201c gehen \u2013 die Blockchain, die von dem weiter unten beschriebenen System unterst\u00fctzt wird. Daher unterscheidet sich meine Erz\u00e4hlreihenfolge ein wenig von der im oben genannten Dokument verwendeten (das sofort mit der abstrakten Ebene beginnt).<\/p>\n<p><\/p>\n<h3 id=\"bazovye-ponyatiya\">Grundbegriffe<\/h3>\n<p><\/p>\n<p><strong>TL<\/strong> (Type Language). Dies ist ein abstraktes bin\u00e4res Format f\u00fcr beliebige Datenstrukturen. Es wird im Telegram-Protokoll verwendet und wird aktiv in TON eingesetzt. Wer sich ausf\u00fchrlich damit vertraut machen m\u00f6chte \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/core.telegram.org\/mtproto\/TL\">hier ist die Beschreibung<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Hash<\/strong> (<em>hash<\/em>). Eine Funktion, die eine irreversible Umwandlung einer beliebigen Datenstruktur in eine feste L\u00e4nge von Zahlen durchf\u00fchrt. In der Dokumentation wird h\u00e4ufig von der Funktion <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/SHA-2\">SHA-256<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Netzwerkknoten<\/strong> (<em>node<\/em>). Ein Knoten ist die Software, die den Betrieb des Systems gew\u00e4hrleistet. Insbesondere wird angenommen, dass jede Telegram-Client-Anwendung einen TON-Knoten enthalten wird. Auf niedriger Ebene haben Knoten IPv4\/IPv6-Adressen und kommunizieren \u00fcber das UDP-Protokoll, auf einer h\u00f6heren Ebene verf\u00fcgen sie \u00fcber <em>abstrakte Adressen<\/em> und implementieren das ADNL-Protokoll (\u00fcber abstrakte Adressen und ADNL \u2013 siehe unten). Wenn es darum geht, dass Teile des Systems etwas tun oder Daten speichern, wird davon ausgegangen, dass dies durch die Knoten des Netzwerks geschieht.<\/p>\n<p><\/p>\n<p><strong>Abstrakte Adresse<\/strong> (oder einfach <em>Adresse<\/em>, <em>address<\/em>). Die Adresse eines Knotens wird durch seinen \u00f6ffentlichen Schl\u00fcssel bestimmt. Genauer gesagt ist dies ein 256-Bit-Hash (SHA256) der Datenstruktur, die den \u00f6ffentlichen Schl\u00fcssel enth\u00e4lt (der spezifische kryptografische Algorithmus wird dabei nicht n\u00e4her spezifiziert \u2013 als Beispiele werden elliptische Kurven und RSA-2048 genannt). Damit ein Knoten mit einem anderen interagieren kann, muss er nicht nur die Adresse des anderen kennen, sondern auch diese Datenstruktur. Theoretisch kann ein physischer Knoten eine beliebige Anzahl von Adressen (entsprechend verschiedenen Schl\u00fcsseln) erstellen.<\/p>\n<p><\/p>\n<p>H\u00e4ufig wird genau diese Verkn\u00fcpfung verwendet: das \u201eVorbild\u201c in Form einer TL-Struktur (die praktisch beliebige Daten enth\u00e4lt) und der 256-Bit-Hash davon, der zur Adressierung verwendet wird.<\/p>\n<p><\/p>\n<p><strong>Blockchain<\/strong> (<em>blockchain<\/em>). Die Blockchain ist eine Datenstruktur, deren Elemente (<em>Bl\u00f6cke<\/em>) in einer \u201eKette\u201c angeordnet sind, wobei jeder folgende Block der Kette den Hash des vorherigen enth\u00e4lt. So wird Integrit\u00e4t erreicht \u2013 \u00c4nderungen k\u00f6nnen nur durch Hinzuf\u00fcgen neuer Bl\u00f6cke vorgenommen werden.<\/p>\n<p><\/p>\n<p><strong>Dienst<\/strong> (<em>service<\/em>). Die Dienste im Rahmen von TON k\u00f6nnen unterschiedlicher Art sein \u2013 je nachdem, ob sie die Blockchain nutzen oder nicht. Zum Beispiel kann einer (oder mehrere) der Knoten des Netzwerks bestimmte RPC-Anfragen nach dem im Folgenden beschriebenen ADNL-Protokoll bearbeiten, ohne dabei irgendwelche Eintr\u00e4ge in der Blockchain zu erstellen \u2013 \u00e4hnlich wie traditionelle Webserver. Auch wird die M\u00f6glichkeit in Betracht gezogen, HTTP \u00fcber ADNL zu implementieren sowie den Messenger selbst auf dieses Protokoll umzustellen. \u00c4hnlich wie bei TOR oder I2P w\u00fcrde dies ihn resistenter gegen verschiedene Blockierungen machen.<\/p>\n<p><\/p>\n<p>Gleichzeitig setzen einige Dienste sowohl auf Interaktion mit der Blockchain als auch auf die Bearbeitung von Anfragen au\u00dferhalb davon. F\u00fcr TON Storage \u2013 ein Dateispeicher \u2013 ist es beispielsweise nicht sehr sinnvoll, die Dateien selbst in der Blockchain zu speichern. Dort werden nur die Hashes der Dateien (zusammen mit einigen Metainformationen) gespeichert, w\u00e4hrend spezialisierte Knoten im Netzwerk als \"Dateiserver\" fungieren, die bereit sind, diese an andere Knoten \u00fcber ADNL weiterzugeben.<\/p>\n<p><\/p>\n<p><strong>Nebendienst<\/strong> (<em>fog service<\/em>). Es handelt sich um einige Dienste, die Dezentralisierung und offene Teilnahme daran implizieren. Zum Beispiel ist TON Proxy ein Dienst, den jeder Teilnehmer unterst\u00fctzen kann, der seinen Knoten als Vermittler (Proxy) zur Verf\u00fcgung stellen m\u00f6chte, um Pakete zwischen anderen Knoten weiterzuleiten. Bei Wunsch kann er daf\u00fcr eine von ihm festgelegte Geb\u00fchr erheben \u2013 unter Verwendung des TON Payments-Systems f\u00fcr Mikropayments (das seinerseits ebenfalls ein Nebendienst ist).<\/p>\n<p><\/p>\n<h3 id=\"adnl-abstract-datagram-network-layer\">ADNL: Abstract Datagram Network Layer<\/h3>\n<p><\/p>\n<p>Auf der niedrigsten Ebene findet die Interaktion zwischen den Knoten \u00fcber das UDP-Protokoll statt (es sind auch andere Varianten zul\u00e4ssig).<\/p>\n<p><\/p>\n<p>Wie oben erw\u00e4hnt, muss ein Knoten, um ein Paket an einen anderen zu senden, einen seiner \u00f6ffentlichen Schl\u00fcssel kennen (und damit die Adresse, die damit zugeordnet ist). Er verschl\u00fcsselt das Paket mit diesem Schl\u00fcssel und f\u00fcgt am Anfang des Pakets die 256-Bit-Adresse des Empf\u00e4ngers hinzu \u2013 da ein Knoten mehrere solcher Adressen haben kann, erm\u00f6glicht dies ihm zu bestimmen, welchen Schl\u00fcssel er f\u00fcr die Entschl\u00fcsselung verwenden soll.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Teil 1: Einf\u00fchrung, Netzwerkebene, ADNL, DHT, Overlay-Netzwerke\" src=\"\/wp-content\/uploads\/2019\/05\/570ed97bb0745d074e806e84651af567.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dar\u00fcber hinaus k\u00f6nnte am Anfang des Datenpakets anstelle der Empf\u00e4ngeradresse ein sogenannter Identifikator stehen <em>Kanal<\/em>. In diesem Fall h\u00e4ngt die Verarbeitung des Pakets bereits von den spezifischen Vereinbarungen zwischen den Knoten ab \u2013 beispielsweise k\u00f6nnen die in einen bestimmten Kanal gesendeten Daten f\u00fcr einen anderen Knoten bestimmt sein und m\u00fcssen an diesen weitergeleitet werden (das ist der Dienst <em>TON Proxy<\/em>). Ein anderes spezielles Beispiel k\u00f6nnte die direkte Interaktion zwischen Knoten sein, jedoch mit Verschl\u00fcsselung durch ein individuelles Schl\u00fcsselpaar f\u00fcr diesen Kanal (vorher gebildet nach dem Diffie-Hellman-Protokoll).<\/p>\n<p><\/p>\n<p>Schlie\u00dflich ist ein spezieller Fall der \"Null\"-Kanal \u2014 wenn ein Knoten noch keine \u00f6ffentlichen Schl\u00fcssel seiner \"Nachbarn\" kennt, kann er ihnen Pakete v\u00f6llig unverschl\u00fcsselt senden. Dies dient nur zur Initialisierung \u2014 sobald die Knoten Informationen \u00fcber ihre Schl\u00fcssel senden, sollten diese f\u00fcr die weitere Interaktion verwendet werden.<\/p>\n<p><\/p>\n<p>Das oben beschriebene Protokoll (256-Bit-Kanal-ID + Paketinhalt) wird ADNL genannt. Die Dokumentation erw\u00e4hnt die M\u00f6glichkeit, einen TCP-\u00e4hnlichen Analog oder eine eigene Erweiterung \u2014 RLDP (Reliable Large Datagram Protocol) \u2014 dar\u00fcber zu implementieren, geht jedoch nicht auf die Details ihrer Implementierung ein.<\/p>\n<p><\/p>\n<h3 id=\"ton-dht-raspredelyonnaya-hesh-tablica\">TON DHT: Verteilte Hash-Tabelle<\/h3>\n<p><\/p>\n<p>Wie bei anderen verteilten Systemen sieht TON die Implementierung einer DHT vor \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A0%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%B0%D1%8F_%D1%85%D0%B5%D1%88-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0\">der verteilten Hash-Tabelle<\/a><\/noindex>. Genauer gesagt \u2014 die Tabelle ist <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Kademlia\">kademlia-\u00e4hnlich<\/a><\/noindex>. Wenn Sie mit dieser Art von Hash-Tabellen nicht vertraut sind \u2014 machen Sie sich keine Sorgen, ich werde im Folgenden ungef\u00e4hr beschreiben, wie sie aufgebaut sind.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Teil 1: Einf\u00fchrung, Netzwerkebene, ADNL, DHT, Overlay-Netzwerke\" src=\"\/wp-content\/uploads\/2019\/05\/790d623466c72c78ee17fa298ac9d81d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Im abstrakten Sinne ordnet eine DHT 256-Bit-Schl\u00fcsseln bestimmte bin\u00e4re Werte beliebiger L\u00e4nge zu. Dabei sind die Schl\u00fcssel in der Tabelle Hashes einer bestimmten TL-Struktur (die Strukturen selbst werden ebenfalls zusammen mit der DHT gespeichert). Dies \u00e4hnelt sehr der Bildung von Knotenadressen \u2014 und sie k\u00f6nnen tats\u00e4chlich in der DHT vorhanden sein (zum Beispiel kann unter einem solchen Schl\u00fcssel die IP-Adresse des Knotens mit der angegebenen <em>abstrakten Adresse<\/em>, wenn er diese nicht verbirgt, gefunden werden). Aber im Allgemeinen sind \"Abbilder von Schl\u00fcsseln\" (ihre <em>Beschreibungen<\/em>, <em>key descriptions<\/em>) Metadaten, die auf den \"Besitzer\" des Eintrages in der Hash-Tabelle verweisen (also den \u00f6ffentlichen Schl\u00fcssel eines bestimmten Knotens), den Typ des gespeicherten Wertes und die Regeln, nach denen dieser Eintrag sp\u00e4ter ge\u00e4ndert werden kann. Zum Beispiel kann eine Regel festlegen, dass nur der Eigent\u00fcmer den Wert \u00e4ndern darf \u2014 oder die \u00c4nderung des Wertes in eine geringere Richtung untersagen (um sich vor Replay-Angriffen zu sch\u00fctzen).<\/p>\n<p><\/p>\n<p>Neben den 256-Bit-Schl\u00fcsseln wird das Konzept von DHT-Adressen eingef\u00fchrt. Der Unterschied zu normalen Knotenadressen besteht darin, dass eine DHT-Adresse unbedingt an eine IP-Adresse gebunden ist. Wenn ein Knoten seine IP nicht verbirgt, kann er eine normale Adresse f\u00fcr die DHT verwenden. H\u00e4ufiger wird jedoch f\u00fcr die Zwecke der DHT eine separate, \"halb-permanente\" Adresse eingerichtet.<br \/>\n<img decoding=\"async\" alt=\"TON: Telegram Open Network. Teil 1: Einf\u00fchrung, Netzwerkebene, ADNL, DHT, Overlay-Netzwerke\" src=\"\/wp-content\/uploads\/2019\/05\/93064abdf9dbfd5276502cd3aa6cf8f8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nF\u00fcr Schl\u00fcssel und DHT-Adressen wird das Konzept der Distanz eingef\u00fchrt \u2014 in dieser Hinsicht stimmen sie mit den Tabellen \u00fcberein <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Kademlia\">Kademlia<\/a><\/noindex> \u2014 der Abstand zwischen den Schl\u00fcsseln entspricht dem XOR (exklusives Oder) von ihnen. Wie in den Kademlia-Tabellen muss der Wert, der einem bestimmten Schl\u00fcssel zugeordnet ist, auf <em>s<\/em> Knoten gespeichert werden, die den geringsten Abstand zu diesem Schl\u00fcssel haben (<em>s<\/em> hier \u2014 eine relativ kleine Zahl).<\/p>\n<p><\/p>\n<p>Damit ein DHT-Knoten mit anderen solchen Knoten interagieren kann, speichert er <em>eine DHT-Routetabelle<\/em> \u2014 DHT- und IP-Adressen von Knoten, mit denen er zuvor interagiert hat, gruppiert nach ihrem Abstand zu ihnen. Es gibt 256 solcher Gruppen (sie entsprechen dem h\u00f6chsten gesetzten Bit im Abstandswert \u2014 das hei\u00dft, Knoten, die einen Abstand von 0 bis 255 haben, fallen in eine Gruppe, von 256 bis 65535 in die n\u00e4chste usw.). Innerhalb jeder Gruppe wird eine begrenzte Anzahl von \"besten\" Knoten gespeichert (in Bezug auf den Ping zu ihnen).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"TON: Telegram Open Network. Teil 1: Einf\u00fchrung, Netzwerkebene, ADNL, DHT, Overlay-Netzwerke\" src=\"\/wp-content\/uploads\/2019\/05\/9db2fef6986010db046f797f1fe68130.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Jeder Knoten muss mehrere Operationen unterst\u00fctzen: <em>Wert f\u00fcr einen Schl\u00fcssel speichern<\/em>, <em>Knoten suchen<\/em> und <em>Werte suchen<\/em>. Knoten suchen bedeutet, dass die n\u00e4chstgelegenen Knoten zur angegebenen Schl\u00fcssel in der Routetabelle zur\u00fcckgegeben werden; Werte suchen ist dasselbe, au\u00dfer wenn dem Knoten der Wert f\u00fcr den Schl\u00fcssel bekannt ist (dann gibt er ihn einfach zur\u00fcck). Wenn also ein Knoten einen Wert im DHT f\u00fcr einen Schl\u00fcssel finden m\u00f6chte, sendet er Anfragen an eine kleine Anzahl von Knoten, die seinem Routentabelle am n\u00e4chsten liegen. Wenn unter ihren Antworten der gesuchte Wert nicht vorhanden ist, aber andere Adressen von Knoten vorhanden sind, wird die Anfrage erneut an diese gesendet.<\/p>\n<p><\/p>\n<p>TON DHT kann f\u00fcr verschiedene Zwecke verwendet werden, zum Beispiel \u2014 zur Implementierung eines torrent-\u00e4hnlichen Dateispeichers (siehe <em>TON Speicher<\/em>); zur Bestimmung der Adressen von Knoten, die bestimmte Dienste anbieten; zur Speicherung von Informationen \u00fcber Kontoinhaber in der Blockchain. Aber die wichtigste Anwendung ist die Entdeckung von Knoten anhand ihrer abstrakten Adressen. Daf\u00fcr wird die Adresse als Schl\u00fcssel verwendet, dessen Wert gefunden werden soll. Infolge der Anfrage wird entweder der Knoten selbst gefunden (wenn die gesuchte Adresse seine halb-st\u00e4ndige DHT-Adresse war) oder der Wert besteht aus der IP-Adresse und dem Port f\u00fcr die Verbindung \u2014 oder einer anderen Adresse, die als Tunnel-Middleware verwendet werden soll.<\/p>\n<p><\/p>\n<h3 id=\"overleynye-seti-v-ton\">Overlay-Netze in TON<\/h3>\n<p><\/p>\n<p>Das oben beschriebene ADNL-Protokoll erm\u00f6glicht es allen Knoten, Informationen direkt miteinander auszutauschen \u2013 allerdings nicht unbedingt auf optimalen Wegen. Man kann sagen, dass durch ADNL alle Knoten ein globales TON-Diagramm bilden (idealerweise \u2013 zusammenh\u00e4ngend). Dar\u00fcber hinaus besteht die M\u00f6glichkeit, \u00dcberlagernetzwerke \u2013 Teilgraphen innerhalb dieses Diagramms \u2013 zu erstellen.<br \/>\n<img decoding=\"async\" alt=\"TON: Telegram Open Network. Teil 1: Einf\u00fchrung, Netzwerkebene, ADNL, DHT, Overlay-Netzwerke\" src=\"\/wp-content\/uploads\/2019\/05\/0badd85ba46517c04f63439f7dd1e8d7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Innerhalb eines solchen Netzwerks erfolgt die Interaktion nur direkt \u2013 \u00fcber zuvor gebildete Verbindungen zwischen den Knoten, die an dem Netzwerk teilnehmen (\u00fcber die oben beschriebenen ADNL-Kan\u00e4le). Die Bildung solcher Verbindungen zwischen Nachbarn und die Suche nach Nachbarn ist ein automatischer Prozess, der darauf abzielt, die Zusammenh\u00e4ngbarkeit des \u00dcberlagernetzwerks zu erhalten und Verz\u00f6gerungen beim Datenaustausch darin zu minimieren.<\/p>\n<p><\/p>\n<p>Dar\u00fcber hinaus gibt es eine Methode, um gro\u00dfe Broadcast-Updates schnell innerhalb des Netzwerks zu verbreiten \u2013 diese werden in Teile zerlegt, mit Fehlerkorrekturcode erg\u00e4nzt und all diese St\u00fccke werden von einem Teilnehmer zum anderen weitergeleitet. So muss der Teilnehmer nicht alle Teile vollst\u00e4ndig erhalten, bevor er sie weiter im Netzwerk verschickt.<\/p>\n<p><\/p>\n<p>\u00dcberlagernetzwerke k\u00f6nnen \u00f6ffentlich und privat sein. Es ist nicht schwierig, Teilnehmer eines \u00f6ffentlichen Netzwerks zu werden \u2013 man muss die TL-Struktur finden, die es beschreibt (sie kann \u00f6ffentlich sein \u2013 oder \u00fcber einen bestimmten Schl\u00fcssel im DHT zug\u00e4nglich sein). Im Fall eines privaten Netzwerks muss diese Struktur dem Knoten im Voraus bekannt sein.<\/p>\n<p><\/p>\n<h3 id=\"prodolzhenie-sleduet\">Fortsetzung folgt<\/h3>\n<p><\/p>\n<p>Ich habe beschlossen, die \u00dcbersicht \u00fcber TON auf mehrere Artikel aufzuteilen. An dieser Stelle endet dieser Teil, und <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/post\/354568\/\">im n\u00e4chsten<\/a><\/noindex> werde ich die Struktur der Blockchain (genauer gesagt, der Blockchains), aus denen TON bestehen wird, betrachten.<\/p>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/354366\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0423\u0436\u0435 \u0434\u0432\u0435 \u043d\u0435\u0434\u0435\u043b\u0438 \u0420\u0443\u043d\u0435\u0442 \u0448\u0443\u043c\u0438\u0442 \u043f\u0440\u043e Telegram \u0438 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e \u0441 \u0435\u0433\u043e \u0431\u0435\u0441\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e\u0439 \u0438 \u0431\u0435\u0441\u043f\u043e\u0449\u0430\u0434\u043d\u043e\u0439 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u043e\u0439 \u0420\u043e\u0441\u043a\u043e\u043c\u043d\u0430\u0434\u0437\u043e\u0440\u043e\u043c. \u0420\u0438\u043a\u043e\u0448\u0435\u0442\u043e\u043c \u0437\u0430\u0434\u0435\u043b\u043e \u043c\u043d\u043e\u0433\u0438\u0445, \u043d\u043e \u0432\u0441\u0451 \u044d\u0442\u043e \u2014 \u0442\u0435\u043c\u044b \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u043e\u0432 \u043d\u0430 Geektimes. \u041c\u0435\u043d\u044f \u0436\u0435 \u0443\u0434\u0438\u0432\u0438\u043b\u043e \u0434\u0440\u0443\u0433\u043e\u0435 \u2014 \u044f \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0431\u043e\u0440\u0430 \u0437\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043a \u0432\u044b\u0445\u043e\u0434\u0443 \u043d\u0430 \u0431\u0430\u0437\u0435 Telegram \u0441\u0435\u0442\u0438 TON \u2014 Telegram Open [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26099,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34632","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47TON: Telegram Open Network. \u0427\u0430\u0441\u0442\u044c 1: \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435, \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c, ADNL, DHT, \u043e\u0432\u0435\u0440\u043b\u0435\u0439\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:59:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:59:31+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47TON: Telegram Open Network. Teil 1: Einf\u00fchrung, Netzwerkschicht, ADNL, DHT, \u00dcberlagernetzwerke | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47TON: Telegram Open Network. \u0427\u0430\u0441\u0442\u044c 1: \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435, \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c, ADNL, DHT, \u043e\u0432\u0435\u0440\u043b\u0435\u0439\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 | ProHoster","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/ton-telegram-open-network-chast-1-vstuplenie-setevoj-uroven-adnl-dht-overlejnye-seti","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:59:31+00:00","article:modified_time":"2019-10-31T18:59:31+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34632","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 20:00:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:17:24","updated":"2026-01-21 20:00:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/34632","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=34632"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/34632\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/26099"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=34632"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=34632"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=34632"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}