
Интервью вышло в декабре 2022 года. Цифры и планы проектов указаны на тот момент.
Всё началось примерно в 10-м классе. Мой брат тогда интересовался криптовалютами и трейдингом, и я тоже решил попробовать. Прошло какое-то время, и вот я уже вместе с несколькими одноклассниками торгую на биржах. Шёл 2017 год, был ажиотаж, биржи закрыли регистрацию новых пользователей, и одноклассники просили меня купить крипту за них. Через пару лет они меня за это очень благодарили. Потом я прочитал книжку про биткоин, затем вайтпейпер и ничего не понял. Чтобы на практике разобраться, как работают приватные и публичные ключи, написал генератор кошельков для эфира.
К концу школы я уже помогал в MetaHash, во время учёбы в университете работал в R3, а потом меня позвали в Aragon. С каждым шагом я набирался технического опыта. Параллельно изучал математику и computer science, и всё вместе очень помогло понять, как устроен web3.
В MetaHash я работал в техподдержке, в R3 sales-инженером, так что к тому времени у меня набралось целых три года опыта. Поэтому в Aragon я попал ещё на втором курсе университета. Небольшая хитрость: я не акцентировал внимание на том, что я студент, и ставил эту деталь в самый низ резюме. Гайды по поиску работы на ютубе советовали писать, что ты принёс компании, что сделал и каких результатов добился. Это я и писал, и меня взяли в Aragon.
График у меня довольно свободный: строишь день как хочешь. Один день можно поработать чуть меньше, а на следующий, наоборот, поднажать.
Грубо говоря, проснулся, сходил на утренний созвон и приступаешь к работе. Мне она нравится. Иногда идут конкретные проекты: пишешь код, делаешь proof-of-concept. Бывают дни, когда больше рисерча: мы с командой читаем статьи и блоги, смотрим ролики с конференций, а потом устраиваем семинары, чтобы обменяться знаниями. Список того, что нужно прочитать и посмотреть, постоянно растёт: очень много новых технологий, которые надо изучить, и курсов, которые надо пройти. Похоже на учёбу в университете. Ещё мы ходим на конференции и митапы. Это свободная профессия, учитывая, что работа полностью удалённая.
Сейчас Aragon не так известен, как раньше. Его запустили в 2017 году, во время бума ICO, и Aragon провёл самое большое ICO на тот момент. Собрали $4–5 млн, огромные по тем временам деньги, а все токены продали за полчаса. С тех пор команда разрабатывает DAO и фреймворк для их запуска. Наш проект проверен временем: мы работаем давно и в своём деле самые старые. Наши контракты ни разу никто не взламывал (тьфу-тьфу-тьфу), так что люди могут нам доверять.
Всегда была идея сделать сам Aragon DAO. Добиться этого было очень сложно: когда в трежери много средств, страшно отдавать его под управление голосованию участников, деньги могут просто украсть. Это привело к конфликтам в коллективе в 2020 году. Когда пришёл я, в компании было около восьми человек, причём шестерых наняли за последние два месяца.
Я пришёл с новой волной найма, в мае 2021 года. С тех пор команда растёт. Цель всё та же: улучшить приложение и UX создания своего DAO.
Я исследователь-разработчик. Особенность профессии в том, что большинство технологий, которые мы используем, написали мы сами. Они очень экспериментальные. Наша задача изучать технологии и находить что-то новое, прорывное, что потом пойдёт в продакшн. Сейчас, например, я работаю над проектом голосования на блокчейне. Задача — сделать протокол максимально масштабируемым.
Мы работаем с Ethereum и используем arkworks — библиотеку на Rust. Для связки с Solidity и Ethereum я лично люблю Hardhat и web3.js или их аналоги.
Aragon выделил грант на работу Snapshot, который изначально был нашим проектом. Потом он отделился и теперь стал одним из наших самых больших конкурентов.
Snapshot сейчас используют многие DAO. Там ты подписываешь голос приватным ключом, и он уходит в централизованную систему Snapshot. Проблема в том, что система может не учесть ваш голос в итоговом результате и так смухлевать на выборах. Snapshot, конечно, всё считает правильно и отправляет данные в IPFS, но его ничто к этому не обязывает. Особенно опасно, если в систему Snapshot проникнет хакер. Наша работа — построить систему, в которой никому не нужно доверять.
Мы видим будущее так: достаточно будет предоставить математическое доказательство, что все голоса посчитаны правильно и других вариантов нет, и этого хватит, чтобы экзекьютить код.
Ещё мы хотим, чтобы голосование было приватным и бесплатным. Одна из идей такая: киты, которым не жалко платить за газ, но которые хотят сохранить в тайне, кто голосовал, могут вместо офчейн-голосования сгенерировать свой голос с помощью ZK. Потом они загружают голос в смарт-контракт и доказывают, что проголосовали корректно, а доказательство при этом скрывает их айдентити.
Ты берёшь снепшот блока в Ethereum и показываешь, что есть кошелёк, а в нём 1000 монеток. Я, например, могу сделать доказательство этого. Потом загружаю его в сеть Ethereum и говорю: было столько-то монеток, я корректно проголосовал за то-то, 1000 монеток появились не из воздуха, вот доказательство. При этом я могу особым образом спрятать в доказательстве своё айдентити: никто не узнает, кто проголосовал, но все будут уверены, что голос корректный, а 1000 монеток появились не из воздуха. Это наше конечное видение. Ончейн-голосование тоже останется, есть люди, готовые на него тратиться.
Gnosis — наш самый крупный конкурент, но между нами есть разница. Gnosis больше сфокусирован на мультисиге. Мы рассчитаны на крупные DAO с тысячами участников, и участники определяются не тем, что захардкожено в смарт-контракте, а тем, кто владеет токенами. Кроме Gnosis и нас, я бы никого серьёзного не назвал.
К тому же функционал у нас разный. Трежери лучше у Gnosis: они с самого начала были на этом сфокусированы. А мы строили фреймворк, к которому можно подключать другие приложения как плагины. Gnosis до прошлого года такого не давал. Сейчас у них есть Gnosis Zodiac, но там ещё не всё понятно, и экосистема довольно новая. Мы с таким функционалом уже четыре года, для крипты это очень много. Скоро мы выкатим новую версию, где всё станет ещё понятнее.
Надеюсь, мы будем напрямую конкурировать с Gnosis в трежери-менеджменте. Хотя эти вещи всегда можно совмещать: использовать в DAO на Aragon трежери-менеджмент от Gnosis. Для этого есть приложение «Агент», которое помогает DAO взаимодействовать с другими смарт-контрактами.
Когда я связываю Gnosis и Aragon, я использую «Агента», чтобы он работал с мультисигом в Gnosis и отвечал за трежери-менеджмент. Кстати, в новой версии приложение переименуют. Ещё появится app store, куда люди будут выкладывать свои приложения, и всё будет в одном месте. Там же можно будет увидеть, как ещё проапгрейдить своё DAO: какие модули добавить и как его расширить.
Мы уже пробуем новую систему: голосование не только в Ethereum, но и офчейн с помощью ZK, который мы сейчас разрабатываем.
Обычно голоса считают по количеству токенов: ты голосуешь за А, и все твои токены идут в пользу А, другой голосует за Б, и все его токены идут в пользу Б. Всё довольно линейно. Как вариант, есть квадратичное голосование.
Принцип квадратичного голосования такой: у меня 4 токена, а у друга 8. Мой голос будет считаться как два токена (два в квадрате — это четыре), а его — примерно как три (корень из восьми — почти три). Так киты не смогут продавить своё решение: если у кита в кошельке много токенов, его голос в квадратичной пропорции меньше. Но есть проблема: как убедиться, что кит не заведёт себе 10 кошельков и не раскидает по ним токены? Для этого есть всякие DID. Их делают многие проекты, например Ceramic.
Это тоже очень сложно: проходя идентификацию, мы же не хотим показывать свой паспорт в Ethereum. Хочется приватности. Здесь как раз помогает ZK: технология доказывает, что я реальный человек, и избавляет от необходимости показывать документы.
Мы сфокусированы именно на приватном голосовании, и для него тоже используется ZK. Кроме приватности, нам важно снизить расход газа на голосование.
Мы используем роллапы голосов: люди голосуют офчейн, потом агрегатор собирает голоса и отправляет их с доказательством в смарт-контракт в Ethereum. Смарт-контракт принимает результат и проверяет, что всё корректно. Так выходит гораздо дешевле: больше не нужно платить за каждый голос, а раньше за него платили по $8–10.
Но тут есть сложности с ZKVM. Нужно придумать, как отправить голос в обход агрегатора, и убедиться, что человек не может одновременно отправить голос напрямую в Ethereum и проголосовать через агрегатор. Много моментов приходится продумывать.
Роллапы голосований мы создаём сами: решили не ждать, пока появятся ZKVM. Я общался с разработчиками из Polygon Hermez и Aztec, по их прикидкам, это ещё года два. Столько ждать мы не хотим.
Вот есть Snapshot, через него голосуют в DAO. Там всё решает централизованная система, причём бесплатно. Ребята из Snapshot решили поработать со Starknet. Это тоже отдельный блокчейн на ZK, но с особой технологией — STARK. Snapshot начали работать со Starknet год назад и до сих пор не могут закончить свой протокол приватного голосования, потому что Starknet не поспевает.
Мы не хотим попасть в такую ситуацию: поверить, что Polygon Hermez выйдет через полгода, и застрять на два года, потому что они не смогут проверить свои смарт-контракты.
Попробую объяснить на простом примере. Вы хотите доказать кассиру, что вам есть 18 лет и вы можете купить бутылку спиртного. При этом показывать паспорт вы не хотите: боитесь, что камера заснимет данные или кассир их запомнит, а потом возьмёт на ваше имя кредит. Тогда вы можете сгенерировать специальное математическое доказательство с помощью многочленов и отдать его кассиру.
Кассир проверит его в одной точке: подставит в многочлен одно значение и убедится, что результат соответствует ожиданиям, то есть что вам есть 18. Если так и есть, он поверит. При этом всё, что вы сделали, — сгенерировали доказательство по своему паспорту и отдали его кассиру, и он уже знает, что вам 18 лет.
В этом суть ZK: ты предоставляешь доказательство, а другой человек ему верит. Чтобы что-то доказать, не нужно пересылать 1000 сообщений. В этом смысл succinct argument of knowledge.
Базовые концепции ZK можно изучить по ZK Whiteboard Sessions. Разобраться в этом можно и без технического бэкграунда, но математику знать нужно, без неё никак. Если вы уже что-то понимаете в ZK, напишите пробное приложение, например микшер токенов, и постепенно пополняйте портфолио проектами.
Главное ограничение ZK заложено в самом принципе работы: он позволяет только доказать, что что-то сделано корректно. Но можно пойти дальше и сделать так, чтобы функция выполняла любое преобразование и при этом оставалась приватной.
Это умеет fully homomorphic encryption, технология мощнее ZK. Такое шифрование позволяет вычислять функции и при этом сохранять приватность. Это идеальное решение.
Тот же функционал, но с другой моделью безопасности, даёт confidential computing. Его нельзя проверить математически, зато сейчас он ближе всех к продакшну: на нём уже можно делать готовые к продакшну приложения. А у fully homomorphic encryption пока очень плохо с эффективностью, ей ещё долго развиваться.
Смотреть нужно в двух направлениях: по готовности впереди confidential computing, а по функционалу и защищённости — fully homomorphic encryption. ZK находится на перекрёстке: он сочетает защищённость, верифицируемость и уже какую-то готовность к продакшну.
Скорее всего, будущее за fully homomorphic encryption и confidential computing. А ZK сейчас просто самая доступная технология. Она будет совершенствоваться, но со временем уйдёт на вспомогательные роли и будет помогать развивать технологии на более мощных криптографических системах.
ZK стал первым звоночком того, что грядёт. Если понимаешь ZK, сможешь разобраться и в будущих, более сложных технологиях. Я так думаю, потому что сама технология постоянно совершенствуется и становится эффективнее. Кроме того, это дешёвый протокол, под такие строят специальные процессоры. Ну и криптография уже везде.
Есть такое понятие, как ubiquitous computing: данные постоянно собираются и обрабатываются. Было бы классно, если бы всё это использовалось во благо. Например, обучить модель предсказывать твои паттерны поведения, чтобы свет в доме включался, когда ты приходишь, а пол подогревался в зависимости от твоих привычек.
Но лично я не хотел бы, чтобы мои данные уходили со всех моих гаджетов и обрабатывались абы кем. Это слишком большая цена.
ZK и другие технологии могут защитить этот процесс. Мне будет комфортно, если пол будет включаться, когда я просыпаюсь, потому что система понимает мои паттерны, а кровать будет подбирать музыку для хорошего сна. И при этом все данные с устройств будут защищены, а во время обработки их никто не сможет увидеть.
В этом я и вижу будущее: огромный массив данных, который собирают о человеке, можно будет использовать безопасно.
Я надеюсь, что web3 сольётся с web2. В мире web3 я совершенно забываю про мир web2. Ну и, конечно, DAO. Организовывать сообщества точно будет необходимо, и я надеюсь, что web3 станет по-настоящему децентрализованным, ведь в нём без DAO не обойтись. DeFi уже взлетел, вряд ли там будет что-то интересное.
Приватность транзакций в Ethereum появится в ближайшем будущем, по крайней мере, я так думаю. Насколько я знаю, этим занимается Secret Finance. Отдельный вопрос, как это будет работать в web2. Там больше денег и больше технологических потребностей, там реально есть корпоративные тайны, и какое-то решение принять точно придётся.
Но мне сложно представить Ethereum полностью приватным. Приватным точно будет web2, куда люди будут уходить, если им нужно перевести деньги так, чтобы никто не видел. Есть гипотеза, что сам Ethereum будет использоваться только для роллапов, а все транзакции будут проходить на L2.


