Details

Title Система для хранения и обмена свободных валют: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_03 «Разработка программного обеспечения» = System for storing and exchanging free currencies
Creators Лихачев Алексей Владимирович
Scientific adviser Тышкевич Антон Игоревич
Organization Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности
Imprint Санкт-Петербург, 2026
Collection Выпускные квалификационные работы ; Общая коллекция
Subjects цифровые активы ; обменная платформа ; торговые офферы ; p2p-сделки ; блокчейн ; sha-256 ; ohlc ; ролевой контроль доступа ; laravel ; vue ; mysql ; digital assets ; exchange platform ; trade offers ; p2p trading ; blockchain ; role-based access control
Document type Bachelor graduation qualification work
Language Russian
Level of education Bachelor
Speciality code (FGOS) 09.03.04
Speciality group (FGOS) 090000 - Информатика и вычислительная техника
DOI 10.18720/SPBPU/3/2026/vr/vr26-1604
Rights Доступ по паролю из сети Интернет (чтение, печать, копирование)
Additionally New arrival
Record key ru\spstu\vkr\41155
Record create date 7/14/2026

Allowed Actions

Action 'Read' will be available if you login or access site from another network

Action 'Download' will be available if you login or access site from another network

Group Anonymous
Network Internet

Предмет исследования — торговые механизмы веб-платформы обмена цифровых активов: частичное исполнение публичных офферов, адресный P2P-обмен с переговорным процессом, агрегация ценовой статистики в формате OHLC и аудиторский блокчейн поверх реляционной базы данных.  Цель работы — разработать платформу обмена цифровых активов с полным торговым циклом и проверяемой историей операций: от регистрации пользователя до записи завершённой сделки в блокчейн.  Методы: объектно-ориентированное проектирование, REST, паттерн «контроллер — сервис — модель», реляционное моделирование в 3НФ, SHA-256 для хэш-цепочки блоков.  Backend написан на PHP 8 и Laravel 11. Сервисный слой — десять классов, каждый с одной зоной ответственности; в базе 22 таблицы, в API — 57 маршрутов через 14 контроллеров. Фронтенд — SPA на Vue 3 + TypeScript + Quasar Framework. Блокчейн-движок сам решает, когда запечатать блок: либо при достижении порогового числа транзакций, либо принудительно раз в час. Цепочку можно проверить за один линейный проход — перебор блоков с пересчётом SHA-256. Все финансовые операции атомарны через DB::transaction(); за всё тестирование ни одна сделка не выполнилась частично. Из 37 тест-кейсов, модульных и интеграционных, ни один не упал. По сравнению с Binance Testnet и Uniswap платформа закрывает три функции, которых там нет: адресный P2P-обмен, создание токенов без смарт-контрактов, восьмиуровневая ролевая модель.  Область применения: учебные платформы и стенды для изучения архитектуры торговых систем. При подключении платёжных шлюзов может служить основой для коммерческой разработки.

Subject of research: the trading mechanics of a digital assets exchange platform — how public offers get partially filled, how addressed peer-to-peer trades work with a counter-offer round, how OHLC price data updates in real time, and how an audit blockchain is layered on top of a relational database.  Objective: to build a digital assets exchange platform covering the full trading cycle with a traceable operation history — from user registration to recording a completed transaction in a blockchain block.  Methods: object-oriented design, REST, Controller–Service–Model pattern, relational modelling in third normal form, SHA-256 for block hash chaining.  The backend is written in PHP 8 / Laravel 11. The service layer has ten classes, each owning a single area of responsibility; 22 tables in the database, 57 REST API routes across 14 controllers. The frontend is a Vue 3 + TypeScript + Quasar SPA. The blockchain engine decides when to seal a block: either when the transaction count hits a configured threshold, or once per hour by force. Verifying the chain takes one linear pass — walk the blocks, recompute the SHA-256 hashes. All financial operations go through DB::transaction(); not a single partial trade occurred across all test runs. 37 test cases, unit and integration — none failed. Compared to Binance Testnet and Uniswap, the platform covers three things they dont have: addressed P2P exchange, token creation without smart contracts, and an eight-tier role model.  Application area: educational platforms and demonstration environments for studying trading system architecture. With payment gateway integration it can serve as a base for commercial development.

