Техническое задание: Система защиты биткоин-кошельков
Цель проекта
Разработка автономной системы безопасности, которая в реальном времени отслеживает попытки несанкционированного вывода средств с заданных биткоин-адресов и автоматически инициирует защитную транзакцию для их сохранения.
Основные функциональные требования
- Развертывание ноды: Программа должна обеспечивать возможность скачивания, установки и синхронизации полной ноды Bitcoin Core.
- Мониторинг мемпула: Постоянное отслеживание неподтвержденных транзакций (mempool) на предмет исходящих операций с любого из защищаемых адресов.
- Автоматический "перебив": При обнаружении подозрительной исходящей транзакции система должна автоматически создавать и отправлять транзакцию на заранее заданный резервный адрес заказчика.
- Гибкая настройка комиссий: Комиссия для защитной транзакции должна рассчитываться в процентах от суммы перевода или в sat/vByte, с возможностью настройки.
- Импорт ключей: Реализовать функцию импорта приватных ключей в формате WIF из текстового файла (.txt) для удобства тестирования и настройки.
- Универсальная поддержка адресов: Система должна корректно работать со всеми типами биткоин-адресов (Legacy P2PKH, SegWit P2SH-P2WPKH, Native SegWit Bech32 и т.д.).
- Расширенная стратегия замены: Алгоритм должен выполнять "перебив" даже для транзакций без флага RBF (Replace-By-Fee), используя метод "ребенок платит за родителя" (CPFP) при необходимости.
Технические требования к реализации
- Язык программирования: Python.
- Взаимодействие с Bitcoin Core через JSON-RPC API.
- Обеспечение стабильной работы в фоновом режиме (демон/сервис).
- Логирование всех ключевых событий (обнаружение транзакции, создание "перебива", ошибки).
- Наличие конфигурационного файла для указания резервного адреса, параметров комиссий и путей к данным.
Результат работы
Готовое к использованию консольное или сервисное приложение с подробной инструкцией по настройке и развертыванию. Код должен быть чистым, документированным и передан заказчику в полном объеме.