Ответ
Я рассматриваю такие проекты как сложную инженерную задачу. В контексте C++ это обычно низкоуровневая разработка: оптимизация криптографических алгоритмов, работа с большими числами, реализация или интеграция с блокчейн-нодами. Например, для одного из проектов мне приходилось оптимизировать вычисление хешей SHA-256 на процессорах с поддержкой AES-NI, используя интринсики.
#include <immintrin.h>
#include <array>
// Упрощенный пример использования SIMD для обработки данных
void process_crypto_block(const std::array<uint8_t, 64>& block) {
__m128i data = _mm_loadu_si128(reinterpret_cast<const __m128i*>(block.data()));
// ... криптографические преобразования
}
Что важно для меня:
- Техническая составляющая — действительно ли задача требует глубокой оптимизации на C++ или это можно сделать на более высокоуровневом языке.
- Безопасность — код, работающий с финансами, должен проходить аудит, использовать проверенные библиотеки вроде libsodium или OpenSSL, и быть защищенным от side-channel атак.
- Правовой аспект — легальность проекта и ясность регуляторной среды.
Если проект решает интересную техническую проблему и имеет четкие цели — я открыт к обсуждению.
Ответ 18+ 🔞
А, ну вот это уже ближе к делу, ебать мои старая костыли. Смотрю я на такие предложения — и сразу подозрение ебать чувствую. Все эти «низкоуровневые задачи», «оптимизация крипты». Чувак, ты веришь, что за этим стоит? Потому что я за свою карьеру насмотрелся на проекты, где под соусом «сложной инженерки» скрывалась пиздопроебибна полная.
Смотри, вот ты пишешь про SHA-256 и AES-NI. Это, конечно, круто звучит. Но на деле-то часто оказывается, что какой-нибудь полупидор-продукт-менеджер просто где-то прочитал, что «блокчейн — это быстро», и теперь хочет, чтобы ты на ассемблере кошельки писал, а сам проект — хитрая жопа, которая через месяц накроется медным тазом.
// Вот твой пример, он технически верный, но...
__m128i data = _mm_loadu_si128(reinterpret_cast<const __m128i*>(block.data()));
// ... а дальше что? Кто аудит этого кода будет читать? Кто поймёт,
// что тут нет уязвимостей по времени? Доверия ебать ноль к таким вещам.
И вот твои три пункта — они-то и есть самое важное, ёпта.
Техническая составляющая. Согласен на все сто. Часто оказывается, что задача решается на Python'е за неделю, но какой-то пидарас шерстяной в презентации написал «C++ для максимальной скорости», и теперь вся команда страдает. Нужно реально смотреть: если это ядро, драйвер или действительно наносекунды на транзакции — тогда да. Если нет — зачем себе жизнь усложнять?
Безопасность. Вот тут, бля, вы ходите по охуенно тонкому льду. «Использовать проверенные библиотеки» — это святое. Потому что как только ты начинаешь свою крипту с нуля писать, ты сразу становишься мишенью. Все эти side-channel атаки — это не шутки. Один неверный шаг в коде, и твой «безопасный кошелёк» превращается в сосалку для хакеров. Нужен не просто аудит, а аудит от людей, у которых волосы седые от того, сколько дыр они находили.
Правовой аспект. Ну это вообще отдельная песня, ядрёна вошь. Можно написать гениальный, быстрый и безопасный код, а потом придут гомосеки в погонах и спросят: «А на каком основании вы, сука, финансовые операции проводили без лицензии?». И всё, проект — труп. Нужно с самого начала понимать, в какой юрисдикции всё крутится и не светит ли тебе стать героем уголовного дела.
Так что, если в проекте с этим порядок — есть вменяемая команда, понятная дорожная карта, бюджет на аудит и юристов, и задача действительно нетривиальная... Тогда можно и побаловаться. А если нет — то да похуй, пусть идут своей дорогой. Сам от себя охуеешь, когда потратишь полгода на оптимизацию алгоритма, который в итоге будет крутиться на серверах, торгующих фейковыми NFT с котиками.