Network User group Action
ILC SPbPU Local Network All
Read Print Download
Internet Authorized users SPbPU
Read Print Download
Internet Anonymous
  • ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ
  • ВВЕДЕНИЕ
  • ГЛАВА 1. АНАЛИТИЧЕСКАЯ ЧАСТЬ
    • 1.1 Анализ предметной области
      • 1.1.1 Криптовалютные биржи и обменные платформы
      • 1.1.2 Виды торговых механизмов
      • 1.1.3 Принцип OHLC-статистики
      • 1.1.4 Внутренний блокчейн
      • 1.1.5 Ролевая модель в финансовых системах
      • 1.1.6 Комиссионная модель платформы
    • 1.2 Обзор существующих аналогов
      • 1.2.1 Binance Testnet
      • 1.2.2 Uniswap (Sepolia testnet)
      • 1.2.3 Сравнительный анализ
    • 1.3 Обоснование выбора технологий
      • 1.3.1 Backend: PHP 8.x + Laravel 11
      • 1.3.2 Frontend: Vue 3 + TypeScript + Quasar Framework
      • 1.3.3 База данных: MySQL 8.x
      • 1.3.4 Аутентификация: Laravel Sanctum
      • 1.3.5 Планировщик: Linux cron + Laravel Scheduler
      • 1.3.6 Сводная таблица стека
    • 1.4 Постановка задачи
      • 1.4.1 Функциональные требования
      • 1.4.2 Нефункциональные требования
      • 1.4.3 Ограничения системы
    • Выводы по главе 1
  • ГЛАВА 2. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ И КОНЦЕПЦИЯ РЕШЕНИЯ
    • 2.1 Теоретические основы торговых механизмов
      • 2.1.1 Модель частичного исполнения публичного оффера
      • 2.1.2 Модель P2P-обмена с переговорным процессом
      • 2.1.3 Комиссионная модель платформы
    • 2.2 Математическая модель блокчейна
      • 2.2.1 Формализация хэш-цепочки
      • 2.2.2 Алгоритм верификации целостности
      • 2.2.3 Разграничение аудиторской и распределённой функции
    • 2.3 Алгоритм агрегации OHLC-статистики
      • 2.3.1 Формальный алгоритм обновления
      • 2.3.2 Синхронизация статистики системных валют
    • 2.4 Концепция решения и обоснование новизны
      • 2.4.1 Постановка проблемы
      • 2.4.2 Архитектурный базис
      • 2.4.3 Новизна решения
    • 2.5 Модель контроля доступа на основе ролей
    • Выводы по главе 2
  • ГЛАВА 3. ТЕХНОЛОГИЧЕСКОЕ РЕШЕНИЕ
    • 3.1 Архитектура системы
      • 3.1.1 Тип архитектуры и принцип разделения ответственности
      • 3.1.2 Сервисный слой
      • 3.1.3 Соглашение об ошибках
      • 3.1.4 Схема развёртывания
    • 3.2 База данных
      • 3.2.1 Общие принципы организации данных
      • 3.2.2 Группы таблиц
      • 3.2.3 Стратегия заморозки активов
      • 3.2.4 Настройки платформы
    • 3.3 Ролевая модель и авторизация
      • 3.3.1 Структура ролей и матрица доступа
      • 3.3.2 Проверка прав на уровне маршрутов и ресурсов
    • 3.4 Бизнес-логика торговых механизмов
      • 3.4.1 Исполнение публичного оффера
      • 3.4.2 P2P-сделка
      • 3.4.3 Блокчейн-движок
      • 3.4.4 Система логирования
    • 3.5 REST API
      • 3.5.1 Общие принципы
      • 3.5.2 Группы маршрутов
    • 3.6 Frontend
      • 3.6.1 Структура SPA
      • 3.6.2 Глобальный стор и маршрутизация
      • 3.6.3 Ключевые страницы
      • 3.6.4 Оценка сложности UI
    • 3.7 Фоновый планировщик
      • 3.7.1 Состав команд
      • 3.7.2 Ротация журналов
    • Выводы по главе 3
  • ГЛАВА 4. АПРОБАЦИЯ И АНАЛИЗ РЕЗУЛЬТАТОВ
    • 4.1 Стратегия и инструментарий тестирования
    • 4.2 Модульное тестирование компонентов
      • 4.2.1 WalletService
      • 4.2.2 TradeOfferService
      • 4.2.3 P2pTradeService
      • 4.2.4 Блокчейн: isValid и verifyChain
      • 4.2.5 Setting::get
      • 4.2.6 Тест-кейсы модульного уровня
    • 4.3 Интеграционное тестирование API
      • 4.3.1 Аутентификация и авторизация
      • 4.3.2 Жизненный цикл оффера
      • 4.3.3 P2P-сделка с контроффером
      • 4.3.4 Сводная таблица интеграционных тест-кейсов
      • 4.3.5 Тестирование блокчейн-движка
    • 4.4 Сравнительный анализ результатов
      • 4.4.1 Критерии оценки
      • 4.4.2 Функциональное сравнение
      • 4.4.3 Технические метрики реализации
      • 4.4.4 Достижение цели
    • 4.5 Итоги апробации
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
    • Книги и монографии
    • Стандарты и нормативные документы
    • Технические документы и спецификации
    • Документация фреймворков и библиотек
  • ПРИЛОЖЕНИЯ
    • Приложение А — Полная ER-диаграмма базы данных
    • Приложение Б — Листинг ключевых фрагментов кода
      • Б.1 — TradeOfferService::fill() — атомарное исполнение оффера
      • Б.2 — Block::seal() — запечатывание блока блокчейна
      • Б.3 — Block::verifyChain() и Block::isValid() — проверка целостности цепочки
      • Б.4 — BlockchainService::sealIfReady() и sealForce()
      • Б.5 — P2pTradeService::initiate() — создание P2P-сделки
    • Приложение В — Скриншоты пользовательского интерфейса
      • В.1 — Главная страница
      • В.2 — Страница детальной валюты
      • В.3 — Создание собственной валюты
      • В.4 — Кошелёк пользователя
      • В.5 — Страница обмена, публичные офферы
      • В.6 — Страница обмена, P2P-сделки
      • В.7 — Панель администратора: пользователи
      • В.8 — Панель администратора: настройки платформы
...