Ziel dieses Projekts ist es, dank der Verwendung von Blockchain eine dezentrale Version des Lorawan -Protokolls zu entwickeln. Wir nennen das neue Protokoll Lora-Mac. Darüber hinaus wurde ein dezentraler Anwendungsfall als Erweiterung entwickelt. Die Erweiterung über die Vergütung in Crowd-Sourcing-Netzwerken.
Ein neues Protokoll, das das vorhandene Lorawan -Protokoll ersetzt, wurde entwickelt. Anstatt symetriale Kryptographie wie Lorawan zu verwenden, verwendet sie eine asymetrische Kryptographie, um zusätzlich zu Vertraulichkeit und Authentizität Nicht-Repudiation bereitzustellen. Das öffentlich-private Schlüsselpaar wird mit elliptischen Kurven erzeugt. Dieses Schlüsselpaar wird verwendet, um den Inhalt der Meldung zwischen zwei Entitäten zu unterzeichnen. Ein symetischer Schlüssel, mit dem der Inhalt der Nachrichten zwischen den beiden Entitäten verschlüsselt wird, wird unter Verwendung des privaten Schlüssels des Absenders und des öffentlichen Schlüssels des Empfängers generiert. Dieses Verfahren erfolgt durch die Verwendung von ECDH und dann durch Normalisierung der Schlüssel mit HKDF.
Cose wird als Format für die Pakete verwendet, die zwischen den am Protokoll teilnehmenden Entitäten überbrochen sind. Ein Paket wird somit in einer cose_encrypt0 -Nachricht verschlüsselt, und dann wird eine cose_countersignatur in sie hinzugefügt. Seit dem Zeitpunkt der Entwicklung dieses Projekts wurde die COSE_COUNTERSsignatur, in der sich noch nicht in der Pycose -Bibliothek entwickelt hat, eine Gabel der Bibliothek, die die Zählersignatur enthält, durchgeführt.
Die Herausforderung der Vergütungsnutzung besteht darin, Mikropayment-Transaktionen (in der Reihenfolge von wenigen Cent) zu emittieren, um die von einem Gateway übertragenen Nachrichten zu bezahlen. Tatsächlich würde es nativ auf der Ethereum -Blockchain mehr Gebühren kosten als die tatsächliche Mikropayer. Somit wurden zwei Methoden zur Skalierung außerhalb des Ketten (Schicht 2 Skalierung) experimentiert:
Das Projekt ist in 4 Hauptkomponenten unterteilt:
Das Endgerät besteht aus einem Himbeer -Pi, der durch seriell mit einer Lopie verbunden ist. Somit ist das Endgerät in 2 Verzeichnisse unterteilt: /lora_device und /lopy. Es gibt weitere Anweisungen zum Ausführen der beiden Programme in jedem Verzeichnis.
Das Verzeichnis /ältingNetWorkServer kann auf einem Raspberry Pi ausgeführt werden, der als Gateway fungiert. Das Programm ist mit dem LORA Network Packet Spediteur Project kompatibel.
Die für dieses Projekt verwendete Blockchain ist Ethereum. Der zu diesem Zweck eingesetzte Smart -Vertrag befindet sich im Verzeichnis /Blockchain /Contracts.
Das /Server-Verzeichnis ist in 3 Unterdirektorien geteilt: /Application Server, /homeNetWorkServer, /Zahlung. Der Server , der aus einem Back-End, einem Front-End und einem Zahlungsdienst besteht, ist in einer Docker-Komponierungsinstanz verpackt, um einfach auf einem Server bereitzustellen.