このプロジェクトの目標は、ブロックチェーンの使用により、ロラワンプロトコルの分散バージョンを開発することです。この新しいプロトコルLORA-MACと呼びます。さらに、分散型ユースケースが拡張機能として開発されています。クラウドソースネットワークの報酬における拡張コンテスト。
既存のロラワンプロトコルに代わる新しいプロトコルが開発されました。 Lorawanのような対称的な暗号化を使用する代わりに、機密性と信頼性に加えて非和解を提供するために、非対称の暗号化を使用します。官民キーペアは、楕円曲線を使用して生成されます。このキーペアは、2つのエンティティ間で交換されるメッセージのコンテンツに署名するために使用されます。 2つのエンティティ間のメッセージのコンテンツを暗号化するために使用される対称キーは、送信者の秘密鍵と受信機の公開鍵を使用して生成されます。この手順は、ECDHを使用して、HKDFでキーを正規化することによって行われます。
COSEは、プロトコルに参加しているエンティティ間で移動されたパケットの形式として使用されます。したがって、パケットはCOSE_ENCRYPT0メッセージで暗号化され、その後、COSE_CounterSignatureがその内部に追加されます。このプロジェクトの開発時に、Pycoseライブラリでまだ開発されていないCOSE_CounterSignatureは、カウンター署名を含むライブラリのフォークが行われました。
報酬のユースケースの課題は、ゲートウェイによって送信されたメッセージの支払いを行うために、マイクロペイメントトランザクション(数セントの順序で)を放出することです。実際、イーサリアムブロックチェーンでネイティブにそれを行うと、実際のマイクロペイメントよりも料金がかかります。したがって、オフチェーンスケーリングの2つの方法(レイヤー2スケーリング)が実験されています。
このプロジェクトは、4つの主要なコンポーネントに分割されています。
エンドデバイスは、シリアルを介してロピーに接続されたラズベリーPIで構成されています。したがって、エンドデバイスは、 /lora_deviceと /lopyの2つのディレクトリに分割されます。各ディレクトリ内で2つのプログラムを実行する方法については、さらに指示があります。
/ForwardNetWorkserverディレクトリは、ゲートウェイとして機能するRaspberry PIで実行できます。このプログラムは、LORA Network Packet Forwarder Projectと互換性があります。
このプロジェクトに使用されるブロックチェーンはイーサリアムです。この目的のために展開されたスマートコントラクトは、 /blockchain /contractsディレクトリにあります。
/serverディレクトリは、 /application server、 /homenetworkserver、 /支払いの3つのサブディレクトリに分割されています。バックエンド、フロントエンド、および支払いサービスで構成されるサーバーは、サーバーに簡単に展開されるために、Docker Composeインスタンスに詰め込まれています。