Современная электроника №6/2022
СОВРЕМЕННЫЕ ТЕХНОЛОГИИ 7 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 6 2022 ность, то для поддержания целостно- сти будет использоваться контейнер, в который помещается транспорти- руемый объект. Очевидным решени- ем является использование «умного» контейнера с использованием IoT- технологий, оснащённого датчиками и модулями передачи. В данной работе вместо контей- нера используется модуль эмуляции данного контейнера с использова- нием языка программирования Rust. Выбор данного языка обусловлен его гибкостью, низкими требованиями к вычислительным ресурсам, поддерж- кой реального времени, строгим кон- тролем за памятью и мультиплатфор- менностью. Важным вопросом также являет- ся выбор архитектуры используемо- го блокчейн-хранилища. Для того чтобы исключить сговор компаний, удобно воспользоваться архитектурой гибридного блокчейна [8], предпола- гающего аудит записываемой в блок- чейн информации. Гибридный блок- чейн представляет собой связанные приватный и публичный блокчейны. Приватный блокчейн в доверительной среде работает по одному из легковес- ных протоколов достижения консен- суса, например, по алгоритму дости- жения консенсуса RAFT, и отправляет в публичный блокчейн хэши блоков и публичную информацию. Таким обра- зом, приватный блокчейн осуществляет аудит публичного блокчейна. Принци- пиальная схема гибридного блокчейна представлена на рис. 1. Также использование гибридного блокчейна сохраняет низкую стои- мость транзакции, которая важна при взаимодействии с IoT-решениями. Для нашей реализации был выбран блок- чейн на базе платформы Ethereum. Платформа Ethereum является блок- чейн-платформой, которая позволяет разработчикам создавать децентрали- зованные приложения с использовани- ем смарт-контрактов. Смарт-контракт – некоторая программа, записанная в блокчейн, выполняемая и подтверждае- мая участниками блокчейн-сети. Логи- стический контракт, в котором опи- сываются условия доставки, включает в себя целевые показатели приборов, время доставки и любые другие инте- грируемые условия. Таким образом, осуществляется валидация логисти- ческих условий. Для аудита заключа- ется аудиторский контракт в публич- ной сети. Данный контракт описывает формат хранения и представления дан- ных аудита. Данная платформа была выбрана нами в силу простоты использования. В настоящий момент Ethereum является эффективной платформой для постро- ения блокчейн-сетей, которая поддер- живает смарт-контракты на Тьюринг – полном языке программирования Solidity, в отличие от, например, Bitcoin. Кроме всего прочего, использование платформы Ethereum позволит инте- грироваться с её базовой криптовалю- той эфиром и реализовать собствен- ный токен на базе стандарта ERC20, обеспечивая таким образом простую интеграцию с существующим миром криптофинансов. Для реализации клиентской по отношению к блокчей- ну части нами был выбран стек разра- ботки Java/Spring. Язык Java в большин- стве случаев используется для создания бэкенд-части корпоративных приложе- ний. Обсуждение результатов Реализованный в результате выпол- нения практической части исследова- ния прототип состоит из двух модулей: модуля эмуляции контейнера перевоз- ки и модуля гибридного блокчейна. Модуль эмуляции представляет собой обобщённую модель контей- нера, в котором перевозится картина. Данный модуль генерирует определён- ные данные: показания двух датчиков температуры и показания двух датчи- ков влажности. Именно эти параметры непосредственно влияют на целость и сохранность объекта транспортиров- ки – картины. Данные генерируются в отдельных потоках в реальном времени. В случае просрочки дедлайна эмулятор отправ- ляет сообщение об ошибке считывания. После считывания данные отправляют- ся на сервер при помощи POST-запроса. Как упоминалось выше, весь код эмуля- тора был реализован на языке програм- мирования Rust. Преимущество исполь- зования данного подхода состоит в том, что при возникновении необходимо- сти в использовании реального време- ни можно будет быстро развернуть дан- ную программу на встроенной системе. С учётом специфики рассматриваемого процесса применение реального време- ни сможет улучшить показатели выпол- нения алгоритма. В результате выполнения практи- ческой части нашей исследователь- ской работы был получен прототип информационно-управляющей систе- мы с использованием децентрали- зованной распределённой базы дан- ных. Прототип реализует функционал логистического контроля за картина- ми на основе технологии блокчейн. В части программной реализации нами было разработано собственное API на базе методологии REST. Вызов разрабо- танного API со стороны внешней систе- мы позволяет выполнить проверку дан- ных в блокчейн посредством вызова специального метода смарт-контракта. Нами была реализована программная сущность – абстрактный контракт, который описывает интерфейс, реали- зуемый любым логистическим смарт- контрактом. Он называется Transfer и представлен в Листинге 1. Фактическая реализация логистиче- ского контракта для работы с конкрет- ным объектом транспортировки – кар- тиной представляет собой реализацию контракта Transfer и представлена в Листинге 2. Также нами был описан смарт- контракт аудита. Данная реализация хранит хэши блоков и поступающие данные датчиков. Реализация данного способа записи в виде смарт-контракта представлена Листингом 3. Тестирование Модуль эмуляции камеры Данный проект был протестирован на базе персонального компьютера со следующими характеристиками: ● процессор: Quad-Core Intel Core i5; ● 8 ГБ ОЗУ с частотой 1,4 ГГц. Для разработки применялось следу- ющее ПО: Листинг 1 Описание абстрактного логистического контракта abstract contract Transfer { string company; bool public isFailed = false; string public owner; mapping(string => int64) public sensors; function CheckIsFailed() public virtual returns (bool); function put(string memory key, int64 value) public { sensors[key] = value; } function setOwner(string memory newOwner) public { owner = newOwner; } }
RkJQdWJsaXNoZXIy MTQ4NjUy