Juni 24, 2019

ELI9: Einführung von Azimuth (früher als NB-PoW bekannt)

ELI9: Einführung von Azimuth (früher als NB-PoW bekannt)

Eine einfache Erklärung (ELI9 = Erkläre es, als ob ich 9 wäre) von Azimuth (auch als NB-PoW bekannt) - Ein anderer Ansatz zum Proof of Work, an dem wir im Rahmen unserer langfristigen Vision für IOTA arbeiten. Dieser Beitrag ist das Ergebnis einer Zusammenarbeit zwischen Marcos Andrade, Philipp Blum, Andrew Brough, Jake Cahill, David de Fijter, Sabri Goldberg, Sergei Ivancheglo, Igor Nielsen, Navin Ramachandran und Samuel Reid.

Lasst uns zuerst die Szene einrichten ...

Stellen wir uns vor ein drahtloses IoT-Gerät betritt eine Bar und macht Liegestütze.

"Sie müssen nicht beweisen, wie viel Arbeit Sie leisten können", sagt die Bardame.

Sie sieht ihn an, notiert seine Position an der Bar und gibt ihm ein Getränk.

"Warum schreibst du meine Position auf?", fragt er.

Die Bardame erklärt. "Es ist eine der neuen Regeln für Bars. Ich kann eine Bestellung von jeder Position nur einmal annehmen.“

"Aber was passiert, wenn ich gehe?"

"Nun, ich werde Ihre Position erst wieder bedienen, wenn mein Timer abgelaufen ist. Ich glaube, ich habe es auf 8 Sekunden eingestellt. "

"Ah, jetzt sind wir auf der gleichen Wellenlänge!"

"Woher wissen Sie so einfach, welche Kunden Sie abweisen?"

"Es ist einfach. Ihr alle habt Gesichter fürs Radio. "

"Dieser Hertz!"


Die Bar - erklärt

In Azimuth können Nodes Transaktionen an benachbarte Nachbarn senden. Beim Eintreffen notieren die Nachbarn, aus welcher Richtung die Transaktion kam, bevor sie verarbeitet wird.

Das beschreibt den Fall, wenn das IoT-Gerät ein Getränk bestellt hat. Stell dir die Bestellung als Transaktion vor. Die Bardame (oder der Nachbar) notiert sich seine Position an der Bar.

Wenn ein Nachbar in derselben Runde eine weitere Transaktion aus derselben Richtung erhält, wird diese als Spam Transaktion behandelt und ignoriert.

Bis der Timer abläuft (das Ende einer Runde), kann ein Gerät kein weiteres Getränk von dieser Position bestellen, die ja bereits serviert wurde.

Die Idee dahinter ist, dass eine Node während einer Runde nicht genügend physischen Platz belegen kann, um viel Spam aus verschiedenen Richtungen zu senden und den Nachbarn zu überfordern.

Das Gerät kann seine Position an der Bar nicht schnell genug ändern, um genügend Getränke zu bestellen, um die Bardame zu belästigen.

Da Node-Transaktionen nach Richtungen begrenzt werden, müssen Nodes nicht im Voraus wissen, wer ihre Nachbarn sind. Stattdessen können sie Transaktionen von jedem Node akzeptieren, solange sie nicht nochmals aus einer Richtung senden, die bereits in einer Runde verwendet wurde.

Die Bardame kümmert sich nicht darum, wer die Kunden sind. Sie möchte sich keine Namen oder Gesichter merken. Sie nimmt einfach Bestellungen entgegen und notiert die Positionen.
Eine 8-Sekunden-Runde an der Bar

Warum bauen wir Azimuth?

Wenn jeder kostenlos an einem Netzwerk teilnehmen kann, erweisen sich einige Benutzer als unehrlich. Ein Beispiel sind unehrliche Benutzer, die zu viele Transaktionen an eine Node senden, um zu versuchen, ihn offline zu schalten. Diese Transaktionen werden als Spam bezeichnet.

Um Spam zu unterbinden, verwendet IOTA PoW (Proof of Work), um Transaktionen mit einer begrenzten Ressource zu verknüpen: Rechenleistung (von einem Computer ausgeführte Arbeit). Auf diese Weise kostet das Versenden von Spam-Transaktionen Zeit und Energie.

Bei Geräten wie Laptops oder Servern mit Internetzugang und ausreichender Stromversorgung ist PoW einfach durchzuführen. Geräte im Internet der Dinge (Internet of Things, IoT) sind jedoch oftmals klein und mit wenig Strom ausgestattet. Daher ist diese zusätzliche Verwendung von Strom für den PoW verschwenderisch.

Stattdessen müssen diese IoT-Geräte sich vor Spam schützen können, ohne dabei ihre Energie in PoW zu verschwenden.

Mit Azimuth können wir die Rechenleistung durch Richtungen ersetzen (es gibt nur eine begrenzte Anzahl von Richtungen, daher verknüpfen wir jede Transaktion mit einer Richtung).

Wenn ein Gerät Azimuth verwendet, muss es keine Arbeit leisten. Das Senden einer Transaktion aus einer bestimmten Richtung ist ausreichend.

Mit diesem Ansatz können kleine IoT-Nodes Energie sparen, die Batterielebensdauer verlängern und die lästigen Push-ups vermeiden.

Vergleich des Energieverbrauchs zwischen Arbeitsnachweis und Azimut

Möchtest du mehr erfahren?

In diesem Beitrag wird erläutert, wie Azimuth mithilfe der Richtung Transaktionen einschränken kann. Beispielsweise könnten Li-Fi-Netzwerke optische Sensoren zur Richtungserkennung verwenden. Azimuth erzwingt jedoch keine bestimmte Implementierung. Beispielsweise können Funknetzwerke Antennen verwendet werden, um die Signalstärke zu ermitteln und Geräte nach der jeweiligen Entfernung zu unterscheiden.

Wie bereits erwähnt, haben alle freien Netzwerke unehrliche Benutzer. Im Falle von Azimuth könnten diese Benutzer versuchen, ihre Richtung oder ihre Entfernung zu fälschen, um in einer Runde mehrere Transaktionen senden zu können. Diese Art von Angriff wird als Sybil-Angriff bezeichnet.

Geräte haben bereits heute die Möglichkeit, einige dieser Angriffe durch Funkressourcentests zu erkennen, deren Betrug unerschwinglich wäre. Beispielsweise würde ein Funkgerät viele Sender benötigen, und ein LiFi-Gerät müsste groß genug sein, um viel physischen Platz einzunehmen.

Wir laden dich ein, dich mit diesen Technologien vertraut zu machen, wenn du Einzelheiten über die Funktionsweise von Azimuth erfahren möchtest.

TL;DR

Mit Azimuth können sich IoT-Nodes vor Spam schützen, ohne unnötige Rechenleistung für den Nachweis der Arbeit (POW) zu verbrauchen.

Dieser Ansatz zum Spam-Schutz ermöglicht es den Nodes außerdem, eingehende Transaktionen von jedem Nachbarn zu akzeptieren, der nahe genug ist (Autopeering).

Infolgedessen können kleinere IoT-Geräte problemlos einem IOTA-Netzwerk beitreten, ohne dabei ihre Ressourcen zu verschwenden, was zu einer erhöhten Anzahl von Nodes führen wird - ein wichtiger Schritt in Richtung einer Machine-to-Machine-Economy.

Quelle: https://blog.iota.org/eli9-azimuth-previously-known-as-nb-pow-f36156d378e4?postPublishedType=initial