В статье авторы предлагают вариант решения проблемы, связанной с фальшивыми дипломами о высшем образовании.
Ключевые слова: применение блокчейн, верификация дипломов, подлинность дипломов, ресурс учета и проверки легитимности дипломов, проекты ИТЛ 24.
Российскую Федерацию захлестнула волна фальшивых дипломов. По оценкам экспертов, до 25 процентов специалистов при приеме на работу предъявляют поддельные документы о высшем образовании. Фальшивки можно купить практически свободно. Доходит до того, что люди, не учившиеся по специальности ни дня, управляют движением самолетов и проводят хирургические операции [1].
Проблема, связанная с подделкой дипломов, остается актуальной на протяжении не одного десятка лет. Фальшивые свидетельства о высшем образовании — сегодня очень ходовой товар. По данным президента Всероссийского фонда образования и эксперта Центра независимых судебных экспертиз Сергея Комкова, половина всех дипломов, якобы выдаваемых вузами страны, — подделка. Именно поэтому отечественные «корочки» отказываются признавать и в Европе, и в Америке, и в Австралии, и даже в Туркменистане [2].
Гипотеза : веб-ресурс по учету и проверке подлинности дипломов о высшем образовании (работающий на технологии блокчейн), поможет избежать приема на работу неквалифицированных сотрудников.
Научная новизна данного проекта заключается в создании информационного веб-ресурса на базе технологии блокчейн. Благодаря этому ресурсу появляется возможность вести учет и получать достоверную информацию о подлинности дипломов о высшем образовании. При этом полностью исключается возможность вносить изменения в существующие записи.
Для разработки, тестирования и запуска веб-ресурса, на одном из лицейских серверов, решено было развернуть отдельную виртуальную машину на гипервизоре Hyper-V входящем в состав Windows Server 2008 R2. В качестве операционной системы (ОС) для виртуальной машины была выбрана ОС Linux основанная на дистрибутиве CentOS. После установки CentOS в систему были инсталлированы и настроены программные пакеты, необходимые для работы веб-ресурса: веб-сервер Apache, сервер баз данных MariaDB (MySQL), интерпретатор языка PHP с дополнительными модулями.
Описание логики работы веб-ресурса.
Для наглядности работы информационного ресурса рассмотрим следующую ситуацию: в одном из высших учебных заведений, после окончания семестра обучения, сотрудник университета, обладающий определенными правами доступа к информации об успеваемости студентов ВУЗа, при успешной авторизации, заносит определенные данные в Блокчейн посредством веб-ресурса.
Информация о каждом студенте вносится за предыдущий семестр, т. к. в некоторых университетах существует возможность получить зачет или сдать экзамен, если сессия не закрыта вовремя.
Заполняются следующие поля:
ФИО, Вуз, Группа, Номер зачетной книжки, Предмет, Семестр, Оценка или зачет.
После внесения данных через веб-ресурс, последующая корректировка записей невозможна.
По окончании успешной защиты дипломной работы, добавляется сводная запись, которая ссылается на записи о прошедших семестрах и содержит серию, номер документа. Эта сводная запись является подтверждением подлинности диплома о высшем образовании.
Сводная запись состоит из следующих полей:
ФИО, Вуз, Факультет, Серия, номер диплома (слитно), Специальность, Квалификация, Дата выдачи диплома.
Ссылки на записи о прошедших семестрах автоматически добавляются при успешном выполнении условий (наличие записей о прошедших семестрах), описанных в смарт-контракте.
Теперь смоделируем ситуацию, когда информация о подлинности диплома о высшем образовании может понадобиться. К примеру, сотрудник отдела кадров при отборе кандидатов на открытую вакансию желает проверить подлинность документа о высшем образовании. Для этого ему нужно в сети Интернет обратиться к веб-ресурсу — открыть сайт по адресу http://blockchain.sch24.ru/. Затем сотрудник должен авторизоваться (ввести логин и пароль). Получение реквизитов доступа (логина и пароля) происходит согласно определенному регламенту. При необходимости существует возможность подключить двухфакторную аутентификацию. Пройдя процедуру авторизации, пользователь заполняет определенные поля в форме, необходимые для получения данных. После нажатия кнопки, расположенной внизу формы, выполняется обращение к соответствующей сводной записи по запросу в Блокчейн. В результате обработки запроса открывается веб-страница, на которой представлена следующая информация: ФИО, ВУЗ, специальность, квалификация, дата выдачи диплома, серия и номер диплома. Таким образом, сотрудник отдела кадров может оперативно получить информацию о подлинности документа о высшем образовании.
Развертывание приватного Блокчейн.
Для развертывания приватного Блокчейн на платформе Ethereum был выбран инструмент Ganache. На одном из лицейских серверов, работающих под управлением ОС Windows Server 2008 R2, установлена версия сервера Ganache GUI для Windows, которая имеет удобный графический интерфейс.
Рис. 1. Интерфейс сервера Ganache
Ganache — инструмент, который позволяет развернуть локальный Блокчейн для взаимодействия с приложениями по сети. Имеет широкий функционал.
Одной из особенностей Ganache является наличие функции RPC Server. Сервер удаленного вызова процедур (RPC) позволяет подключиться к приватному Блокчейн через протокол HTTP по определенному сетевому порту — http://192.168.100.5:7545.
Визуальный обозреватель блоков, транзакций, смарт-контрактов, присутствующий в Ganache это наглядная и полезная функция для тестирования приложений при взаимодействии с Блокчейн.
Разработка и тестирование смарт-контракта.
Для развертывания (Deploy) смарт-контракта в приватный Блокчейн и тестирования дальнейшего взаимодействия, выбран инструмент MyEtherWallet (MEW). В настройках локальной копии MEW в роли Блокчейн узла (ноды) подключен сервер с Ganache.
В качестве инструмента для написания и компиляции кода смарт-контракта использовался онлайн-редактор Remix. Remix содержит компилятор для языка программирования Solidity.
В смарт-контракте Dip_true перечислены структуры с обязательными полями, которые отражены в разделе «Описание логики работы веб-ресурса».
Рис. 2. Компиляция смарт-контракта Dip_true в Remix IDE
После успешного создания и компиляции смарт-контракта в Remix IDE, можно приступать к его развертыванию в приватный Блокчейн. Для этого понадобится байт-код смарт-контракта, который нужно скопировать из параметра object раздела BYTECODE в Details из Remix IDE.
Переносим байт-код в поле Byte Code на странице Deploy Contract инструмента MEW. Для того чтобы загрузить смарт-контракт в приватный Блокчейн сервера Ganache, нужно добавить Private Key, значение которого копируется из адреса в Ganache. После подтверждения транзакции кнопкой Sign Transaction выполняется развертывание контракта в Блокчейн — Deploy Contract.
Рис. 3. Развертывание смарт-контракта через MEW
Взаимодействие со смарт-контрактом осуществляется на странице Interact with Contract инструмента MEW. В поле Contract Adress вставляется адрес загруженного в Блокчейн контракта, который можно скопировать из окна Transaction сервера Ganache.
Рис. 4. Адрес смарт-контракта в Блокчейн Ganache
Для того чтобы MEW понимал, как взаимодействовать со смарт-контрактом, необходимо добавить ABI (Application Binary Interface), который копируется из раздела ABI в Details из Remix IDE.
Рис. 5. Настройка взаимодействия со смарт-контрактом в MEW
Создание веб-интерфейса.
При создании веб-интерфейса использовался язык разметки гипертекста HTML, а также определенные Javascript библиотеки, такие как Particles.js, jQuery, Wow.js. Кнопки геолокации по сайту, которые находятся в верхней части веб-страницы, работают с использованием jQuery. Процедура авторизации написана на языке PHP. Для работы формы авторизации задействованы переменные, которые связаны с логинами и паролями. Авторизация происходит при условии ввода верных реквизитов доступа (логина и пароля).
Рис. 6. Главная страница веб-ресурса
Для удобства работы с веб-ресурсом страницы сайта выполнены в лаконичном стиле. За основу взят шаблон Squadfree, использующий современную библиотеку Bootstrap. В форме, которая после авторизации доступна для сотрудника ВУЗа, перечислены поля обязательные для заполнения. Запись данных в Блокчейн происходит после нажатия кнопки «Добавить».
Связка смарт-контракта с веб-интерфейсом.
Взаимодействие смарт-контракта с веб-интерфейсом осуществляется благодаря JavaScript библиотеке Web3.js. Библиотека Web3.js представляет собой набор модулей, которые содержат специфические функции для платформы Ethereum, что позволяет облегчить взаимодействие с Блокчейн Ethereum, ее смарт-контрактами и связанными с ними функциями.
Рис. 7. Схема взаимодействия Web3.js
После подключения к веб-странице библиотеки Web3.js, настраиваются параметры необходимые для установления связи с узлом, на котором развернут наш приватный Блокчейн.
Рис. 8. Фрагмент JavaScript-кода для подключения
Затем добавляется бинарный интерфейс приложения — ABI нашего контракта. ABI — это список функций и аргументов контракта в формате JavaScript (JSON). Он копируется из раздела ABI в Details из Remix IDE после компиляции смарт-контракта. ABI предписывает контракту возвращать массив, который описывает заданную сигнатуру вызова и доступные функции смарт-контракта.
Посредством JavaScript происходит вызов необходимых функций смарт-контракта через HTML-элементы с идентификаторами.
Публикация веб-ресурса в сети Интернет.
Для того чтобы веб-сайт мог быть доступен в сети Интернет, его нужно разместить на хостинг-сервере. Но поскольку для разработки веб-ресурса была развернута отдельная виртуальная машина, работающая под управлением ОС CentOS, выполняющая роль веб-сервера, то размещение на хостинг сервере стало не актуальным.
Публикацию веб-сервера во внешнюю сеть осуществили через проброс портов на одном из лицейских серверов, имеющих «белый» IP-адрес. Проброс портов — это технология, которая позволяет обращаться из Интернет к компьютеру во внутренней сети за маршрутизатором, использующим NAT.
Для удобного обращения к веб-ресурсу настроили доменное имя blockchain на DNS-хостинге регистратора RU-Center, у которого зарегистрирован лицейский домен sch24.ru. Добавили DNS-запись «A» типа c доменом blockchain.sch24.ru и IP-адресом 80.237.49.19.
Также для внешнего доступа к серверу с приватным Блокчейн было настроено правило для перенаправления запросов с порта 7412 на внутренний адрес сервера 192.168.100.5 порт 7545.
Таким образом, веб-ресурс для учета и верификации дипломов о высшем образовании доступен в сети Интернет по адресу http://blockchain.sch24.ru.
Выводы.
Благодаря уникальным особенностям, технология Блокчейн позволяет сохранять информацию, исключая возможность ее последующей модификации.
Используя веб-ресурс данные об успеваемости фиксируются в течение всего периода обучения студента в университете. Эта информация может быть получена через веб-ресурс по запросу, для подтверждения подлинности документа о высшем образовании. По сути, история обучения студента, записанная в Блокчейн, будет являться доказательством подлинности диплома. Как следствие, проверка подлинности дипломов через веб-ресурс подключенный к Блокчейн поможет уменьшить количество неквалифицированных сотрудников.
Литература:
- Дипломы-оборотни // Газета «Известия». — URL: https://iz.ru/news/363647
- Каждый второй диплом о высшем образовании — фальшивка // Газета «Наша версия». — URL: https://versia.ru/kazhdyj-vtoroj-diplom-o-vysshem-obrazovanii-falshivka