Перейти к основному содержимому

Практикум Ledger Lab — обзор

Разработчику Аналитику

Практикум. Вы уже видели блокчейн и биржи в теории (вводная глава, криптовалюты). Здесь по шагам соберёте учебный ledger на Python у себя на компьютере: цепочка блоков, цифровые подписи, очередь переводов и слой compliance (KYC, лимиты, журнал аудита). Весь код — в статьях практикума, отдельного репозитория нет. Это не боевой кошелёк и не работа с mainnet.


Что получится в конце

Crypto Ledger Lab — консольное приложение, в котором:

СлойТехнологияСвязь с теорией
РеестрСвязанные блоки + SHA-256Блокчейн, демо BlockchainChainPlay
АвторствоEd25519, подпись canonical JSONЦифровая подпись, раздел ИБ
Хранение ключейAES-GCM + PBKDF2Симметричное шифрование в той же главе
«Торговля»Балансы активов LAB, mempool, майнинг блокаUTXO/аккаунты, биржи — криптовалюты
ComplianceKYC-уровни, лимиты, sanctions, audit logKYC/AML на CEX — глава 1, 11
Учебный характер

Проект объясняет механизмы, а не даёт юридическую или инвестиционную консультацию. Для реальных продуктов нужны лицензии, аудит, HSM, процедуры AML/KYC по юрисдикции (в РФ — в том числе 115-ФЗ и требования ЦБ к операторам обмена).


Требования

  • Python 3.10+
  • pip, виртуальное окружение
  • Базовое чтение кода (функции, классы, dict)

Подготовка среды

Создайте у себя папку проекта (имя любое, ниже — ledger-lab/):

ledger-lab/
├── ledger_lab/
│ ├── __init__.py
│ ├── block.py
│ ├── chain.py
│ ├── crypto_keys.py
│ ├── transaction.py
│ ├── compliance.py
│ ├── ledger.py
│ └── demo.py # короткий сценарий — шаг 3–4
├── tests/
│ └── test_ledger.py
└── requirements.txt

requirements.txt:

cryptography>=42.0.0
pytest>=8.0.0

Установка:

cd ledger-lab
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux / macOS
pip install -r requirements.txt

Дальше в шаге 1 заполните block.py и chain.py по фрагментам из статьи. Остальные модули — в шагах 2–4.


Маршрут практикума

ШагСтатьяСодержание
1Цепочка блоковBlock, Blockchain, учебный PoW, проверка целостности
2КриптографияEd25519, подпись перевода, шифрование PEM ключа
3Ledger и переводыБалансы, mempool, майнинг, симуляция spot-перевода
4Compliance и тестыKYC, лимиты, audit, pytest, куда развивать проект

Рекомендуемый порядок: 1011 → 1012 → 1013 → 1014. Можно идти параллельно с чтением вводной, возвращаясь к интерактивам на странице.


Архитектура (высокий уровень)

Поток перевода:

  1. Пользователь создаёт кошелёк (пара ключей), проходит учебный KYC.
  2. submit_transfer проверяет compliance и баланс, подписывает транзакцию, кладёт в mempool.
  3. mine_pending применяет переводы к балансам и упаковывает их в новый блок (с учебным PoW).
  4. События compliance пишутся в audit_log (для разбора инцидентов и регуляторных запросов).

Связь с «настоящим» криптотрейдингом

В практикумеНа бирже (CEX)On-chain (DEX)
Баланс LAB в памятиБаланс в БД биржиБаланс в смарт-контракте / кошельке
Подпись Ed25519 переводаAPI-ключ + 2FAПодпись tx в кошельке
Compliance в PythonKYC/AML отдел + лимитыТолько код контракта + риски пользователя
Майнинг блока локальноMatching engineБлок в сети Ethereum и др.

Практикум специально сжимает стек до одного процесса, чтобы увидеть все слои сразу. В продакшене их разносят по сервисам, HSM и внешним провайдерам KYC.


Что попробовать сегодня

  1. Создайте каталог ledger-lab/ и установите зависимости из раздела «Подготовка среды».
  2. Пройдите шаг 1 — измените difficulty и посмотрите, как растёт время майнинга.
  3. Откройте чек-лист раздела и отметьте вопросы про хеши, подписи и KYC.

Навигация по практикуму

1011 Цепочка · 1012 Криптография · 1013 Ledger · 1014 Compliance · О разделе · Итоги

См. также

Другие статьи этого же раздела в боковом меню (как на странице "О разделе").