Для компьютеров под управлением Windows подготовлена сборка MultiChain, дополненная удобными скриптами для запуска и подготовки данных
1) Скачайте архив pg-blockchain.zip;
2) распакуйте его в отдельную директорию;
3) запустите "1. Подготовка блокчейна.bat";
4) введите номер чейна в формате 4 значного числа, который можно посмотреть в разделе "Результаты" https://pg.er.ru/results, выбрав свой адрес;
5) будет запущен Multichain сервер, начнется процесс скачивания данных цепочки к Вам на компьютер;
6) окно Multichain сервера не закрывайте все время работы с блокчейном;
7) когда чейн будет скачан запустите второй скрипт "2. Проверка транзакции.bat" и введите адрес своей транзакции;
8) полученная строка данных будет содержать идентификаторы кандидатов, за которых был отдан голос.

Набор инструментов не требует установки программного обеспечения, работает в локальной директории, сохраняет блокчейн-цепочки в ней, поддерживает параллельную работу нескольких цепочек. Требуемый объем хранения составляет около 100 Мегабайт на одну цепочку. Для изучения выше описанных скриптов в текстовом редакторе следует выбирать кодировку кириллицей OEM 866, в тексте скриптов описаны основные принципы их работы.

Blockchain-узлы (ноды) Электронного Предварительного Голосования реализованы на базе открытого программного обеспечения Multichain и доступны для подключения любого совместимого Multichain-сервера версии 2.x с параметрами, указанными на странице после отправки голоса избирателем и на странице результатов для конкретного счетного участка.


ТЕХНИЧЕСКОЕ ОПИСАНИЕ ДЛЯ СПЕЦИАЛИСТОВ:

Как проводится проверка транзакции:
1. Требуется подготовка блокчейн-реестра (см. соответствующий скрипт в папке), во время которой на компьютер копируется блокчейн с зашифрованными транзакциями;
2. Осуществляется поиск определенной транзакции в указанном блокчейн-реестре;
3. Результат в формате JSON фильтруется для вывода полезных данных транзакции, далее преобразуется в двоичный формат;
4. Осуществляется расшифровка данных транзакции с помощью опубликованного закрытого ключа электронного голосования (публикуется после окончания голосования);
5. Вывод расшифрованных данных форматируется в JSON формате. В соответствии с заполненными бюллетенями, порядковый номер Вашего голоса содержит цифровой идентификатор кандидата, за которого Вы проголосовали.

Голоса бюллетеней участков распределены по нескольким blockchain-цепочкам (реестрам блокчейн) по адресам, сформированным по следующей маске: <номер_реестра>@pg-blockchain.er.ru:4<номер_реестра>. Например, если номер блокчейн-реестра равен 0456, то адрес и порт электронного реестра (блокчейн) примет вид 0456@pg-blockchain.er.ru:40456. Следует обратить внимание на предшествующий ноль в номере блокчейн-цепочки.

В целях открытости процедуры голосования база данных блокчейн доступна для анализа: в каждой блокчейн-цепочке данные голосования хранятся в корневом потоке (root stream) с ключом «vote». В момент голосования локально на компьютере избирателя его голос шифруется открытым ключом голосования и подписывается уникальными и сформированным в реальном времени индивидуальными ключами шифрования, после чего направляется на сервер Электронного предварительного голосования, где в неизменном виде сохраняется в blockchain-ноду, соответствующую избирательному округу, к которому прикреплен избиратель. Сервер голосования сохраняет факт получения голоса и возвращает избирателю идентификатор blockchain-транзакции, в которой сохранен его голос - данный идентификатор вместе со сгенерированными ключами отображается избирателю.
Голос избирателя представляет собой сообщение PCKS#7 в формате DER, содержащее сериализованный в строке JSON-объект (ключи – внутренние номера бюллетеней, значения – массивы идентификаторов кандидатов предварительного голосования с сайта https://pg.er.ru – все кандидаты доступны по прямым ссылкам вида https://pg.er.ru/candidate/<идентификатор>). Формирование индивидуальных адресов из пользовательских ключей происходит по схеме и параметрам системы Bitcoin в целях обеспечения максимальной доступности и совместимости программного обеспечения.