• 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
  • 🐂 BULLRUN SALE-25%
  • До 20 мая-25%
Про скиллы и карьеру Solidity-разработчика, кроссчейн-свопы и ZKP
«Если вы придумали какой-то юзкейс с ZKP, то нужно делать стартап, потому что это хайп»
Автор: Соня Сун
29 июня

Про бэкграунд и старт в карьере разработчика

Я учился в ВШЭ на факультете компьютерных наук. Но закончил только 3 курса. Учился во время хайпа по крипте и блокчейну. Потом мне предложили работу, и я подумал, что лучше сфокусируюсь на этом, нежели на учебе. А до работы я уже успел побывать на двух стажировках — в Google и Yandex. Как раз еще во время 3 курса. Также я два раза был в полуфинале ACM ICPC NEERC по Северо-Западному региону. Это помогло попасть в Google и лучше разбираться в том, чем я занимаюсь сейчас.
Самая первая работа в крипте была в LATOKEN. Дальше Harmony. Там я инжинировал протокол. Потом в THORChain.
После этого я ушел в DeFi. Был CTO в проекте Prosper, который мы с ребятами позже продали. На какое-то время я ушел разработчиком в Windranger Labs в отделение, которое занималось разработкой DeFi-тулзов, таких как Governance Framework и коллаборацией с другими проектами.
Я работал во всех сферах web3 и всем, что связано с децентрализацией и распределенными системами. Разрабатывал блокчейн, PoW и PoS, функциональность стейкинга, тестировал разные решения.
После Prosper я еще поработал в BitDAO — занимался проектами, связанными с NFT, писал бэкенды и смарт-контракты для аукционов. Но DeFi в разработке гораздо интереснее, потому что проекты с NFT — это больше про маркетинг. Потому что сами покупки и продажи не работают через обычные ордера маркетмейкеров.

Про оффер от 1inch и особенности продукта

Мне предложили вакансию Solidity-разработчика. Я подумал, что это в целом очень неплохой вариант. Процедура была стандартная, с собеседованием. В 1inch очень компетентная и солидная команда. Работаю с ними уже полгода и до сих пор продолжаю многому у них учиться.
1inch изначально агрегирует все ордера по ценам. Соответственно, те ордера, которые мы выбираем, — имеют меньше всего арбитража. Но, конечно, вы можете с арбитража найти пул, у которого самая низкая цена по трейду и продать его подороже.
1inch работает с разными аудиторами. Лично у меня был опыт работы с Сertik и Least Authority. Самые дорогие и сложно доступные аудиторы в OpenZeppelin. Но там они и самые крутые.
Сейчас 1inch — очень важный продукт в DeFi. И несмотря на то, что к OpenZeppelin cложно попасть даже за деньги, они работают с 1inch. Еще есть MixBytes — это дешевле, но аудиторы там тоже хорошие. 1inch работал и с ними.

Проблемы бриджей и их отличия в механизмах работы

В целом в индустрии сейчас проблема с секьюрными бриджами. Когда вы хотите перекинуть токен с одного чейна на другой, вы вынуждены держать их в каком-то контракте. Если чейн мудреный или централизованный — риск взлома большой. В отличие от блокчейна, где структура очень жесткая с точки зрения токеномики, криптографии и консенсуса, —  бридж, как правило, имеет разорванные механизмы защиты между чейнами.
Но есть и довольно робастные бриджи. Правда они сложно устроены. Например, Rainbow Bridge. Его пытались сломать, но все попытки оказались безуспешными. Так устроен механизм — с трансфером между бриджами. Вы не cможете быстро перевести деньги, например, между Ethereum и Near, чтоб они на 100% законфермились у вас, и переводы можно было челенджить.
Есть несколько валидаторов, которые собирают стейт с Near или Ethereum и отправляют его в соответствующие чейны. То есть, с Ethereum на Ethereum и потом на Near: чтобы у вас был контракт, в котором публикуется стейт противоположного чейна.
Существует такая зависимость: валидаторы, которые пушат стейт у блокчейна, могут быть плохими, но если их штук 20, то большая вероятность, что это будет более децентрализовано и правильно, — ведь они будут договариваться. У Near и Rainbow Bridge бриджи работают довольно близко к децентрализации.
Бриджей вообще очень много, и есть разные типы. Clayton Bridge, например. Есть отдельные — у Avalanche и Binance. Также все бриджи по-разному работают. Какие-то супер централизованные, а какие-то, опять же, как у Rainbow Bridge, близки к децентрализации. У L2-блокчейнов, например, Arbitrum, Optimism или zkSync бриджи заточены по определенному принципу — все они жестко построены именно под L2-решения.

