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 |
|
| Internet | Authorized users SPbPU |
|
| 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
- 1.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
- 2.1 Теоретические основы торговых механизмов
- ГЛАВА 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
- 3.1 Архитектура системы
- ГЛАВА 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 — Панель администратора: настройки платформы