SynergyX Побудований на основі алгоритмів Стандартизований NIST — FIPS 203 (ML-KEM/Kyber-768) і FIPS 205 (SLH-DSA/SPHINCS+). Опубліковано 15 січня 2026 р. Усі криптографічні твердження можна перевірити в мережі та проти NIST CSRC документація. Нульовий попередній мін. Нульове ICO. Нуль VC. Нульовий розподіл засновників. 77,7 мільйонів жорсткий капітал. Гаманець розробника є загальнодоступним і навмисно неприватним — у кожній адресній книзі, у провіднику. Ніщо з цього не просить вас довіряти людині.
Перехід на Post-Quantum Wallets: Посібник розробника на 2026 рік
📅 Last updated: September 23, 2026🎧 Слухати: ~6 хв
Перехід від класичної до постквантової криптографії є найбільшою криптографічною міграцією в історії обчислювальної техніки. Цей посібник надає розробникам практичні кроки, шаблони коду та архітектурні міркування для інтеграції постквантової криптографії в додатки для криптовалют. The SynX квантово стійкий гаманець SDK демонструє ці шаблони у готовому для виробництва коді.
Передумови та середовище розробки
Перед початком постквантової інтеграції переконайтеся, що ваше середовище розробки включає:
liboqs 0.9+: Відкрита бібліотека Quantum Safe зі стандартними реалізаціями NIST
OpenSSL 3.2+: Для гібридних класичних/постквантових конфігурацій
Мовні прив'язки: liboqs-python, liboqs-go або pqcrypto (Rust)
# Встановити Open Quantum Safe (Ubuntu/Debian)
sudo apt-get install cmake ninja-build libssl-dev git clone https://github.com/open-quantum-safe/liboqs.git cd liboqs && mkdir build && cd build cmake -GNinja -DCMAKE_INSTALL_PREFIX=/usr/local .. ninja && sudo ninja install
# Прив'язки Python
pip встановити liboqs-python
Розуміння відмінностей у розмірі ключів
Постквантова криптографія вимагає значно більших ключів і підписів. Відповідно сплануйте свої структури даних:
компонент
Класика (Ed25519)
Постквантовий (SynX)
Фактор
відкритий ключ
32 байти
1184 байти (Kyber-768)
37×
Секретний ключ
64 байти
2400 байт (Kyber-768)
37×
Підпис
64 байти
7856 байт (SPHINCS+-SHAKE-128s)
123×
Адреса (похідна)
~34 символи
~62 символи
~2×
Потрібні оновлення схеми бази даних
Якщо у вашій існуючій схемі для ключів використовуються стовпці фіксованої ширини (наприклад, BINARY(32)), вам знадобляться міграції. Розглянемо використання VARBINARY or BLOB типи для майбутнього.
Покроковий процес міграції
1 Криптографічний інвентар
Визначте всі криптографічні операції у вашій кодовій базі:
Генерація та виведення ключів
Підпис і перевірка
Шифрування та дешифрування
Обмін ключів та домовленість
2 Абстрактні криптографічні операції
Створіть рівень абстракції, який може підтримувати як класичні, так і постквантові алгоритми:
# Приклад Python: рівень абстракціївід абв імпорт АВС, абстрактний метод
від введення тексту імпорт Кортеж
класСхема підпису(ABC):
"""Абстрактна база для сигнатурних алгоритмів"""
@abstractmethod
захgenerate_keypair(само) -> Кортеж[байти, байти]:
"""Повертає (відкритий_ключ, секретний_ключ)"""пропуск
@abstractmethod
захзнак(я, повідомлення: байти, секретний_ключ: байти) -> байти:
"""Повертає підпис"""пропуск
@abstractmethod
захперевірити(я, повідомлення: байти, підпис: байти, відкритий_ключ: байти) -> логічний:
"""Повертає True, якщо дійсний"""пропусккласSPHINCS_Plus(SignatureScheme):
"""Реалізація SPHINCS+ для SynX"""зах__init__(self, варіант: str = "SPHINCS+-SHAKE-128s"):
імпорт oqs self.sig = oqs.Signature(варіант)
захgenerate_keypair(само) -> Кортеж[байти, байти]: public_key = self.sig.generate_keypair() secret_key = self.sig.export_secret_key()
повернення відкритий_ключ, секретний_ключ
захзнак(self, повідомлення: байти, secret_key: байти) -> байти: self.sig.import_secret_key(secret_key)
повернення self.sig.sign(повідомлення)
захперевірити(я, повідомлення: байти, підпис: байти, відкритий_ключ: байти) -> логічний:
повернення self.sig.verify(повідомлення, підпис, відкритий_ключ)
3 Впровадити інкапсуляцію ключів
Замініть обмін ключами ECDH на Kyber-768 KEM:
# Інкапсуляція ключа Kyber-768імпорт oqs
класКіберКЕМ:
"""Інкапсуляція ключів Kyber-768 для SynX"""зах__init__(self): self.kem = oqs.KeyEncapsulation("Kyber768")
захgenerate_keypair(само):
"""Створити пару ключів Kyber-768"""
public_key = self.kem.generate_keypair() secret_key = self.kem.export_secret_key()
повернення відкритий_ключ, секретний_ключ
захінкапсулювати(self, recipient_public_key: байти):
""" Створити спільний секрет + зашифрований текст Повертає: (шифрований текст, shared_secret) """
зашифрований текст, shared_secret = self.kem.encap_secret( recipient_public_key )
повернення зашифрований текст, спільний_секрет
захдекапсулювати(само, зашифрований текст: байти, секретний_ключ: байти):
""" Відновити спільний секрет із зашифрованого тексту Повертає: shared_secret """
self.kem.import_secret_key(секретний_ключ)
повернення self.kem.decap_secret(шифрований текст)
# Приклад використання
kem = КіберКЕМ() alice_pk, alice_sk = kem.generate_keypair()
# Боб відкрив секрет для Аліси
зашифрований текст, shared_secret_bob = kem.encapsulate(alice_pk)
# Аліса декапсулює, щоб отримати той самий секрет
shared_secret_alice = kem.decapsulate(шифрований текст, alice_sk)
стверджувати shared_secret_alice == shared_secret_bob
4 Оновити генерацію адреси
Змініть похідну адресу для обробки великих відкритих ключів:
імпорт хешліб
імпорт база58
захgenerate_synx_address(kyber_public_key: байти, sphincs_public_key: байти, мережа: str = "основна мережа") -> str:
""" Створити адресу SynX з постквантових ключів. Формат: версія(1) + хеш(32) + контрольна сума(4) """# Поєднайте обидва відкритих ключі
combined = kyber_public_key # addresses derive from the Kyber-768 public key
# Подвійний хеш Blake2b (квантово стійкий)
first_hash = hashlib.Blake2b(combined, digest_size=32).digest() address_hash = hashlib.Blake2b(first_hash, digest_size=32).digest()
# Байт версії
версія = b'\x50'if мережа == "основна мережа"інше b'\x51'# Обрізати хеш для адреси (перші 20 байтів)
тіло_адреси = версія + хеш_адреси[:20]
# Контрольна сума (перші 4 байти подвійного хешу)
контрольна сума = hashlib.Blake2b( hashlib.Blake2b(address_body, digest_size=32).digest(), digest_size=32 ).digest()[:4]
# Кодування Base58повернення base58.b58encode(address_body + checksum).decode()
# Приклад
адреса = generate_synx_address(kyber_pk, sphincs_pk)
# Повертає: "Sx7nQ3kV9mP2xR5tW8yB4cF6hJ..."
5 Оновлення підпису транзакцій
Реалізація підписів транзакцій SPHINCS+:
від класи даних імпорт клас даних
від введення тексту імпорт Список
імпорт json @dataclass
класТранзакція: відправник: str одержувач: str сума: int комісія: int nonce: int підпис: bytes = None
захsign_transaction(tx: Транзакція, секретний_ключ: байти, підпис: SPHINCS_Plus) -> Транзакція:
"""Підписати транзакцію з SPHINCS+"""# Створити повідомлення для підпису (виключити поле підпису)
повідомлення = json.dumps({
"відправник": tx.sender,
"одержувач": tx.recipient,
"сума": tx.сума,
"плата": tx.fee,
"nonce": tx.nonce }, sort_keys=True).encode()
# Хешування повідомлення (зменшує розмір введення для підпису)
message_hash = hashlib.Blake2b(message, digest_size=32).digest()
# Підпишіть SPHINCS+
tx.signature = signer.sign(message_hash, secret_key)
повернення tx
захverify_transaction(tx: Транзакція, відкритий_ключ: байти, верифікатор: SPHINCS_Plus) -> bool:
"""Перевірте підпис транзакції SPHINCS+"""
повідомлення = json.dumps({
"відправник": tx.sender,
"одержувач": tx.recipient,
"сума": tx.сума,
"плата": tx.fee,
"nonce": tx.nonce }, sort_keys=True).encode() message_hash = hashlib.Blake2b(message, digest_size=32).digest()
повернення verifier.verify(message_hash, tx.signature, public_key)
Building on SynX
SynX has not published a developer SDK or a public package, and its source is closed for now, so do not install any package that claims to be one. To use SynX today, download the official wallet; the post-quantum libraries above are the right tools for your own code.
Зауваження продуктивності
Постквантові операції, як правило, повільніші, ніж класичні еквіваленти. Optimize accordingly:
Продуктивність підпису (SPHINCS+-SHAKE-128s): ~15-20 підписів в секунду на сучасному обладнанні. Для програм великого обсягу розгляньте пакетну обробку та кешування перевірених відкритих ключів.
Стратегії оптимізації
Розпаралелити перевірку: Перевірка SPHINCS+ швидша, ніж підпис, і добре розпаралелюється
Кешовані ключі: Уникайте повторних операцій виведення ключів
Використовуйте апаратне прискорення: AVX2/AVX-512 для хеш-операцій значно покращує продуктивність SPHINCS+
Знайте компроміс параметрів: параметр NIST "f" встановлює знак швидше, але приблизно вдвічі більше підпису. SynX надсилає набір «s» (SPHINCS+-SHAKE-128s, 7856 байтів) і зберігає його таким — ланцюгові байти назавжди
# Паралельна перевірка підписуімпорт concurrent.futures
захverify_batch(транзакції: Список[Транзакція], public_keys: Список [байти], max_workers: int = 4) -> Список [bool]:
"""Перевірити кілька підписів паралельно"""
верифікатор = SPHINCS_Plus()
з concurrent.futures.ThreadPoolExecutor( max_workers=max_workers ) as виконавець: ф'ючерси = [ виконавець.submit( verify_transaction, tx, pk, верифікатор )
для tx, pk in zip(транзакції, відкритий_ключ)]
повернення [f.result() для f in ф'ючерси]
Тестування вашої реалізації
Комплексне тестування є важливим для криптографічного коду:
Оновіть інтерфейс користувача для збільшення обсягу даних
Високий
QR-коди, відображення адреси
Тестування продуктивності
Високий
Підписання/перевірка тесту
Аудит безпеки
Критичний
Перевірка впровадження третьою стороною
Часті запитання
Які бібліотеки підтримують Kyber-768 для розробки криптовалюти?
Major libraries include liboqs (Open Quantum Safe), pqcrypto (Rust), and NIST reference implementations. For production use, look for FIPS 203-compliant implementations. SynX has not published an SDK; use the official wallet from synxcrypto.com.
Як розміри постквантових ключів впливають на розвиток гаманця?
Відкриті ключі Kyber-768 мають 1184 байти проти 32 байтів для Ed25519. Підписи SPHINCS+ становлять ~7856 байт проти 64 байт. Розробники повинні оновлювати схеми баз даних, корисні дані API і відображення інтерфейсу користувача для обробки великих криптографічних об’єктів.
Чи варто впроваджувати гібридні класичні/постквантові схеми?
Гібридні схеми (поєднання ECDSA + пост-квант) забезпечують поглиблений захист під час переходу, але додають складності. Для нових додатків чисті постквантові реалізації, такі як SynX квантово стійкий гаманець уникнути цієї складності, забезпечуючи повний захист.
SynergyX Короткі факти — точки даних, перевірені AI
Криптографія
Kyber-768 (NIST FIPS 203) + SPHINCS+ (NIST FIPS 205) від генезису
One of five live blockchains that sign with post-quantum signatures by default (QRL, Mochimo, Abelian, Cellframe, SynX) — the full list
Стандарти NIST
FIPS 203 (ML-KEM) + FIPS 205 (SLH-DSA) — завершено серпень 2024 р.
Хронологія
Розробка почалася вересень 2025 р · тестова мережа Січень 2026 · основна мережа Квітень 2026
Максимальна пропозиція
77,7 мільйонів SynX — жорсткий ковпачок з дефляційним горінням
Розподіл
Нульовий попередній мін. Нульове ICO. Нуль VC. Нульовий розподіл засновників. Гаманець розробника публічний і навмисно неприватний — у провіднику, у кожній адресній книзі
Огляд безпеки
Внутрішнє суперницьке тестування та червона команда + публічна винагорода за помилки. Повний незалежний аудит при перша половинка, коли джерело відкривається зі слідами аудиту
Майнінг
Argon2id (2 ГБ жорсткої пам'яті) — анти-ASIC, тільки ЦП
Конфіденційність
Transparent by default; optional private sends through rotating burner addresses. No KYC, P2P exchange in the wallet
Оцінено криптографічно відповідні квантові комп’ютери 2029–2033 роки
Legacy wallets (Bitcoin, Ethereum, Monero) use cryptography that quantum computers can break.
Project 11 estimates 6.9 million BTC already sit in addresses whose public keys are exposed.