Про сложности трудоустройства у джуниор-разработчиков и их отличия от сеньоров

Когда стартапы набирают разработчиков, зачастую они проходят мимо джунов. Очень редко, когда руководство решает взять джуна на место разработчика. Обычно хотят опытных и готовых давать результат.
С опытом CTF можно пробовать на джуниор и мидл-позиции. Не бойтесь спамить, если вам реально важно получить работу. Цепляйтесь за любую возможность. Даже если будет мало оплачиваемая позиция, — вы наберете опыт, и вам будет легче скелиться. В любом случае это лучше, чем сидеть и долбить теорию. Тем более сможете получать фидбэк  и, соответственно, понимать, что получается, а что нет.
Опыт — самое простое и важное, что нужно иметь. Понимание кода и архитектуры, способность решать специфические задачи приходят с опытом. Например, база данных. Она может быть децентрализована, иметь больше репликаций или меньше репликаций. Нужно понимать практику этих трейд-офов. Сложно разобраться в чем-то без опыта.
Да, вам может помочь ChatGPT — но обтекаемо. Всё набивается на практике: один раз напишешь базу данных или сервер и начнешь понимать, как это работает.
Так как у сеньора больше практики, он будет делать эти задачи быстрее и лучше. Вот и всё. К нему другие требования — он должен уметь делать оптимальную архитектуру и уметь объяснить работу продукта менеджеру, разработать и реализовать архитектуру компонента, так еще и сдать это в срок.
Могут быть подводные камни, например, детали по секьюрити — в Solidity это встречается особенно часто. И всё это нарабатывается практикой. Это не значит, что Джун не справится с такими задачами. Просто у него не набита рука на контракты, узкие секьюрити-моменты, а значит справляться разработчик будет менее эффективно, а еще возможно, что вообще не будет понимать разницу между тем или иным решением.

Про необходимую базу знаний для повышения грейда разработчика

Разработчику важно понимать криптографию — это база. Тот же Zero-Knowledge — а он в zkSync и ZK-proofs. На уровне дексов ZK используется в меньшей степени, но в этом всё равно лучше разбираться.
Это знание не так распространено в индустрии, всё-таки это сложные алгоритмы — одни из самых сложных, которые в крипте вообще сейчас есть. В принципе, Merkle proof — тоже ZK-proof. Только ZK надо подстраивать под разные кейсы. Есть много разных путей, как технологию ZK можно реализовать.
Но всё еще нет практики — сложно придумать неочевидный юзкейс с ZK, кроме как тупо масштабируемый чейн. Да, могут быть механизмы, позволяющие компоновать свопы в одну транзакцию, но, опять же, какая будет компоновка и зачем это делать в своем протоколе, если уже есть zkSync.

“Если вы придумали какой-то юзкейс с ZKP, то нужно делать стартап, потому что это хайп”.

Про обязательные языки для Солидити-разработчиков

Я думаю, все Solidity-разработчики должны писать на JS, а именно на TypeScript. Я бы сказал, что между JS и Solidity есть разница в фичах языках. Хотя на фундаментальном уровне всё одинаково. TypeScript — стандартный. Его нужно знать, чтоб писать тесты. Есть фреймворк Foundry, который позволяет писать тесты исключительно на Solidity. 1inch использует его в некоторых случаях. И сейчас стоит вопрос, переедем ли мы на него полностью.
Разумеется, если ты хочешь быть сеньором, — надо понимать, какие контракты будут работать со стороны фронтенда и бэкенда. Есть апликейшн, с которым нужно работать и разбираться, что будет работать эффективно.
Если хочется глубже копать в разработку на Ethereum, то есть Vyper. Он становится всё популярнее. Но Solidity всё-таки остается пока праймари языком на Ethereum.
Знать Python — тоже полезно, потому что Vyper очень близок к Python по стилистике, синтаксису и фичам.
У меня был опыт собеседования Solidity-разработчиков, когда я работал с Prosper. Но нам не нужен был прям погруженный разработчик. Тем не менее, я смотрел на знания блокчейнов. Зачастую на собеседованиях спрашивают не только по Solidity, но и как работают блокчейны.
Начать знакомство с блокчейнами в плане разработки лучше с базы — PoW, PoS, в чем между ними разница, как работает EVM. Эта база также поможет понимать все изменения, которые происходят с Solidity. Также лучше понимать внутренние детали того же Ethereum. Например, MEV. Основы алгоритмов Computer Science и оптимизации тоже полезны.

