Цель этого проекта - разработать децентрализованную версию протокола Lorawan благодаря использованию блокчейна. Мы называем этот новый протокол Lora-Mac. Кроме того, децентрализованный вариант использования был разработан в качестве расширения. Расширение в вознаграждении в сетях краудсорсинга.
Был разработан новый протокол, который заменяет существующий протокол Лоравана. Вместо того, чтобы использовать симтрическую криптографию, такую как Lorawan, она использует асиметрическую криптографию, чтобы обеспечить невозвратирование в дополнение к конфиденциальности и подлинности. Пара государственно-частных ключей генерируется с использованием эллиптических кривых. Эта пара ключей используется для подписи содержимого сообщения, обмениваемого между двумя объектами. Симатрический ключ, используемый для шифрования содержимого сообщений между двумя объектами, генерируется с помощью закрытого ключа отправителя и открытого ключа получателя. Эта процедура выполняется с использованием ECDH, а затем путем нормализации клавиш с помощью HKDF.
COSE используется в качестве формата для пакетов, передаваемых между организациями, принимающими участие в протоколе. Таким образом, пакет зашифруется в сообщении cose_encrypt0, а затем в него добавляется Cose_countersignature. С момента разработки этого проекта, Cose_countersignature, где еще не развивалась в библиотеке Pycose, была сделана вилка библиотеки, содержащей контракт -подпись.
Задача об использовании вознаграждения состоит в том, чтобы издавать транзакции микроплатежны (в порядке нескольких центов) для оплаты сообщений, передаваемых шлюзом. На самом деле, выполнение этого на блокчейне Ethereum будет стоить дороже, чем фактическая микроплата. Таким образом, были экспериментированы два метода масштабирования не цепи (масштабирование уровня 2):
Проект разделен на 4 основных компонента:
Конечное устройство состоит из Raspberry Pi, подключенного через последовательный к LOPY. Таким образом, конечное устройство разделено на 2 каталога: /lora_device и /lopy. Есть больше инструкций о том, как запустить две программы внутри каждого каталога.
Справочник /forgyNetWorkserver может быть запущен на Raspberry Pi, действуя в качестве шлюза. Программа совместима с проектом Freader Swacker Lora Network.
Блокчейн, используемый для этого проекта, является Ethereum. Смарт -контракт, развернутый для этой цели, можно найти в каталоге /блокчейн /контрактах.
Справочник /сервер разделен на 3 подзадачи: /Application Server, /homenetworkserver, /платеж. Сервер , который состоит из внутреннего, фронтального и платежного сервиса, упакован в экземпляр Docker Compose, чтобы быть легко развернутым на сервере.