Чат с Джошуа Дж. Боу, руководителем команды движка в Aurora
23 ноября Джошуа Дж. Боу, руководитель команды движка (Engine Team) Aurora провел сессию вопросов-ответов в Telegram-канале для разработчиков на Aurora (https://t.me/auroraisneardev). Перед вами краткое изложение того, о чем спрашивали разработчики, и о чем говорил Джошуа.
Вопрос: Давай начнем с начала. Я знаю, что у тебя интересное прошлое. Расскажи, пожалуйста, когда ты присоединился к блокчейн-сообществу, почему, чем занимался раньше и как оказался в Aurora.
Ответ: Когда я присоединился к блокчейн-сообществу, хороший вопрос... Неофициально — после статьи на Wired о том, что WikiLeaks теперь принимает биткоины (кажется, в 2010?), и я тогда начал выяснять, что это такое. Заинтересовался биткоином, использовал его в Second Life (единственное место, где это было возможно в то время) или менял на уникальные предметы в Diablo 2!
Главным образом, я начал погружаться в эту сферу из-за огромного интереса к ней. Было ясно, что в технологии блокчейна есть что-то очень особенное, не похожее на другие области. Удивительно, но многие люди из того времени уже ушли из сообщества — им нравилось находиться в нем, пока оно было маленьким.
Меня в первую очередь знают как того, кто начал революцию Proof-of-Stake в Blackcoin в 2014-м. Было множество людей, клонировавших проект, но некоторые действительно подняли его на новый уровень способами, которых мы тогда не представляли.
Я оказался в Aurora через общих знакомых и мою предыдущую деятельность. Арто безжалостно преследовал меня, пока я не ответил на его e-mail, а остальное уже история.
По правде говоря, в 2010-м я чувствовал себя обезьяной, которая открывает для себя огонь. Я ткнул в огонь палкой и обжегся — подумал тогда, что убил свой компьютер майнингом и не трогал его несколько месяцев. Но я рад, что решил продолжить.
Вопрос: Действительно звучит как приключение! А сейчас что ты думаешь об Ethereum, NEAR и блокчейне в целом? Какое будущее нас ждет и зачем присоединяться?
Ответ: Очень долгое время я не был большим сторонником систем на основе аккаунтов, мне нравится UTXO, но теперь скажу, что в NEAR предпочитаю систему на основе аккаунтов. Также, я не поклонник консенсуса в стиле Накамото, который Ethereum унаследовал от BTC. Ethereum, конечно, был важным первым шагом в революции смарт-контрактов, но мне потребовалось время, чтобы свыкнуться с ним. И только когда я узнал о NEAR и его возможностях, я наконец был полностью доволен. И это после ознакомления с бесчисленным количеством проектов. NEAR действительно вселил в меня оптимизм, потому что у него были хорошо продуманные и разработанные решения, с чем у других проектов были проблемы.
Сфера блокчейнов сейчас заполнена множеством проектов, конкурирующих за пользователей, и это никогда не изменится. В итоге успеха добьются те, кто действительно выделяется, потому что за годы работы я видел слишком много недостаточно хорошо разработанных, но хорошо раскрученных проектов, которые в итоге сами угасли. NEAR, я считаю, способен пережить любой другой проект, присутствующий в настоящее время на рынке, кроме ETH и BTC. На нем столько возможностей, и он действительно воплощает видение ETH 2.0.
Люди должны присоединиться к революции, и законодатели должны это понять. Речь идет не просто о «зарабатывании денег», а о создании инклюзивных финансовых систем, полностью защищенных от правительственного влияния, которым все равно кто вы.
Я считаю, что у каждого человека есть право на свободный доступ к финансовым системам.
Вопрос: Это действительно объясняет, почему ты в итоге решил присоединиться к Aurora, хотя у тебя наверняка было много других вариантов. Думаю, все в курсе, что наш проект — спин-офф NEAR.
Расскажи, чем ты занимаешься в Aurora. Понятно, что твоя команда в основном работает с EVM. Есть ли проблемы в процессе разработки? Какие технологии, языки вы используете и т. д.
Ответ: Я возглавляю команду по разработке EVM 1:1, но мы собираемся пойти еще дальше. Например, мы хотим, чтобы пользователи могли оплачивать газ в токенах ERC-20, поскольку у нас есть свое представление о том, как может работать блокчейн через релейер. Этот газ в принципе может быть в любом виде, если релейер принимает соответствующую валюту. Это непростая задача, но мы ее решили и собираемся воплотить это решение.
Конечно, задача номер один — сделать так, чтобы наша работа была наравне с Ethereum. Вторая задача — полностью переосмыслить пользовательский опыт, оставаясь при этом верными EVM. Как в примере с оплатой газа в токенах ERC-20 выше.
В работе с движком мы в преимущественно используем Rust и не видим необходимости использовать другие языки, поскольку Rust отлично подходит практически для всего, от веб-сайтов до игровых движков.
Что касается технологий, Майкл и я оба вносим вклад в rust-blockchain EVM — надежную EVM, на которой мы строимся. Мы внесли в нее множество улучшений, в том числе хардфорки London и Berlin, над которыми было довольно сложно работать и предоставить в правильном виде. Json тесты Ethereum могут пройти неудачно, и может быть довольно сложно определить причину сбоя, что приводит к многодневному дебаггингу.
На самом деле, я должен упомянуть, что нашей самой большой проблемой в настоящее время является увеличение лимита газа на одну транзакцию вместе с разработчиками NEAR, которые добились огромного прогресса. Благодаря недавнему обновлению блокчейна NEAR мы можем увеличить этот лимит примерно в 2 раза! Мы считаем, что и это еще не предел, и дальше будет только лучше.
Вопрос: Здорово слышать, что мы совершенствуемся и достигаем наших целей, и происходит это довольно быстрыми темпами. Поскольку эта сессия предназначена для разработчиков, почему, по твоему мнению, им выгодно создавать и запускать проекты на нашей платформе? В чем, на твой взгляд, наши преимущества для разработчиков?
Ответ: Если коротко, почитайте о целях ETH 2.0 и о том, почему все с нетерпением ждут их реализации, и как они помогут эффективно решить многие проблемы в экосистеме Ethereum. А на Aurora все это, включая стоимость газа и все остальное из Ethereum, есть уже сейчас. Плюс, бесперебойный не требующий доверия сторон мост.
Перейти на нашу систему проще простого. Здесь те же инструменты, та же EVM (с улучшениями), но дешевле, быстрее, мощнее, и есть шардинг.
Вопрос: Прежде чем мы начнем отвечать на вопросы девелоперов, есть ли какие-либо ссылки/ресурсы, которые ты бы посоветовал? Может быть что-то интересное с нашего Github или какие-нибудь сниппеты? Что-то, что было бы полезно, на твой взгляд.
Ответ: Не думал об этом. В принципе, все нужное можно найти здесь: https://github.com/aurora-is-near/aurora-engine/tree/develop в ветке develop.
Еще одна полезная библиотека, которую также используют другие проекты, — «Sputnik EVM», ныне переименованная в просто rust-blockchain EVM: https://github.com/rust-blockchain/evm — и Майкл Бёрч (@birchmd), и я входим в число авторов.
Стоит отметить, что мы работаем над разделением движка, чтобы можно было эффективно использовать его для других целей. Например, дебаггинг транзакций, чтобы нам не приходилось вручную просматривать коды операций, когда нужно выяснить, где возникают самые большие затраты на газ и где могут появиться проблемы в транзакции: https://github.com/aurora-is-near/aurora-engine/tree/develop/engine-standalone
Вопрос: Какое твое видение смарт-контрактов версии 2.0? Как будут развиваться смарт-контракты и EVM в ближайшие 5 лет? Какие функции ты ожидаешь?
Ответ: На мой взгляд, будущее смарт-контрактов за WASM. NEAR весьма красиво реализовали свои контракты. Получилось на порядок лучше, чем у других блокчейнов, которые делают контракты на WASM, и это проверено моим опытом. Раньше я работал с Aleph Zero (кажется, они недавно запустились?) на Substrate, и это было сложно и несколько неудобно.
Вопрос: Учитывая темпы роста экосистемы Solana и других блокчейнов первого уровня (L1), планируете ли вы добавить больше мостов в ближайшем будущем? Например, соединение стандарта токенов Solana + NFT, и то же самое для других известных L1.
Ответ: С другими EVM? Не помню, чтобы мы в команде детально это обсуждали, но думаю, это может стать одним из направлений развития. Пока никаких конкретных планов, только отдельные разговоры о других EVM.
Прямо сейчас мы делаем мост и соединение с ETH полностью беспрепятственным. Теоретически, мы могли бы сделать что-то вроде моста с BSC, а используемый релейер мог бы принимать плату за газ в BSC. Все это в одной Aurora EVM.
Вопрос: Думали ли вы над добавлением доступа на основе подписки, чтобы убрать накладные расходы на газ для пользователей?
Ответ: Забавно — мы как раз сегодня обсуждали это с нашим директором (Алексом). Гипотетически может быть такой релейер, которому, скажем, пользователь платит 500$ через банковскую карту и получает доступ к неограниченным транзакциям.
Пока этого нет в наших планах, но кто-нибудь может сделать такой релейер и предоставить такую возможность.
Хотя есть вероятность, что мы тоже этим займемся. Не стану утверждать, что мы не будем рассматривать этот вопрос, особенно учитывая, что у нас в команде уже были разговоры об этом.
Вопрос: Я пытаюсь немного ознакомиться с Aurora и слегка запутался в архитектуре RPC. Насколько я понимаю архитектуру Aurora, единственный способ отправить новые блоки в основную сеть Aurora — использовать аккаунт relay.aurora (согласно mainnet.yml config https://github.com/aurora-is-near/aurora-relayer/blob/master/config/mainnet.yaml). Нужно ли использовать главный RPC сети Aurora, чтобы отправлять новые блоки? Можно ли будет отправлять новые транзакции через собственный RPC?
Ответ: Необязательно использовать централизованный релейер сети Aurora, можно настроить и свой собственный. Газ в NEAR мы оплачиваем сами, поэтому и другим релейрам тоже самим придется платить за газ в сети NEAR. Просто сейчас это неудобно, потому что нам еще нужно добавить возможность для релейров самим устанавливать цену на газ.
Вопрос: Мне нравится, что вы делаете в Aurora. Технически все замечательно, но есть вопросы про пользовательскую базу. Сложно ли людям доверять мостам и переводить средства на Aurora? Как считаешь, может ли мост отпугнуть пользователей, желающих купить NFT или торговать на L2 вместо L1?
Ответ: Наш мост построен таким образом, что не требует доверия сторон. Даже мы сами не можем внести в него никаких изменений. Нет ни одной учетной записи, которая имела бы доступ к большому банку средств, как в других мостах. Не уверен, что понял вторую часть вопроса.
Вопрос: Можешь рассказать о планах Aurora насчет дальнейшей совместимости с NEAR?
Ответ: Да, есть кое-что, что мы хотим сделать. Основной приоритет сейчас — запустить движок в качестве отдельного сервиса, после этого — сделать возможным для релейров выставлять стоимость газа в любых токенах.
Вопрос: Когда можно ожидать возможность оплачивать комиссии с помощью ERC20? Значит ли это, что можно будет оплачивать комиссию с помощью wNEAR, и мне даже не нужны будут Aurora ETH?
Ответ: Мы уже делаем это в срочном порядке. Вся основная работа уже сделана, но пока мы программно установили плату за газ на 0, чтобы привлекать пользователей. Да, вы сможете оплачивать комиссии в wNEAR, если релейер принимает wNEAR.
Вопрос: Будет ли возможность переводить через мост NFT-токены? Можно ли будет переводить нативные NFT-токены Aurora в NEAR и Ethereum?
Ответ: Да, в будущем станет возможно переводить активы в Ethereum. Не уверен насчет NEAR, но тоже должно.
Вопрос: Учитывая шардинговые возможности Near, ожидаете ли вы большой наплыв людей, которые придут тестировать свои приложения в Aurora EVM до перехода на eth 2.0? Как вы планируете справляться с потенциальной нагрузкой?
Ответ: Да, мы ожидаем наплыв пользователей, которые придут опробовать Aurora до ETH 2.0. В основном мы справляемся с нагрузкой за счет масштабирования нашего релейера, и скоро добавим на него авторизацию для разработчиков. Сейчас его использовать может кто угодно, из чего у нас возникали некоторые проблемы. И да, я полностью уверен, что NEAR сможет справиться с обработкой транзакций.
Вопрос: Есть ли рекомендации для разработчиков, которые хотят развернуться на Aurora? Замечали ли вы какие-нибудь типичные ошибки или неверные конфигурации? У нас уже есть несколько проектов, работающих на Aurora. Каков опыт работы с ними с точки зрения разработчика?
Ответ: Большинство проектов столкнулись с проблемами, связанными с газом, но думаю, сейчас уже все разрешилось. Все еще есть один или два случая, но после обновления NEAR все преимущественно тихо. Остальные проблемы были связаны с мостом, но я не видел соответствующих вопросов. В основном к нам обращаются по вопросам, связанным с газом, и мы просматриваем коды операций в транзакции один за другим, чтобы выяснить, в чем проблема. Долгий процесс, но скоро такой проблемы уже не будет.
Вопрос: Как сейчас с нагрузкой? Много ли людей переводят ETH через мост на Aurora, есть ли какая-нибудь статистика?
Ответ: Нагрузка сейчас вполне терпимая. У нас есть страница статистики, хотя на ней может не быть некоторых данных и она может быть слегка устаревшей. Когда у нас случаются перегрузки, мы просто увеличиваем наши накладные расходы в 10 раз 😄 К счастью, у нас отличные специалисты, которые все исправляют.
Вопрос: Почему мы не видим всплеска количества проектов в экосистеме? Разработчики сталкиваются с проблемами при запуске или разработке проектов на Aurora?
Ответ: Это скорее мое личное мнение, но думаю, что многим пользователям Ethereum надоело, и они переключились на Avalanche. Не думаю, что это потому что разработчики сталкиваются с проблемами. Но если это так, дайте знать — мы поработаем над их решением. Мы не совсем верим в эту философию, поэтому мы придерживаемся ETH в качестве основы, и очень этим гордимся. Другими словами, мы хотим дополнить экосистему ETH, а не конкурировать с ней.
Вопрос: Я очень верю в экосистему Aurora, поэтому прилагаю все усилия для ее развития. Надеюсь увидеть больше программ поощрения для разработчиков от Aurora. Я веду группу Aurora Community, направленную на продвижение Aurora, и хотел бы спросить о программах поощрения для разработчиков.
Ответ: У нас будет много поощрений :). Мы просто еще не дошли до этого. С тем, в каком виде мост существует сейчас, это вряд ли возможно. Вероятно, к концу второго квартала, когда у нас все будет хорошо работать, и цели будут выполнены — может быть, это появится в наших планах. Я не уверен. Не знаю, что мы прямо сейчас можем сказать о поощрениях. И в любом случае все будет зависеть от участников IDO Aurora, а не от команды Aurora Labs. Так что, если мы говорим «мы хотим сделать то-то», это только предложение, за или против которого нужно голосовать. От нас можно часто услышать «возможно», потому что в конечном итоге за все нужно проголосовать. IDO — это действительно проект сообщества. Честно говоря, я устал от проектов, где все решает всемогущая команда. Я уверен, что управление сообщества обязательно оповестит пользователей о начале процесса голосования, а команда сайта, скорее всего, составит список часто задаваемых вопросов по процессу. Они в этом очень хороши.
Вопрос: Планируете ли вы сократить время завершения транзакций? Есть ли у вас возможности для оптимизации в этом отношении?
Ответ: В этом плане мы ограничены протоколом NEAR
Вопрос: Я знаю, что вы участвовали в хакатонах. Если у вас есть какие-либо рекомендации/наблюдения по этому поводу, пожалуйста, поделитесь ими (с точки зрения кода, а не поощрений). Это может быть полезно для будущих соревнований.
Ответ: Думаю, мы скорее поняли, чего делать не надо. На последнем хакатоне ни у кого из нас толком не было времени, чтобы сесть и хорошенько ознакомиться с возможными проблемами. В итоге мы выбрали несколько очень сложных вопросов, которые никто так и не решил :'(. Кажется, это было что-то про вызовы контрактов NEAR в Aurora.
Вопрос: Могу ли я покрыть все транзакционные издержки пользователей, которые взаимодействуют с моими контрактами? Как это будет выглядеть технически? Мне нужно запустить релейер? Возможно, для побуждения пользователей присоединиться к продукту и т. п.
Ответ: Почему бы и нет. Думаю, для этого понадобится изменить наш релейер так, чтобы вызывались именно твои контракты. Тогда просто не взимай плату за газ. Но да, релейер нужно будет запустить самостоятельно.