Про алгоритм работы кроссчейн-свопов и специальный механизм THORChain

Изначально кроссчейны основаны на атомик-свопах. Еще до времен, когда начал существовать Ethereum. Это техника основана на криптографии по принципу генерации секретов на обеих сторонах. Стороны обмениваются залоченными транзакциями за счет этих секретов, а потом приходит время, и средства можно разлочить. На Ethereum можно свопать через смарт-контракты. Они поддерживают любую логику.
Очень крутой проект — THORChain. Его техника по структуре трейдинга похожа на Uniswap — с кривой ликвидности. Там есть внутренние пулы, привязанные к нативной валюте THORChain, RUNE. Пулы разные: BTC/RUNE, ETH/RUNE и т.д.
Для более менее корректной работы с BTC и ETH на THORChain разработали специальный механизм. Он работает на основе пороговых подписей — и речь не о мультисиге. Это Threshold ECDSA. Разница в том, что мультисиг, в отличие от Threshold ECDSA, генерит подписи асинхронно. Получается, что каждый человек, который является частью ключа мультисига, добавляет свою подпись, и она разрастается в размере.
По RUNE подписи работают наоборот: участники должны собраться вместе и сгенерировать подпись. THORChain проще именно в том, чтоб сделать все кошельки для ETH и BTC, которые будут управляться валидаторами сети. Таким образом, у вас может быть больше людей, которые за эти ключи и кошельки отвечают. Они могут стейкать RUNE в тех же пулах. А если они отбирают у вас деньги, их можно будет наказать. Это гораздо лучше, чем если вы хайрите деньги на одном Binance, например. Это более распределенная система.

Про роль ZK в крипте и будущее web3

ZkSync и zkSync 2.0 должны быть прорывом, потому что, как минимум, юзеры могут не ждать своих денег после вложения их в L2. Консенсус у zkSync сам по себе даже не по транзакциям, а по дате, которая пойдет в транзакцию. А что насчет роллапов, — то у вас есть пруфы того, что выполнение транзакции было правильным. Вам нужно только проверять дату и стейт, что он тоже был правильным. Это тоже консенсус. Но следующий шаг — делать эту процедуру трастлесс. За zkSync точно стоит наблюдать.
Также стоит следить за любыми чейнами, например, Polkadot и Near. Там довольно робастные и хайповые продукты. А еще они более качественные на практике. Еще стоит следить за выходом новых протоколов и дексов в DeFi.
Помимо zkSync, есть еще Aztec Network — это более комплаенс-версия Tornado Cash. Только это отдельный чейн, который позволяет добавлять privacy layer. Он очень перспективный. Starware тоже перспективные. Они утверждают, что отдельно опубликуют ZK-технологию, которая дает валидировать и доказывать эти самые ZK-proofs из миллиона транзакций. Они утверждают, что у них есть какой-то невероятно большой скейлинг.
Сейчас в web3 всё больше появляются интересные и более технологичные L2-чейны. Круче чем Harmony и Avalanche.
Я не вижу, честно говоря, фундаментальных причин, почему рынок сейчас должен расти. Память о скандалах прошлого года еще не смыта, а когда она смоется, то люди уже начнут активно заходить в крипту и на рынки.
Я считаю, что будущее за zkЕVM. Есть даже отдельный стартап, который занимается виртуальной машиной на ZK, — если подумать, какие возможности это вообще может дать, становится очень интересно. По идее, любой распределенный компьютинг сможет работать на ZK. Но пока это всё спекуляции.
Вот у Bitcoin всё еще большой объем по капитализации и использованию блокчейна. Но, на мой взгляд, взрыва Ordinals не будет. В Bitcoin сложно программировать NFT. И там нет такой трастлесс-системы. А в Ethereum очень много вариантов. NFT — это же про удобства и фан, а в Bitcoin это реализовать сложнее и по качеству — получится хуже.
Article image
Буткемп: Solidity-разработчик
От основ Solidity до деплоя на мейннете.
Подробнее
Поделиться
Вам может понравиться
    Интересно погрузиться в крипту?
    Поможем выбрать буткемп!
    или