TIDECOIN
Получить TDC

Разработка на Tidecoin

Tidecoin — это Bitcoin Core v30 с полностью post-quantum криптографией. Пять post-quantum схем подписи из процесса NIST PQC (финализированный FIPS 204, Draft FIPS 206), шифрованный транспорт ML-KEM-512, PQHD-кошелёк и инфраструктура AuxPoW merged mining — всё реализовано, протестировано и открыто под лицензией MIT.

// быстрый старт

Как собрать Tidecoin из исходников?

build.shbash
01$ git clone https://github.com/tidecoin/tidecoin.git
02$ cd tidecoin
03$ cmake -B build
04$ cmake --build build -j$(nproc)
05$
требования
  • — GCC ≥ 11.1 или Clang ≥ 16.0
  • — CMake ≥ 3.22
  • — Python 3
  • — pkgconf / pkg-config
поддерживаемые платформы
  • — Linux Kernel 3.17+
  • — macOS 13+
  • — Windows 10+
  • — FreeBSD · OpenBSD · NetBSD
опционально

SQLite (кошелёк) · Qt6 + qrencode (GUI) · ZeroMQ (уведомления) · Cap'n Proto (IPC)

// запуск

Как запустить Tidecoin?

run.shbash
01# Start the daemon
02$ ./build/src/tidecoind
03 
04# Start with GUI
05$ ./build/src/qt/tidecoin-qt
06 
07# CLI interface
08$ ./build/src/tidecoin-cli getblockchaininfo
09$
бинарники
  • tidecoindДемон full-ноды
  • tidecoin-qtGUI-кошелёк (Qt 6)
  • tidecoin-cliRPC-клиент
  • tidecoin-walletУтилита кошелька
  • tidecoin-txУтилита транзакций
  • tidecoin-utilОбщая утилита
// архитектура исходников

Как организован исходный код Tidecoin?

src/pq/falcon-512/Реализация Falcon-51213 файлов, PQClean constant-time
src/pq/falcon-1024/Реализация Falcon-102413 файлов
src/pq/ml-dsa-{44,65,87}/Реализации ML-DSAПо 18 файлов, FIPS 204
src/pq/ml-kem-512/Инкапсуляция ключей ML-KEM-51220 файлов, FIPS 203
src/pq/pq_scheme.hРеестр схем5 схем, префиксы 0x07 — 0x0B
src/pq/pqhd_kdf.cppДеривация ключей PQHDSHA-512 KDF, только hardened
src/pq/pqhd_keygen.cppГенерация PQ-ключейДетерминированно из seed
src/pq/kem.cppC++ обёртка ML-KEMKeypair, encaps, decaps
src/crypto/yespower/PoW YespowerTIDEN=2048, r=8
src/auxpow.h/.cppAuxPoW merged miningChain ID 8, валидация scrypt
src/wallet/pqhd.hСтруктуры PQHD-кошелькаSeed, шифр-seed, policy
src/kernel/chainparams.cppПараметры сетиГенезис, высоты активации, HRP
src/script/interpreter.cppДвижок ScriptOP_SHA512, witness v1, PQ strict
// rpc-команды

Какие RPC уникальны для Tidecoin?

// auxpow rpc (built, активируется с auxpow)
tidecoin-cli.auxpowrpc
01$ tidecoin-cli createauxblock <address>
02# Создать кандидат-блок AuxPoW
03 
04$ tidecoin-cli submitauxblock <hash> <auxpow>
05# Отправить решённый AuxPoW
06 
07$ tidecoin-cli getauxblock
08# Wallet-assisted сценарий создания / отправки
// pqhd wallet rpc (live)
tidecoin-cli.pqhdrpc
01$ tidecoin-cli setpqhdpolicy <recv> <change>
02# Установить PQ-схему по умолчанию для новых адресов
03 
04$ tidecoin-cli listpqhdseeds
05# Список PQHD seed'ов в кошельке
06 
07$ tidecoin-cli importpqhdseed <seed_hex>
08# Импорт 32-байтового master seed
09 
10$ tidecoin-cli setpqhdseed <recv> [change]
11# Выбрать seed по умолчанию
12 
13$ tidecoin-cli removepqhdseed <id>
14# Удалить не-дефолтный seed

Принимаемые имена схем: falcon-512, falcon1024, mldsa44, mldsa65, mldsa87 (или числовой префикс-байт).

// тесты

Как запустить тесты Tidecoin?

run-tests.shbash
01# Unit tests
02$ ctest --test-dir build
03 
04# Functional tests
05$ build/test/functional/test_runner.py
06$
pq-специфичные тесты
  • — pqhd_kdf_tests — деривация PQHD KDF с тест-векторами
  • — pqhd_keygen_tests — генерация PQ-ключей
  • — pq_pubkey_container_tests — сериализация PQ-pubkey
  • — pq_multisig_tests — мультиподпись PQ-схемами
  • — bip324_pq_tests — транспорт-шифр ML-KEM V2
  • — auxpow_tests — валидация AuxPoW-блоков
  • — auxpow_mining.py — интеграция AuxPoW-майнинга
  • — wallet_pqhd_seed_lifecycle.py — управление PQHD seed
  • — wallet_pqhd_policy.py — policy PQHD-схем
  • — feature_pq_script_assets.py — валидация PQ Script
тестовые данныеsrc/test/data/script_tests_pq.json · tx_valid_pq.json · tx_invalid_pq.json
// участие

Как внести вклад в Tidecoin?

правила стиля
  • — Отступ 4 пробела, snake_case функции, CamelCase классы
  • — PQ-криптография в src/pq/ следует конвенциям PQClean
  • — Новые функции требуют unit- и функциональных тестов
  • — Не добавляйте плавающую точку в crypto-код
  • — Не добавляйте ECDSA / secp256k1 / Schnorr / Taproot
security.mddisclosure
01# раскрытие уязвимостей
02 
03Не открывайте публичный issue по уязвимостям. Используйте private vulnerability reporting в GitHub или email [email protected] (Proton Mail поддерживает post-quantum email).
04 
05$ mailto: [email protected]
06 
07# Ответ: подтверждение за 48 часов, оценка за 7 дней.
// вопросы разработчиков

FAQ для разработчиков

Все вопросы

Tidecoin — это форк Bitcoin?

Tidecoin построен на Bitcoin Core v30. Он сохраняет UTXO-модель, систему скриптов и P2P-сеть, но заменяет всю классическую криптографию (ECDSA, Schnorr, Taproot) на post-quantum примитивы из процесса стандартизации NIST PQC.

Можно ли использовать документацию Bitcoin Core?

Большая часть документации Bitcoin Core применима. Ключевое отличие — всё криптографическое подписание использует PQ-схемы вместо ECDSA. См. Tidecoin-специфичные документы в папке doc/.

Под какой лицензией Tidecoin?

MIT License, как и Bitcoin Core.