Skip to content

Реализация базового Proof-of-Work блокчейна с поддержкой криптографических транзакций и верификацией цепочки

License

Notifications You must be signed in to change notification settings

MatthewNaumenko/base-blockchain-transaction-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Base Blockchain Transaction System

Реализация базового Proof-of-Work блокчейна с поддержкой криптографических транзакций и верификацией цепочки.

Основные возможности

1. Базовый функционал блокчейна

  • Инициализация генезис-блока при первом запуске
  • Механизм Proof-of-Work с динамической сложностью
  • Хеширование SHA-256 для блоков и транзакций
  • Верификация целостности всей цепочки
  • ASCII-визуализация структуры блокчейна

2. Управление транзакциями

  • Создание подписанных транзакций между пользователями
  • RSA-подпись данных с использованием OpenSSL
  • Автоматическая валидация:
    • Проверка цифровых подписей
    • Контроль балансов участников
    • Валидация форматов адресов
  • Пакетная обработка транзакций в блоках

3. Управление пользователями

  • Регистрация новых участников системы
  • Генерация RSA-ключевых пар (PEM-формат)
  • Автоматическая балансировка:
    • Отслеживание остатков средств
    • Авторегистрация получателей
    • Фильтрация нулевых балансов

4. Системные функции

  • Многопоточный майнинг с использованием всех ядер CPU
  • Сериализация цепочки
  • Шифрование резервных копий (AES-256)
  • Логирование всех операций в консоль
  • Поддержка кросс-платформенного времени (ISO 8601)

Технические требования

Сборка проекта

Предварительные требования

  • Компилятор C++17: GCC 9+/Clang 12+/MSVC 19.29+
  • CMake 3.12+: Система автоматизации сборки
  • OpenSSL 3.4.1+: Библиотеки разработки

1. Клонирование репозитория

git clone https://github.com/MatthewNaumenko/base-blockchain-transaction-system.git
cd base-blockchain-transaction-system

2. Создание директории сборки

mkdir build && cd build

3. Конфигурация CMake

Укажите путь к OpenSSL, если не установлен в стандартной директории:

set(OPENSSL_ROOT_DIR "D:/openssl-3.4.1")

3. Сборка и запуск

  • Произвидите стандартную сборку проекта через CMake
  • Запустите BlockchainSystem
./BlockchainSystem

Описание меню системы

Структура главного меню

Blockchain System Menu
[INFO]  Logged in as: (Имя_пользователя)
1. Register user
2. Show list of users
3. Select user
4. Create transaction
5. Show blockchain
6. Save blockchain
7. Validate blockchain
8. Exit
Опция Функционал
1 Register user Регистрация нового пользователя с генерацией ключей
2 List users Просмотр списка зарегистрированных пользователей с балансами
3 Select user Смена текущего пользователя
4 Create transaction Создание и подписание транзакции между пользователями
5 Show blockchain Просмотр всей цепочки блоков с транзакциями
6 Save blockchain Сохранение блокчейна в зашифрованный файл (AES-256)
7 Validate blockchain Проверка целостности блокчейна и валидация всех транзакций
8 Exit Выход из системы

Документация

Полная документация проекта доступна в двух форматах:

  1. Онлайн-версия: GitHub Pages
  2. Локальная генерация:
    doxygen Doxyfile

Контакты

По вопросам сотрудничества и технической поддержки:

Лицензия

Apache License 2.0. Полный текст доступен в файле LICENSE.

About

Реализация базового Proof-of-Work блокчейна с поддержкой криптографических транзакций и верификацией цепочки

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published