Протоколы атомарных свопов позволяют децентрализованно обменивать криптовалюты. Игорь Мацак и Александр Ракунов рассказывают о проекте Atomex – кошелька с атомарными свопами. Обсуждаем технологии, экономику и перспективы обмена криптовалют без доверенной стороны.
Таймкоды:
- 01:10 спасибо патронам и спонсорам: HodlHodl, Solana, Zerion!
- 02:05 бэкграунд гостей: Бауманка, трейдинг, Tezos
- 06:35 почему именно Tezos (про Tezos слушайте ББ-055)
- 10:35 что такое атомарный своп?
- 14:25 процесс свопа по шагам
- 17:55 что должен поддерживать блокчейн? Атака длины секрета
- 22:35 сравнение свопов и Lightning
- 31:05 сравнение свопов с HodlHodl и Bisq
- 33:35 о проекте Atomex
- 35:45 какие валюты поддерживает Atomex
- 37:45 в чем нужно доверять серверу?
- 43:35 проблема ликвидности и проблема бесплатного опциона
- 47:35 депозит провайдеров ликвидности
- 51:55 экономика атомарных свопов: где прячутся комиссии?
- 55:55 параметры контрактов и величины таймаутов
- 59:55 проблема оплаты комиссии в эфирах
- 1:03:15 насколько большие транзакции для on-chain?
- 1:05:55 ждем подписей Шнорра!
- 1:06:55 использование спопов для OTC-сделок, проект Arwen
- 1:08:15 статистика использования Atomex
- 1:13:15 почему Windows? Вопросы кросс-платформенности
- 1:17:25 приватность в атомарных свопах
- 1:22:45 перспективы добавления приватных криптовалют в Atomex
- 1:28:05 Atomex проверяет происхождение средств?
- 1:36:05 Atomex как компания, гранты Tezos Foundation
- 1:38:25 roadmap: мобильные приложения, OTC, новые чейны, редизайн
- 1:40:25 мост между двумя DeFi-экосистемами: Ethereum и Tezos
- 1:42:05 атомарные свопы с фиатом
- 1:44:05 перспективы свопов: где адопшен?
- 1:47:25 торговля с плечом через свопы
Ссылки:
- Atomex
- Atomex: cross-chain atomic swaps on practice
- Мульти делегирование в Tezos через HD кошелек
- Atomic Cross-Chain Swaps
Спасибо нашим спонсорам:
- Подкаст выходит при поддержке Zerion – понятного интерфейса к DeFi-протоколам.
- Подкаст выходит при поддержке HodlHodl – площадки для покупки и продажи биткоинов без верификации. Зарегистрируйтесь и получите скидку на комиссию!
- Подкаст выходит при поддержке Solana – быстрого блокчейна без шардинга. Подробности на solana.com и в телеграме @solanarus.
Поддержите подкаст!
- Bitcoin: bc1qec856uhwuguhnn28r54tlkrh3dh95ctajvpjaf
- Patreon: https://www.patreon.com/basicblockradio/overview
(00:00:00)
Игорь Мацак: Атомарный своп, по сути, это платёжный канал. Кошелёк Atomex – «мой дом, моя крепость». Обнаруживает нашу транзакцию reward, и он просто нас зачастую опережает и забирает reward. Целевая аудитория, она, наверное, больше всё-таки «маководы». Есть возможность совершать атомарный своп и с фиатом, как бы это странно ни звучало.
Александр Ракунов: И, соответственно, мы взяли депозит себе. И в случае чего, то есть, мы…
Сергей Тихомиров: Всем привет. С вами подкаст «Базовый Блок». Это подкаст про блокчейн, и у микрофона Сергей Тихомиров. Это выпуск №123. И сегодня мы поговорим про атомарные свопы и проект Atomex с его разработчиками. У нас в гостях Игорь Мацак и Александр Ракунов. Привет, ребята!
Александр Ракунов: Привет!
Игорь Мацак: Да, всем привет.
Сергей Тихомиров: Спасибо большое, что зашли. Мы сегодня обсудим крайне интересную и актуальную тему атомарных свопов, что там происходит на рынке, кто уже что имплементировал и насколько это всё готово для реального применения и для массового adoption.
Перед этим я, конечно, традиционно хочу сказать спасибо нашим патронам, которые на patreon.com/basicbloсkradio нас поддерживают. Большое вам спасибо. А также спасибо нашим спонсорам. «Базовый Блок» выходит при поддержке Zerion – понятного и простого интерфейса к DeFi-протоколам, которым пользуются ведущие «Базового Блока» и очень им довольны. Также Zerion разработали SDK для DeFi. Если вы разработчики и хотите в свои проекты внедрять такого рода вещи – обратите на это внимание. Ссылки все будут в описании.
Также нас поддерживает HodlHodl – площадка для покупки и продажи биткоинов без верификации. У нас есть специальная ссылка, которая дает вам постоянную скидку на торговую комиссию, если вы по ней пройдёте и зарегистрируетесь.
А также Solana нас поддерживает. Это быстрый блокчейн без шардинга, который обеспечивает огромную скорость транзакций и блоки раз в 400 миллисекунд благодаря протоколу Proof of history. Заходите к ним в сообщество в Телеграмме и в Вконтакте. Они готовы отвечать на все ваши вопросы. Спасибо большое Solana.
Давайте начнём тогда разговор про атомарные свопы и проект Atomex. Но перед этим опять-таки традиционно расскажите, пожалуйста, немного про свой бэкграунд, как вы пришли в этот проект и вообще в криптовалютную индустрию.
Александр Ракунов: Ну, спасибо большое в первую очередь, что пригласил. Очень приятно. Вообще являюсь постоянным слушателем и часто очень слышали у вас в беседах, что нет атомарных свопов хороших, реализованных сейчас. Поэтому здорово, что у нас появилась возможность. Будем надеяться противопоставить какой-то весомый аргумент против этого утверждения.
Про нашу команду. Значит, мы вместе учились в Бауманке по специальности «Информационная безопасность», и одним из основных предметов была криптография. Потом некоторые из нас получили достаточно неплохой опыт в разработке софта в разных компаниях (в том же «Яндексе», например), другая часть долгое время работала в одной инвестиционной компании. Я, например, около 8 лет в общей сложности. И так получилось, что какой-то момент мы оказались все в одном месте, в одной компании, и занимались там алгоритмическим трейдингом и управлением активами. Ну, как-то чувствовалось, что задачи, которые у нас были в алготрейдинге, они не позволяют нам в полной мере реализовать потенциал в плане soft development. Поэтому в какой-то момент мы решили уйти и уже сами углубиться в тему блокчейн. Надо сказать, что мы давно интересовались и кое-что пробовали в этой области. Даже в 2014 году, когда мы писали дипломы все, у некоторых из нас дипломы были посвящены непосредственно теме блокчейнов. Но занялись full-time мы этим не сразу. Наверное, повлияло больше всего то, что в июле 2017-го мы участвовали в разных ICO. Одним из них был ICO Tezos, и все знают эту историю, что у них мейнет запустился чуть позже, чем планировалось. В общем, это был, по-моему, если не ошибаюсь, сентябрь 2018-го, и в тот момент уже ажиотаж на рынке достаточно сильно спал. И с нашей точки зрения было понятно, что этот актив у нас будет долго. Поэтому мы решили участвовать в стейкинге, то есть мы зарегистрировали бейкера публичного, начали принимать делегаторов и так вот втянулись в экосистему, углубились в комьюнити и, в общем, нисколько не пожалели об этом, надо сказать. Стало понятно, какие запросы есть у экосистемы в целом и у комьюнити, и вот постепенно так пришли к программе грантов. Также параллельно активно занялись разработкой Atomex. Плотная разработка у нас заняла, наверное, больше года до момента, когда мы выпустили самый-самый первый релиз.
Сергей Тихомиров: Игорь, что-нибудь хочешь добавить по поводу истории, так сказать, личной, персональной? Или вы все идёте так командой прямо с самого начала и у вас история общая?
(00:05:13)
Игорь Мацак: Ну да. Александр в целом рассказал почти всю мою биографию. Тут разве что вот он занимался, непосредственно работал в инвестиционной компании, а я в это время занимался разработкой тоже в одной из крупных компаний в области дистанционного банковского обслуживания, то есть мы мобильные клиенты писали, и когда-то, в лучшие времена, эта компания была монополистом на рынке. То есть там я уже, в принципе, набрался некоего опыта в плане создания таких приложений, в том числе мобильных и прочих. А дальше, да, нас всех судьба, как Александр сказал, свела. Ну ладно, сначала нас судьба свела всех в МГТУ, на информационной безопасности, а потом мы прям, вот достаточно много, получается, ребят из нашей группы, мы все устроились в инвестиционную компанию и занимались долго алготрейдингом. И вот конкретно… Получается, атомарные свопы, в первую очередь разработкой занимался я изначально, то есть мне изначально эта тема понравилась очень сильно. Когда я встретил на одном из форумов (по-моему, этот пост был от 2014 года), я не помню, к сожалению, фамилию и имя человека, который его написал, но он первый заложил идею именно осуществления атомарного свопа между биткоин-подобными валютами. И мы тогда, когда прочитали этот пост, просто загорелись этой идеей, что надо это реализовывать, потому что это очень интересная штука, то есть полностью доверенный способ обмена между двумя чейнами, никаких третьих сторон. Это, конечно, здорово было.
Сергей Тихомиров: Еще вкратце, прежде чем углубиться в главную тему, а именно в свопы, расскажите, пожалуйста, два слова про Tezos (может, для тех, кто не в курсе): что это за блокчейн, в чём его главная фишка и почему он так вас привлек, что вы именно в его экосистему захотели в full-time контрибьютить. Я здесь слушателей отошлю к предыдущему нашему выпуску про Tezos, где были Владимир Заречнев, Михаил Заикин и Максим Стреков. В выпуске №55, очень давно это было, аж в начале 2019 года. Но для контекста, просто для того, чтобы понимать вашу историю. Что вас привлекло в Tezos?
Александр Ракунов: Я думаю, что тогда, когда мы им увлеклись, получается, что было множество платформ смарт-контрактов, и они все достаточно активно конкурировали между собой (ну, может быть, исключая эфир, который был недосягаем), но в целом казалось, что такие системы, которые поддерживают смарт-контракты, в них можно очень много реализовать каких-то микросервисов и очень много разработать, применить фантазию для этого. И в целом то, что мы видим сейчас в Ethereum, это подтверждает, потому что DeFi развивается невероятными темпами, то есть это действительно целая какая-то экономика, аналогов которой раньше не существовали вовсе. А Tezos, по сути, является чем-то похожим, и у него, соответственно, огромный потенциал для развития. Плюс, Tezos, наверное, единственный или основной из блокчейнов, которые сейчас имеют механизм консенсуса Proof-of-Stake (Delegated proof-of-stake, если быть точным). И всегда нам казалось, что, в общем-то, Proof-of-Work достаточно неэффективен, то есть зачем сжигать по несколько миллионов долларов в день, для того чтобы поддерживать сеть. Это как-то интуитивно казалось неэффективностью. А у Tezos очень интересный механизм консенсуса, и то комьюнити, которое вокруг этого развилось (я имею в виду, комьюнити бейкеров, комьюнити делегаторов), оно очень похоже на какой-то прототип возможного децентрализованного государства или большого DAO, что, в принципе, является, мне кажется, феноменальным явлением, поэтому, мне кажется, этот выбор достаточно оправдан с нашей стороны.
Сергей Тихомиров: Интересно. Я не слежу специально пристально именно за Tezos, но у меня такое ощущение возникает, что действительно движуха-то идёт в основном Ethereum-экосистеме. Та же экосистема DeFi, она же не случайно именно в Ethereum взлетела. Ну, вот такой как бы взгляд скептика. Пусть даже Tezos может быть, и другие смарт-контрактные блокчейны, пусть они даже могут быть технологически более продвинутыми, но если они по тем или иным историческим причинам не успели набрать этого сетевого эффекта, не станет ли это фундаментальным препятствием на пути к их успеху, даже если они технологически могут быть очень крутыми?
Александр Ракунов: Честно говоря, наш рост заинтересованности в экосистеме Tezos, он увеличивался органически, то есть мы не то, чтобы сидели и анализировали, каким блокчейном нужно заняться, мы просто интересовались всем, и просто что-то показалось нам более интересным, и мы начали потихоньку втягиваться. И не знаю, что сыграло основную роль, но вот одних из самых позитивных моментов для меня лично – это то, насколько комьюнити в Tezos является дружелюбным и насколько Tezos Foundation правильно, планомерно поддерживает разработчиков, насколько они лояльны, их программы грантов, то есть они не жалеют ресурсов на развитие.
(00:10:13)
Мне кажется, это очень правильно. И стараются развиваться быстрыми темпами, находить какие-то свои ниши (те же STO и так далее). И мне кажется, что это как раз залог успеха, потому что либо блокчейн должен развиваться быстро, либо он, соответственно, утонет среди конкурентов.
Сергей Тихомиров: Игорь, что-то хочешь добавить? Или пойдем к свопам?
Игорь Мацак: Ну, я думаю, уже можно переходить к свопам. Уже, да, Саша, в общем-то, всё по делу сказал.
Сергей Тихомиров: Давайте перейдем тогда к главной теме нашего разговора. Давайте вначале, я предлагаю поговорить не про конкретно вашу реализацию атомарных свопов, а вообще, в принципе, про свопы как концепт. Вот можете вначале дать такое высокоуровневое описание, в чём заключается основная идея атомарных свопов, что это такое и как оно работает?
Александр Ракунов: Давайте я попробую прям в общих словах, потом Игорь, наверное, более точно скажет. Значит, идея свопов нам вообще, в принципе, понравилась сразу, потому что она простая и понятная. Свопы, по сути, это способ произвести транзакцию между разными блокчейнами, максимально приближенно к тому, как производится обычная транзакция в рамках одного блокчейна, то есть средства постоянно находятся под контролем владельца и контроль над операцией обмена также осуществляется ончейн. Нет третьих лиц, которые бы контролировали средства в какой-либо момент времени. И в этом плане свопы – действительно очень простая, очень понятная технология, по сути, немного расширяющая идею классического блокчейна, такого как Bitcoin, например.
Сергей Тихомиров: Вот насколько я понял из литературы, впервые эта идея была описана на форуме Bitcointalk ещё в 2013 году неким человеком (я не знаю, псевдоним это или настоящее имя) – Tir Nolan. С тех пор как-то эта идея претерпела эволюцию, то есть вот эта идея, что мы меняем одну криптовалюту на другую и при этом либо оно поменяется, либо оно не поменяется. Претерпевала ли эта идея или идеи по поводу ее реализации какие-то существенные изменения с 2013 года?
Игорь Мацак: Могу я, да, сказать по этому поводу. Нет, в принципе, атомарный своп настолько… То есть это в какой-то степени даже идеальная технология, потому что ее очень сложно улучшить. То есть технические атомарный своп осуществляется в две транзакции со стороны пользователя одного. То есть, если, например, у меня есть биткоин, я хочу купить эфир – значит, что я делаю? Я первой своей транзакцией в блокчейне биткоина лочу свои средства, а второй транзакцией я уже выкупаю средства в блокчейне эфира. То есть как минимум классический атомарный своп, вот как он есть, он реализуется в две транзакции у каждого пользователя. То есть как можно улучшить в целом эту технологию? Вот, например, если у нас всё происходит на одном блокчейне, как, например, на Ethereum, то есть возьмем к примеру uniswap. То есть всё реализовано на одном контракте, и я, отправляя эфир на контракт, я сразу получаю токен, то есть всё делается за одну транзакцию. Но это возможно только лишь потому, что всё происходит на одном чейне. Как только появляется два чейна – всё, появляются уже некие проблемы. Есть проекты, которые стремятся всё-таки это реализовать. То есть вот конкретно мы вели даже, то есть мы общались с ребятами из Polkadot, еще есть такой проект, как RenVM (это из таких вот, которые мне сразу в голову приходят, которые пытаются реализовать именно кросс-чейн). Но тоже там, опять же, всё сводится всё-таки к токенам в первую очередь, то есть на каком-то чейне выпускаются свои токены и, собственно, реализуются мосты для каждой валюты. Например, я отправляю свой биткоин в какой-то там мост, потом валидатор, и мне присылают токен. То есть в любом случае существует такая проблема, что меньше чем за две транзакции какие-то это не сделать. То есть первой транзакцией я получаю токен, условно, второй – я осуществляю уже обмен непосредственный. То есть технология атомарного свопа, именно та, которую изложил Тир Нолан (точно, вот я тоже сейчас вспомнил; спасибо, что напомнили), она сама по себе настолько простая и гениальная, что ее очень сложно улучшить. И это особенно больше всего мне нравится в этой технологии.
Сергей Тихомиров: Давайте попробуем по шагам расписать этот протокол вот в его классическом таком виде. Вот если у нас есть Алиса и Боб и они хотят обменяться какими-то монетами, вот что происходит по шагам, куда… Скажем, у Алисы есть биткоины, а у Боба есть эфиры. В каком порядке они должны посылать транзакции, чтобы этот своп произошло?
Игорь Мацак: Ну, смотрите, значит, начинается всё вот как раз с Алисы. Она как инициатор свопа, имея, например, биткоины, создает транзакцию, условием траты которой выступает как бы такой блок условный. То есть, есть два способа потратить данную транзакцию.
(00:15:03)
Первый способ – это Алиса сама может вернуть себе, то есть потратить выход этой транзакции через какое-то количество времени, то есть, например, там через 6 часов, условно. Либо же эту транзакцию может потратить Боб, если предъявит некий секрет, который придумала Алиса. Даже всё начинается с придумки секрета, то есть Алиса на своей стороне придумывает секрет, вычисляет хэш и сообщает любым способом его Бобу, отправляет свою lock-транзакцию. Боб видит, что Алиса отправила свои средства, он формирует так же свою lock-транзакцию, то есть в случае эфира это будет вызов смарт-контракта некий, в котором он тоже говорит, что вот я…
Сергей Тихомиров: Небольшое уточнение. Они обмениваются же хэшем секрета, правильно я понимаю, а не самим секретом?
Игорь Мацак: Да, безусловно, да. То есть у Алисы хранится секрет, она передает именно хэш, да. То есть пока секрет передавать рано. Как я сказал, значит, Алиса отправила транзакцию, Боб отправляет свою payment-транзакцию на контракт, который, по сути, также можно… То есть в эфире достаточно удобно сделано в плане смарт-контрактов, то есть это отдельные методы, это не один какой-то выход, как в случае Bitcoin, а отдельные методы у смарт-контракта. Можно вызвать метод redeem, который совершит выкуп средств со смарт-контракта, и можно сделать вызов refund, когда один из контрагентов, там по каким-то причинам своп не завершился, кто-то решил не выполнять свои условия, то у клиента всегда есть возможность вернуть средства со смарт-контракта с помощью вызова отдельного метода. И получается, что после того, как Боб завёл свои средства на смарт-контракт эфира, Алиса видит это через любой блокчейн-эксплорер, любым способом обнаруживает эту транзакцию и, зная секрет, который она сама придумала, она создаёт вот как раз redeem-транзу, вызывает метод redeem у смарт-контракта, предъявляя секрет, и забирает средства Боба. С этого момента секрет в открытом виде присутствует в блокчейне, и Боб его может также увидеть, что он, собственно, и делает. Он также мониторит блокчейн, ищет секрет, находит его и, соответственно, забирает средства Алисы, уже предъявляя секрет в блокчейне Bitcoin. Алиса не может свои средства вернуть быстрее, чем их заберёт Боб, как раз за счет того, что есть специальные временные задержки, которые явно прошиваются в самом свопе. Как правило, Алиса может вернуть свои средства, например, через 12 часов, а Боб, например, через 6. То есть, как правило, делается ещё некий задел между этими транзакциями, чтобы как раз не возникла ситуация, что там какая-то транзакция зависает. Ну, бывают разные ситуации. В зависимости от нагрузки на блокчейн, могут возникнуть проблемы, и вот как раз для этих целей время обычно чуть увеличивается, то есть создается некий запас временной, чтобы можно было безопасно осуществлять транзакции.
Сергей Тихомиров: Из этого описания какие можно сформулировать требования к блокчейнам? Что должен блокчейн поддерживать, чтобы на нём можно было реализовать такую конструкцию?
Игорь Мацак: Должна быть возможность хотя бы, как минимум (в данном случае Bitcoin, допустим), должна быть возможность условных операций в скрипте, то есть в Bitcoin есть возможность сделать блок «if» в скрипте, несмотря на достаточно простой набор команд. Значит, должна как минимум хэш-функция поддерживаться, какая-то общая для всех блокчейнов, поскольку мы имеем секрет и это все блокчейны должны одинаково вычислять хэш от этого секрета. В нашем случае, слава Богу, что во всех блокчейнах используется функция SHA-256, которую можно везде использовать.
Ну и ещё есть очень важный момент в плане свопов – это контроль длины секрета. То есть, есть одна из так называемых атак на атомарные свопы в том, что Боб изначально не знает как раз-таки о длине секрета, который придумала Алиса, и если Алиса придумала, например, очень длинный секрет, которые нельзя прокинуть в смарт-контракт эфира, то Боб не сможет забрать свои средства. То есть, в принципе, надо обязательно контролить секрет обязательно во всех блокчейнах – и в Bitcoin, и в Ethereum, если мы рассматриваем своп биткоин-эфир. И слава Богу, что в Bitcoin также есть возможность проверять длину данных, то есть можно, в принципе, в скрипте явно прописать типа, что вот есть входящий набор байт, и я могу просто явно задать, что он должен быть равен там 32 байта, например, условно.
Сергей Тихомиров: Это очень интересная атака. Мне вообще не приходило такое в голову. Сейчас давай разберемся, как это всё-таки решается. Я не совсем понимаю. То есть правильно ли я понял, что атака заключается в том, что секрет может обладать тем качеством, что он для одного блокчейна слишком длинный и не помещается туда, а для другого блокчейна нормальный? И тогда получается, что своп перестает быть атомарным, потому что одна транзакция сработает в одном блокчейне, а в другом блокчейне не сработает. Вот как этого избежать, если по самому хэшу мы не можем же определить, какой длины данные были изначально в нём?
(00:20:00)
Игорь Мацак: Ну да, остаётся только явно проверять, то есть как вот в случае Bitcoin это происходит. Если Алиса придумала секрет, например, длиной там 1000 байт, условно, вычислила от нее хэш, она должна будет также предъявить секрет, например, чтобы осуществить refund свой, то есть вернуть свои средства обратно. То есть, если она его изначально сделает таким, который не подходит для эфира, своп просто не получится. То есть в какой-то момент просто сторона не осуществляет транзакцию, и в итоге все откатывается назад через refund-транзакции. И в Ethereum, и в Bitcoin стоят проверки на длину секрета, явная причем, жестко закодированная длина, то есть любое нарушение в итоге приводит к тому, что своп не выполняется и откатывается назад.
Сергей Тихомиров: Да, окей.
Александр Ракунов: Там получается, что есть еще… Ну, обычно такая атака будет осуществляться Алисой, то есть Алиса, например, в Bitcoin придумает какой-то секрет, который для Bitcoin не работает, сформирует хэш, хэш будет нормальный, отправит Bitcoin-транзу с этим хэшем, Боб, соответственно, осуществит lock Ethereum, и в Ethereum вот тот неправильный секрет, который Алиса придумала, он должен срабатывать. Тогда Алиса выкупит эфир, а Боб –биткоины, даже увидев секрет, он биткоины, соответственно, выкупить не сможет, и Алиса просто тогда сделает refund своих биткоинов обратно и получит и то, и другое. Вот, соответственно, должна проверяться сама длина секрета, чтобы у Алисы не получилось сделать redeem эфира с неправильным секретом.
Сергей Тихомиров: Должна проверяться кем?
Александр Ракунов: Контрактом. То есть, в Ethereum, получается, это проверяет смарт-контракт. Соответственно, в Bitcoin это проверяется внутри скрипта.
Сергей Тихомиров: Окей, понял. Получается, что Ethereum-контракт проверяет не только корректность всего происходящего с точки зрения Ethereum-протокола, но еще и в каком-то смысле с точки зрения Bitcoin-протокола тоже, то есть он говорит: «Вот этот секрет, он для Ethereum был бы нормальный, но я знаю, что для Bitcoin он слишком длинный, поэтому я не дам ему здесь закоммититься этому секрету».
Александр Ракунов: Да-да-да, совершенно верно. Получается, что поддерживается симметричность для абсолютно всех блокчейнов, алгоритма.
Сергей Тихомиров: Окей, хорошо. У меня, когда вот мы говорим про описание этого протокола, у меня, конечно, первая ассоциация, и мне кажется, здесь очень много похожего, это Lightning. Давайте вот мы сравним атомарные свопы с несколькими схожими или смежными технологиями, и в первую очередь, мне кажется, с Lightning имеет смысл сравнивать, потому что Lightning построен на очень похожих примитивах, где тоже запираются некоторые средства, которые могут быть передвинуты: либо если противоположная сторона даст секрет, либо если отправляющая сторона после тайм-аута забирает это обратно. В чём здесь разница между этими технологиями?
Игорь Мацак: Тут получается так, что атомарный своп, по сути, это платёжный канал. То же самое, как и в Lightning, только с той лишь разницей, что он открывается и сразу закрывается. То есть в Lightning Network в чём идея основная: мы открываем канал, и как можно больше в Layer 2 обмениваемся транзакциями, не нагружая блокчейн, как бы всё здорово, мы постоянно создаем транзакции, какие-то подписываем. И в какой-то момент, когда нужно всё завершить и у нас канал, так сказать, исчерпывается, мы его прежде всего можем закрыть. В атомарном свопе точно такая же логика, только мы не используем, по сути, наш созданный канал несколько раз. Мы только один раз его как бы открыли – сразу сделку закрыли. То есть, по сути, атомарный своп – это в какой-то степени платежный канал, то есть как бы в каждом чейне создается этот самый платежный канал, но он просто не многоразовый.
Сергей Тихомиров: Да, мне, собственно, такая же аналогия пришла в голову, что, по сути, это тот факт, что мы отказываемся от обновлений этого канала. Это, по сути, у нас же снимает технические ограничения многие, то есть нам не нужно следить за состояниями, не нужно следить за тем, чтобы старые состояния не попали на блокчейн, потому что у нас нет старых состояний, у нас сразу нулевое состояние и первое состояние. Но если сравнивать опять-таки с Lightning, нельзя ли было, или насколько это реалистично, если я хочу, допустим, сделать свой сервис атомарных свопов, могу ли я просто взять протокол Lightning и каким-то способом его просто ограничить, там где-нибудь прописать какие-нибудь константы, что, не знаю, максимум number of updates равен 1 и превратить Lightning-сеть в atomic swap-сеть, ничего больше не меняя?
Игорь Мацак: В принципе, атомарные свопы – это одна из фичей, насколько я помню, Lightning Network, то есть в целом там предусмотрено, то есть, в принципе, можно через контрагента… То есть я, например, создаю платёжный канал с Сашей, Саша создает платежный канал с тобой, и мы с тобой можем осуществить атомарный своп через Сашу.
(00:25:02)
Да, это, в общем-то, концепция, насколько я помню, Lightning Network. Единственное, что вот… Ну, Lightning Network, в принципе, мне очень нравится как технология, да, и мы рассматриваем тоже добавление ее, внедрение в наш сервис. Но есть такой момент, что как только появляется Lightning Network, в принципе, меняется взгляд даже на сам блокчейн. То есть, сейчас мой баланс – это баланс на моих адресах, условно (биткоин, эфир – неважно). Как только я все свои средства перевожу в Lightning Network, отныне мой баланс – это уже не баланс адресов, а баланс… Это как сумма по всем моим платёжным каналам. То есть, по-хорошему все мои средства должны быть в Lightning Network, и у всех в мире, все должны в итоге прийти к этой концепции. Тогда да, тогда, я думаю, всё будет осуществляться только в layer 2 без нагрузок на чейн, и мы наконец-то придём к очень быстрым атомарным свопам, что важно. То есть Lightning Network позволяет создавать очень быстрые свопы, очень быстрые, поскольку мы не привязываемся к блокчейну базовому, то есть мы можем быстро обмениваться по какому-то третьему каналу. Но сейчас, например, вот если мы, допустим, имплементируем Lightning Network в Atomex, вот в кошельке у нас появится такая функция, то есть клиент сможет залочить свои битки в Lightning Network и будет делать свопы биткоина с чем-то другим. Но как только ему понадобится осуществить какой-то другой платёж или транзакцию, ему придется закрыть канал, то есть не в рамках Lightning Network ему придется закрыть канал, высвободить свои биткоины и осуществить уже свою другую операцию. Здесь уже получается, что атомарный… То есть, с точки зрения fee, которые он заплатит в итоге, то есть он заплатит при создании Lightning Network как минимум за открытие канала fee и за закрытие. То есть это уже ничем не отличается от атомарного свопа или, по сути, то же самое будет оплачено, и не совсем понятно, зачем тогда используют Lightning Network для этих целей. И как правило, сценарий торговли (вот тут тоже очень важный момент): надо просто представить себе кейс, когда я осуществляю сделку через Lightning Network. И будет ли у меня такая ситуация, что я буду много раз использовать канал? Например, если я завёл там все свои биткоины (у меня там, например, 1 биткоин), я создал канал с кем-нибудь, мы оба туда положили по одному биткоину, и я хочу сделать сделку all-in (на всё), то есть я купил эфир, и я полностью весь свой биткоин отправил своему контрагенту, то есть канал, по сути, исчерпал себя, но в будущем я хочу сделать спекулятивную сделку: я хочу выкупить свои биткоины обратно, но с прибылью какой-то. Например, так получилось, что я заработал на этой сделке 3 биткоина, то есть мой открытый платёжный канал, который сейчас есть, он покрывает только 2 биткоина, и я еще где-то со стороны получу третий биткоин, который я заработал. То есть потом, в будущем, мне придётся опять перекомпоновать канал, завести в него свой новый биткоин по новой. Понимаете, да, в чём проблема? То есть здесь…
Сергей Тихомиров: Правильно ли я понимаю, что это просто известная проблема в Lightning-разработке – проблема входящей ликвидности, что я не могу принимать больше, чем у меня есть в канале, и, в общем-то, отправлять тоже не могу? Я просто не совсем понял пока юзкейс. У меня был один биткоин в канале, я его передвинул со своей стороны на другую сторону, а потом что произошло?
Игорь Мацак: Ну а потом я хочу в будущем… То есть я не закрываю свой канал, потому что я ожидаю, что я заработаю на этой сделке, и просто в итоге я типа зарабатываю, например, 3 биткоина, и мой существующий платёжный канал мне позволяет вывести, так сказать, из биржи, то есть как результат сделки зафиксировать только 2 биткоина. Ещё третий биткоин я получу по какому-то другому каналу какой-то прямой транзакцией. И вот после того, как это случилось, у меня теперь есть платежный канал, в котором есть два биткоина и ещё один биткоин, полученный как профит в результате сделки. То есть, чтобы заново торговать, я должен буду пересоздать заново канал, чтобы он был теперь из трех биткоинов. Здесь речь идет о том, что есть вероятность, что будут тратиться средства на создание/закрытие каналов, то есть каналы будут использоваться для разовых операций. Вот я к этому стараюсь подвести, и это ничем не лучше, как… Это, по сути, и есть обычный атомарный своп и нет какой-то явной потребности прям поддерживать какую-то сеть и так далее.
Сергей Тихомиров: Окей. То есть, наверное, это можно переформулировать так, что в вырожденном случае Lightning-канал просто превращается в атомарный своп, собственно, и всё. Поэтому мой, скорее, был вопрос и такое размышление с точки зрения разработчика, вот я представляю себя, допустим, на вашем месте, я хочу сделать продукт с атомарными свопами. Вместо того, чтобы писать самому эти контракты и всякие протоколы, я могу просто взять Lightning-ноду, её подкрутить, и у меня будут атомарные свопы. Изначально такая была моя идея. А почему это не совсем хорошая идея? Они же много чего имплементировали и подумали, там много багов поймали, у них есть peer-to-peer слой, например, у них ноды там могут разговаривать друг с другом.
(00:30:07)
Это же можно всё просто, так сказать, ужать и обрубить эту вот функциональность многократного обмена, оставив только однократный. И получается, фактически те же свопы.
Игорь Мацак: Всё верно, да. Я поэтому и говорю, что мы, в принципе, рассматривали и рассматриваем Lightning Network как технологию, которую мы хотели бы внедрить в свой кошелек. Но вот я, кстати, если честно, я не слышал про Lightning Network в других чейнах. Может быть, я просто давно уже не смотрел эту информацию. Ну, с Bitcoin понятно, да. Насколько я знаю, там достаточно большой оборот даже по количеству транзакций и объемов. А вот касательно, например, Ethereum и других (Tezos), если честно, я не знаю, не владею информацией про Lightning Network, какие-то построенные на них. То есть нам же нужен по-хорошему не только один чейн какой-то, в котором у нас будет Lightning Network. Нам нужно несколько чейнов, и в каждом чтобы была эта технология реализована. Если это всё есть, то, конечно, имеет смысл это рассмотреть как приоритетную технологию, которую стоит внедрить себе.
Сергей Тихомиров: Хорошо. Давайте поговорим ещё про несколько вещей, с которыми я хотел бы сравнить атомарные свопы. Вторая группа технологий, с которыми я хотел бы их сравнить, это децентрализованные биржи с escrow, такие как, например, наши спонсоры HodlHodl или Bisq, которые не кастодиальные и тоже предоставляют возможность обменять одни криптовалюты на другие и даже обменять криптовалюты на фиат, где средства временно содержатся в escrow под частичным контролем либо администраторов, либо некоторых арбитражеров, и потом они разлочиваются, в зависимости от того, что все хорошо себя ведут. Понятно, что это немножко другая всё-таки технология, но какие у неё плюсы и минусы? Как она может быть сравнена с атомарными свопами?
Александр Ракунов: Будет ли правильно сравнить то, что ты назвал, с, например, Liquid Network, которая Blockstream?
Сергей Тихомиров: С ней тоже, я хотел сравнить это позже, но можете тоже про нее поговорить. Это, мне кажется, не совсем то же самое, насколько я представляю её структуру. Я так представлял Liquid, что это всё-таки сайдчейн под контролем некоторой группы администраторов (типа proof-of-authority), которая как-то прицепляется к биткоину.
Александр Ракунов: Ну, в HodlHodl что ты получаешь, когда заводишь, например, биткоины? Ты получаешь какое-то обязательство со стороны сервиса, что он будет хранить их какое-то время для тебя.
Сергей Тихомиров: Насколько я представляю, я их запираю в мультисиг, который распирается, либо если оба участника сделки согласны, либо, если они не согласны, тогда вступает администрация в действие и разруливает конфликт своим третьим ключом. То есть у меня такое представление о том, как это работает.
Александр Ракунов: То есть потенциально, допустим, твой контрагент и владелец сервиса могут вступить в сговор и отнять твои средства, или нет, если я правильно понял?
Сергей Тихомиров: Технически, я думаю, что да.
Александр Ракунов: Ну, наверное, тогда вот в этом есть некий trade-off. Понятно, что, возможно, по эффективности это будет лучше, но это получается не совсем true в плане децентрализации. Вот, наверное, такой у нас взгляд. Но если честно, нужно больше углубиться в тему, чтобы мы могли ответить как-то более содержательно.
Сергей Тихомиров: Хорошо. Давайте тогда двинемся постепенно дальше. Мне хотелось бы поговорить еще о следующих вещах, собственно, переходя плавно уже к Atomex как имплементации идеи атомарных свопов. Расскажите про этот проект. В чём была идея, чего уже удалось достичь (опять-таки такими широкими мазками), что вы поддерживаете? И какой-то общее представление о проекте чтобы получить, а потом мы пойдём уже подробно по отдельным деталям и функциональности.
Игорь Мацак: Саш, ты мне слово передал, да? Да, я не выучил пока язык жестов твой. Так, ну Atomex. Atomex – это в первую очередь биржа, использующая в качестве технологии обмена атомарные свопы, то есть у нас сохранение всех средств происходит децентрализованно на стороне клиента, то есть в его мультивалютном кошельке, при этом сведение торговых приказов, то есть непосредственно биржевой матчинг, он происходит централизованно, то есть на сервере Atomex. Что это даёт? Почему мы не рассматривали децентрализованную архитектуру, а именно централизованную? Мы, во-первых, повышаем скорость сведения заявок, мы как-то локализуем ликвидность, то есть в одном каком-то… По сути, централизованный матчинг – это то преимущество, которое имеют централизованные биржи на текущий момент перед дексами другими. Собственно, поэтому мы так и имплементировали это. Также кошелёк наш, по сути, не доверяет нашему же серверу, что тоже очень важно с точки зрения атомарных свопов, то есть не должно быть такого, что, например, сервис Atomex скомпрометирован, то есть мы получаем какую-то информацию об исполнении наших заявок, то есть всё на стороне клиента проверяется.
(00:35:07)
В принципе, можно сформулировать так, что кошелёк Atomex – это как «мой дом, моя крепость», то есть в нем содержится все: мои средства, моё какой-то айдентити в плане того, что это мои ключи, то есть это всё хранится у меня на устройстве, нигде больше, и я сам решаю, где там что, какие операции совершать и так далее. То есть я никому не доверяю вообще. Вот и всё. То есть я в каком-то плане параноик, в плане безопасности и так далее. Вот это наша концепция, если так в двух словах.
Сергей Тихомиров: Какие уже криптовалюты у вас имплементированы, внедрены?
Игорь Мацак: Да. Ну, изначально всё начиналось с биткоина, естественно, как основной валюты, и сразу же получается, поскольку нас есть куча форков биткоина, нам сразу попал практически нахаляву, если так можно выразиться, попал лайткоин как форк, то есть своп между биктоин и лайткоин реализуется достаточно просто. Следующий был эфир в силу популярности, развития и то, что это смарт-контракт, который дает достаточно большую гибкость в плане контроля за свопом. Тогда можно какие-то фичи придумывать интересные на нём. Далее мы добавили Tezos, и вот буквально недавно мы добавили ERC20 токены, то есть в частности это USDT, и токен, который недавно выпустили на Tezos, это такой стандарт, называется FA1.2. Нам тоже стало интересно, и мы добавили один из сейчас, вот недавно, выпущенных токенов, который называется tzBTC. То есть мы достаточно избирательно подходим к тому, какие монеты добавлять. Очень многие кошельки стремятся сразу добавить как можно больше монет к себе, там просто всех возможных и так далее, но, как правило, это выливается в проблему, что их очень тяжело поддерживать банально, потому что меняются там какие-то, выходят новые типа апдейты у сети, меняются какие-то блокчейны, и за каждой монетой надо следить, и можно кругом встретить кучу жалоб пользователей о том, что вот, у меня не отправляется такой-то токен и так далее. Разработчики зачастую даже не знают об этом ничего. И поэтому, да, мы стараемся как-то избирательно подходить. То есть, сначала это топовые монеты в первую очередь, в которых мы очевидным образом знаем, как имплементировать атомарные свопы. Пока мы только 6 монет добавили. Ну, потенциально, понятно, мы сейчас можем кучу токенов, получается, добавить, поскольку мы добавили уже ERC20-контракт. Но мы тоже будем делать это достаточно аккуратно, я думаю, чтобы не добавить ничего лишнего. То, что в первую очередь торгуется, то, что интересно пользователям другим, то есть такой у нас приоритет.
Сергей Тихомиров: Давайте ещё поговорим немного про вашу модель с централизованным матчингом и провайдером ликвидности. Хотелось бы понять, насколько на самом деле мне как пользователю нужно доверять этому серверу. Я вот о чём говорю. Понятно, что ключи всё равно у меня, но тем не менее, я хочу поменять какую-то одну валюту на другую, и я же, по сути, обращаюсь к серверу, и сервер мне отвечает: «А вот есть такой ордер, который соответствует твоему, и вот мы их сейчас взаимно выполним и ликвидируем». Правильно ли я понимаю, что это во власти сервера, в общем-то, мне этот ордер противоположный показать или не показать, или выбрать какой-то из них? С точки зрения пользователя, насколько я могу понимать гарантии выполнения моей сделки и по какому курсу она выполнится? Не будет ли такого, что мне сервер предложит какой-то курс, не знаю, далекий от рыночного, или что-нибудь в этом духе? Насколько это надёжно с точки зрения гарантий выполнения?
Александр Ракунов: Да. Но если это требует уточнения, то получается, что сервер просто знакомит двух контрагентов и сразу отходит в сторону. В момент, когда пользователь хочет нажать кнопку «купить» или «продать», он, соответственно, видит цену, которая сейчас передается ему с сервера, но как только он нажимает, все эти данные сохраняются в кошельке, то есть цена (они жестко фиксированы), объём, и, соответственно, контрагенты знакомятся друг с другом, и кошелёк, он уже перестает доверять кому-либо, то есть у него есть данные, которые он видел у себя в момент нажатия кнопки, и он только на эти данные опирается, и также берет информацию из блокчейнов. Соответственно, цену поменять нельзя, никакой слипедж сделать нельзя, потому что всю эту информацию уже запомнил кошелёк. Дальше, соответственно, происходит своп, и кошелёк смотрит только в блокчейн.
Сергей Тихомиров: Но сервер же может тоже вступить в сговор, можно так сказать, или каким-то образом… Я попытаюсь это сформулировать. Это можно, в принципе, назвать фронтраннингом было бы либо это можно было бы назвать, не знаю, приоритизированием дружественных серверов контрагентов, чтобы именно их заявки выполнялись. То есть, есть какие-то два, не знаю, провайдера ликвидности, и один из них аффилирован с сервером, а другой – нет, и сервер подсовывает именно те заявки, которые приходят от аффилированного с ним провайдера ликвидности. Возможно, это мне в убыток как пользователю будет.
(00:40:10)
Игорь Мацак: Ну, так я хочу добавить так, что мы, получается, имплементировали полностью полноценный матчинг, вот как он есть на централизованных биржах. В общем-то, у нас есть возможность отслеживать full overlock поток, то есть любой пользователь может подключиться и прям смотреть явно, как меняются заявки. То есть при любой попытке сфальсифицировать историю торгов это будет видно. И можно рассуждать с позиции того самого второго провайдера, которого вы привели. То есть, например, два провайдера ликвидности, один в сговор вступил с Atomex как с биржей и, значит, его заявки в первую очередь исполняются, а второго провайдера не исполняется. Второй провайдер это видит, поскольку он видит, он знает свою историю ордеров, он видит, какие заявки он выставлял, он видит стакан, он всегда может его получить. Ну, стакан заявок, я имею в виду.
Сергей Тихомиров: Извини. Он его получает же тоже от того же сервера?
Игорь Мацак: Да-да-да, все верно, да. Но просто тогда не будет биться история изменения стакана. На самом деле биржевой стакан, он достаточно… Не знаю, то есть там есть несколько всего операций (добавление, удаление), и это будет, наверное, сложно провернуть, чтобы прям… Вот ты видишь, грубо говоря, ситуацию, ты видишь прям четко все изменения в стакане биржевые, но при этом ты не понимаешь, почему тебя не исполнили, то есть такое сложно себе представить. Если у тебя есть возможность следить за стаканом. Если нет такой возможности – да, это прям легко вообще делается, то есть, получается, можно прям сводить. Но если ты видишь, что ты первый стоишь в очереди, а мы, получается, имплементируем стандартное биржевое исполнение там с очередностью и так далее. То есть если ты видишь, что ты первый встаешь в очереди, и тут бац, тебя зафронтраннил какой-то тип.
Сергей Тихомиров: Но это все действует в предположении, что есть некоторый единый стакан, который все видят одинаково. Но если это все находится под контролем сервера, то сервер может теоретически показывать разные стаканы. Или вот этот провайдер, которого пытаются обмануть, он может о моей заявке даже не узнать, как будто ее не было вообще, с его точки зрения?
Игорь Мацак: Но вот на счет того, что не было вообще, все-таки немного не понимаю, как это возможно, если он видит стакан и он видит сделку. В стакане должно отразиться сокращение объемов в какой-то цене. Как минимум, этот провайдер ликвидности перестанет с нами работать, если заметит, что его обманывают. И Atomex исчезнет так же быстро, как появился. Так что есть такой момент.
Сергей Тихомиров: Логично. Нет, я не к тому, чтобы вас пытаться в чем-то уличить, разумеется. Это, скорее, разумеется, только чтобы понять модель безопасности и понять с точки зрения пользователя, чего я могу ожидать по сравнению с DEX или по сравнению с Binance и прочими централизованными игроками. Понятно, что у них разные модели безопасности.
Игорь Мацак: Но фишка в том, что, получается, с точки зрения клиента, ему неважно, с кем он конкретно будет сводиться. Его главная цель в том, чтобы своп был выполнен, чтобы контрагент выполнил свои условия. То есть мне как пользователю Atomex будет, в принципе, неинтересно, от кого конкретно свелась моя заявка. Главное, что моя цена была соблюдена, то есть я в итоге зашел по той цене, которую я отправил. А вот уже с точки зрения провайдеров ликвидности, да, здесь есть, получается, такой нюанс, но я думаю, это все-таки легко определить. Это как с централизованной торговлей, да, то есть у нас как раз наш бэкграунд в плане алгоритмической торговли. Вот если бы я написал какого-то робота, то есть я бы торговал на какой-то бирже, я бы видел, что регулярно есть какой-то обман в плане, то есть меня фронтраннят не по каким-то условиям рыночным, то есть я вижу, что я первый по всем канонам просто, и вдруг меня в итоге кто-то опережает, то я бы ушел с тобой биржи и не стал бы там работать.
Сергей Тихомиров: Понятно. Но говоря про провайдеров ликвидности, мне бы хотелось прояснить еще такой вопрос, кто стоит на другой стороне сделки. То есть можно было себе представить бы ситуацию, где всё абсолютно децентрализованно и просто обычные пользователи, просто кто-то случайно… какой-то пользователь захотел поменять биткоины на лайткоины, а какой-то другой пользователь захотел лайткоины на биткоины, и Atomex их сводит, и они друг у друга меняют эти криптовалюты. Но я предполагаю, что в таком случае будет крайне низкая ликвидность и довольно малая вероятность того, что в один и тот же момент времени такие два пользователя действительно встретятся. То есть нужны какие-то, видимо, сервисы, которые бы профессионально занимались предоставлением ликвидности. Как вы к этому вопросу подходите и откуда у вас ликвидность берется?
Александр Ракунов: Да, на самом деле ситуация даже немножко сложнее, то есть, есть ряд достаточно глубоких проблем, идущих из технологических особенностей и свопов. В частности, для маркетмейкера, если уж прямо углубляться в детали, то маркетмейкер на обычной бирже будет чувствовать себя намного лучше, чем на бирже атомарных свопов, потому что есть некоторый лаг между моментом, когда совершается сделка и цена фиксируется, исполнение, и моментом, когда происходит реальная сделка, то есть это уже момент выкупа, то есть это вторая транзакция, не первая. Соответственно, этот временной лаг значительно увеличивает и влияет на риски провайдера ликвидности. Также есть еще одна проблема, так называемые проблемы опционов, у свопов.
(00:45:09)
То есть Алиса, когда закинула, заблокировала свои биткоины и Боб заблокировал свой эфир, у Алисы, по сути, появляется опцион, то есть она может в течение времени refund’а Боба, она может выбирать, что она сделает дальше – заберет ли она эфиры Боба или она обратно заберет свои подорожавшие биткоины. И Боб с этим, в общем-то, ничего не сможет сделать, ему останется только сидеть и ждать. В плане UX это, конечно, не фатально. Худшее, что может случиться: просто твой эфириум Боба будет заблокирован на пять часов. Но конечно, это неприятно, и если это происходит продолжительное время на дистанции, то это сильно уже влияет на пользовательский опыт. Но плюс, да, абсолютно верно ты заметил, что очень тяжело кому-то встретиться, особенно если мало пока что пользователей, и поэтому, наверное, как и любая другая биржа, мы решили все-таки, что нам нужны особые участники, которые будут первое время выполнять роль провайдеров ликвидности. Но здесь нам очень помог наш бэкграунд, так скажем. То есть у нас достаточно много осталось знакомых и друзей, которые имеют опыт в трейдинге, в различных стратегиях торговли, и также некоторые из них имеют опыт в торговле криптовалютами. Поэтому нам, в общем-то, не составило труда на первое время договориться с некоторым небольшим кругом лиц, которые согласились участвовать и поддерживают ликвидность. И мы уверены, что они будут выполнять все свопы, не будут ждать. Для этого мы, кстати, сделали несколько ступеней защиты. Один из них – это мы, в общем, взяли такой символический депозит с каждого из них. И в общем-то, это сработает, потому что много на этом не заработаешь, на том, что ты будешь исполнять или не исполнять клиентов, то есть поток ордеров просто очень быстро иссякнет, во-первых, во-вторых, ты будешь зарабатывать не на каждой сделке, это какая-то вероятность. И соответственно, там буквально небольшой депозит нивелирует вот эту стратегию.
Сергей Тихомиров: Сейчас, я не совсем понял про депозит. То есть вот эти провайдеры ликвидности к вам приходят и говорят: «Я готов свои, не знаю, 10 биткоинов закоммитить, чтобы если кто-то придет и захочет поменять лайткоины на биткоины, были биткоины, чтобы ему продать. И еще там не знаю, сто лайткоинов я принесу, чтобы, наоборот, тоже работало». Где здесь депозит, куда я депозит кладу и в каком случае я его теряю? Или я его не теряю?
Александр Ракунов: Депозит кладет нам, потому что мы, получается, предоставляем ему доступ в качестве провайдера ликвидности, то есть его приложение, в принципе, точно такое же, но немножко отличается, то есть это как бы вторая часть, вторая половинка. И соответственно, мы взяли депозит себе, и в случае чего мы… В общем-то, и в дальнейшем эта схема, скорее всего, будет нами расширена, то есть мы откроем возможность выставлять лимитные ордера для всех желающих. Но для того чтобы зарегистрироваться, получить доступ, нужно будет сделать небольшой депозит, чтобы получить ключ. Примерно такие у нас сейчас планы на этот счет.
Сергей Тихомиров: Депозит играет роль такую же, как депозит при аренде квартиры: если я что-то поломаю в квартире, депозит мне не вернут. Так и провайдер: если он будет плохо себя вести, ему депозит не вернут.
Александр Ракунов: Да, я думаю, это правильное сравнение, потому что, в общем-то, на всех биржах для маркетмейкеров есть четко описанный договор, которому они должны следовать, то есть у них есть некоторые обязательства по выполнению. Они должны поддерживать обе стороны стакана, там какой-то определенный объем, определенный спред в течение определенного процента времени. Примерно то же самое и у нас. Потому что просто это единственная на самом деле возможность запустить сервис, чтобы он был нормальный для пользователей, чтобы в нем были нормальные условия, чтобы им действительно имело смысл пользоваться.
Сергей Тихомиров: Да, был на недавней конференции (кажется, MIT Bitcoin Expo, доклад, значит, State of crosschain communications), и там было такое шуточное начало. Докладчик выходит, показывает один слайд: «Ну вот, у нас есть B2B-платформа Bisq, и за прошлый месяц там произошло, не знаю, 12 транзакций. Конец доклада. Ваши вопросы». И чтобы такой ситуации не было, очевидно, нужно привлекать каких-то профессиональных людей, чтобы с ликвидностью было получше немного.
Александр Ракунов: Да, совершенно правильно. И со временем, когда поток ордеров становится более сonsistent, то есть он более стабильный, то, соответственно, уже появляется финансовый смысл держать лимитки в стакане.
(00:50:19)
Но нужно тоже заметить, что не любой пользователь на самом деле согласился бы на это, потому что чтобы выставлять лимитки, тебе нужно, чтобы твое приложение было онлайн 24 часа, иначе, когда, например, ты пойдешь спать и выключишь свой компьютер, придет ордер встречный, твоя лимитка будет исполнена, но ты не сможешь завершить своп, потому что твое приложение не будет онлайн. Поэтому это достаточно такая специфическая роль.
Сергей Тихомиров: То есть, если я правильно понимаю, в планах открыть такую возможность – быть этими провайдерами ликвидности, в общем-то, для всех желающих при каком-то депозите, при каких-то условиях, но для более широкого круга, чем сейчас.
Игорь Мацак: Да, и я хочу добавить. Более того, в принципе мы уже реализовали сразу это так, что сейчас можно, по сути, подключиться с любого кошелька и также отправлять лимитки. То есть маркетмейкер использует точно такое же программное обеспечение в точности, только вся разница в том, что он имеет возможность выставлять лимит-ордера, а обычный пользователь не имеет. То есть технически это реализовано, осталось решить только проблему, как раз-таки о которой сказал Александр, в плане депозитов и прочих вещей, чтобы гарантировать сервис для всех. А так технически, получается, мы все уже сделали, то есть остались такие вещи сервисные.
Александр Ракунов: Да. Ну и судя по той динамике, по объему сделок, который у нас идет, то, наверное, до того момента, как мы откроем эту возможность, осталось не так много, потому что в целом она положительная практически из месяца в месяц.
Сергей Тихомиров: Я бы еще хотел спросить про экономику всего этого дела. Как вы на этом зарабатываете или не зарабатываете, как провайдеры ликвидности на этом зарабатывают? Где здесь комиссия прячется и сколько она составляет?
Александр Ракунов: Провайдеры ликвидности традиционно зарабатывают на том, что аск находится выше бида. То есть, если им в моменте поступают сделки в обе стороны, то они, соответственно, забирают спред себе, за исключением майнерской комиссии. И соответственно, сейчас мы не берем каких-то комиссий, потому что в целом этот доход вероятно не очень большой, но впоследствии мы можем, например, брать некоторый ежемесячный fee за просто доступ к возможности выставления лимиток и поддерживания ликвидности.
Сергей Тихомиров: То есть предполагается, что вам будут платить потенциально провайдеры ликвидности, а уже они будут зарабатывать с пользователей, исходя из разницы курсов покупки и продажи.
Александр Ракунов: Ну да. Конечно, мы рассматриваем разные варианты. То есть, в принципе, брать комиссию с каждой сделки с пользователей, как тейкер фий, как на биржах, тоже вариант, но из-за того, что это все через транзакции и, в общем, не очень удобно с каждой сделки еще какую-то отдельную транзакцию забирать себе. В принципе, это, наверное, не оптимально, потому что ведет к дополнительным расходам. И в целом нам просто сейчас более интересно, чтобы у нас было больше пользователей, чтобы люди понимали, как это работает, чтобы мы могли получить отзывы и сделать этот сервис доступным для большего количества пользователей. Вот так.
Игорь Мацак: Ну и в целом, я думаю, мы считаем, что круто, когда ты заходишь, то есть ты совершаешь одну и ту же сделку с разными объемами и при этом платишь только майнер fee. То есть не так, как это происходит сейчас на централизованной бирже, где есть какой-то процент с объема. Если я хочу поменять через атомарный своп там миллион или я хочу поменять десять тысяч, я одинаково заплачу fee за транзакции, и всё, не больше и не меньше.
Александр Ракунов: Плюс есть небольшое, наверное, преимущество в том, что у нас единые лимитки сейчас стоят, то есть нет такого понятия, как ты видишь лучшую цену, но нажимаешь Buy, например, на два биткоина, и твоя цена, реально она проваливается внутрь стакана, потому что близкая ликвидность, она тонкая, а дальше стоят уже крупные лимитки, которые ты на самом деле исполняешь. То есть у нас можно зайти, и ты сразу видишь, в какую цену ты исполнишься.
Сергей Тихомиров: Да, но эта цена, тем не менее, может отличаться потенциально значительно от некоторой средней рыночной цены. Но я к тому, что идея про то, что пользователь не платит комиссию, а платит фактически разницей фактического курса и некоторого рыночного курса. То есть правильно ли я понимаю, что по сути, комиссия все-таки есть, но она в каком-то смысле скрыта просто за курсом, а не высвечена напрямую в процентах или в фиксированной какой-то сумме?
(00:55:13)
Александр Ракунов: Ну да, в общем, наверное, это правильно, потому что, в принципе, когда на централизованной бирже ты совершаешь сделки, то ты тоже платишь некоторую комиссию, которая находится внутри спреда, просто ты платишь ее, наверное, не бирже, а ты платишь ее провайдерам ликвидности. Биржа с них тоже снимает комиссию как с мейкеров, пусть она меньше. Потом ты еще бирже должен заплатить за вывод обычно. Соответственно, она складывается из некоторых слагаемых. У нас просто это одно слагаемое, и это то, что ты видишь просто в моменте в приложении.
Сергей Тихомиров: Хорошо. Давайте про такую еще несколько более техническую поговорим штуку. Расскажите, пожалуйста, про параметры ваших контрактов, которые Atomex создает: какие там используются величины тайм-аутов, какие-то там есть, может быть, ограничения на объем транзакции и какие-то технические детали, как вы конструируете этот протокол, как вы его переводите на язык контрактов в биткоин-скрипте или в эфириум-скрипте, или в других блокчейнах, которые вы поддерживаете.
Игорь Мацак: Ну, в общем-то, есть на самом деле несколько базовых операций в атомарном свопе. Как минимум это lock средств, как минимум это redeem, то есть когда одна из сторон выкупает средства другой стороны, предъявляя секрет, и как минимум refund, то есть когда что-то происходит не так и пользователь просто возвращает свои средства обратно. Соответственно, когда возникает вопрос о реализации атомарного свопа для какой-то конкретной валюты, нужно реализовать эти три основные базовые операции. Вот отсюда получается и как раз набор методов смарт-контракта. Если вот конкретно рассматривать эфировские, да и тезовские контракты, они, по сути, почти близнецы, то есть технически они почти не отличаются между собой. Есть метод initiate, когда пользователь, по сути, присылает на контракт свои средства, плюс указывает время сразу, на которое он лочит свои средства там, причем это время может быть проверено противоположной стороной, чтобы, не дай Бог, такого не получилось, что Алиса заводит средства на эфириум-контракт, указывает, что она через минуту их может вывести, и если Боб этого не проверит, то Боб может остаться без своих средств. То есть эта информация тоже должна проверяться. Значит, это refund-time, получается, параметр, ну и, собственно, сам хэш секрета. По сути, хэш секрета – это некий идентификатор свопа, если так по большому счету говорить, то есть по хэшу я могу однозначно идентифицировать своп.
Сергей Тихомиров: Тайм-ауты сколько примерно занимают – это минуты, часы, не знаю?
Игорь Мацак: Часы, это часы, безусловно. И во многом это из-за биткоина. То есть, в принципе, это можно подвести под конкретную пару торговую и выбирать адаптивные какие-то временные промежутки. Но у нас сейчас везде одинаковые, по-моему, я пока не выставлял разные, потому что бывают ситуации, к сожалению. Ты выставил отличный fee на биткоине, отправляешь транзакцию, и она повисает, и это ведет к рискам атомарного свопа. Из-за этого приходится выставлять большие time-lock. Сейчас, если не ошибаюсь, time-lock для Боба 6 часов составляет, а для Алисы – 12.
Сергей Тихомиров: Это зашито на уровне кошелька или это пользователь может как-то подкрутить при желании?
Игорь Мацак: Это зашито в кошельке, и это параметр, который не стоит, я думаю, выносить в пользовательские конфигурации, потому что это напрямую влияет на безопасность. Либо хотя бы гарантировать, чтобы пользователь не вводил меньшее значение, потому что есть какое-то базовое значение, которое можно выставить, но не более.
Сергей Тихомиров: Просто опять-таки, сравнивая с Lightning, там тоже есть некоторые значения по умолчанию этих тайм-аутов, но их можно в конфигурационном файле прописать, то есть, наверное, есть там есть какой-то sanity check, чтобы совсем они не были отрицательными или что-то в этом духе, но, в принципе, их можно менять.
Игорь Мацак: Ну да. Но во многом ещё это может зависеть, в принципе, от того, какой размер сделки. Если я ставлю на кон, так сказать, то есть если я пытаюсь менять большую сумму какую-то, то да, имеет смысл, скорее всего, ставить time-lock больше, потому что это снижает мои риски как участника сделки. Безусловно, да. Мы рассматриваем такую штуку, и я думаю, в скором времени имплементируем. То есть у нас, в принципе, достаточно много планов, что нужно добавить, и в том числе это динамический time-lock. Это что касается метода initiate, то есть когда кто-то инициирует свою часть сделки. Есть еще очень важный параметр тоже, который, в принципе, заполняется пользователем – так называемый reward for redeem. Я сейчас объясню, в чем проблема. Например, если я покупаю эфир, хочу купить эфир, у меня есть биткоин, то есть я отправил свой биткоин, я вижу на смарт-контракте мой эфир, который я должен забрать.
(01:00:10)
Но тут возникает проблема, что у меня-то эфира нет вообще никакого, а я должен совершить в эфире транзакцию, чтобы забрать свои средства со смарт-контракта. Вот и проблема. Проблема эта старая, называется first token problem. Но, в принципе, она имеет решение за счет, того что тот, кто не владеет токеном, может сделать некий reward, то есть какую-то маленькую награду незначительную, любому желающему, который просто может вызвать redeem-транзакцию за него. Вот и все. То есть сейчас по факту redeem, refund-транзакции может вызвать любой участник сети абсолютно, при этом средства гарантированно возвращаются контрагенту, то есть никому другому, и при этом, естественно, это имеет смысл делать, только если есть какой-то reward. И мы даже сделали, в общем-то, статью об этом, если не ошибаюсь, на «Медиуме», то есть мы описали этот механизм. Сейчас в такой ситуации это делает наш сервис, то есть мы выкупаем, если есть reward. Мы думали, что мы достаточно долгое время только и будем это делать, но вдруг появился какой-то парень, который, видимо, имплементировал эту штуку, и он, видимо, обнаруживает нашу транзакцию reward первее нас либо, возможно, просто мониторит все возможные вызовы по всем контрактам, которые приносят какой-то профит вызывающему. И он просто нас зачастую опережает и забирает reward. Интересно то, что, в принципе, мы думали, что только мы будем этим заниматься, а по факту уже нашелся человек, который быстренько накидал какой-то смарт-контракт, какой скрипт и делает это за нас.
Сергей Тихомиров: Это очень интересно. То есть фактически такой фронтраннинг получается или такой рынок выстраивается.
Игорь Мацак: Да, это проблема. Мы как раз и думали, что это будет в итоге какой-то фронтраннинг, кто первее вызовет метод смарт-контракта, тот, по сути, и заберет reward. И мы не думали, что это наступит через неделю или через две недели, просто как мы это имплементировали. То есть почти мгновенно появился тот, кто забирает его.
Александр Ракунов: Да, это достаточно такая невероятная история, которая нас на самом деле воодушевила, то есть мы эту возможность, этот функционал разработали просто как гипотезу, что в дальнейшем, допустим, мы во все кошельки добавим такую возможность, что если кошелек онлайн, то он мониторит вот эти транзакции, ищет возможность сделать выкуп для кого-то за небольшое вознаграждение, и тогда это, в общем, будет работать достаточно хорошо, потому что чтобы тебе не беспокоиться и не делать redeem самому, тебе достаточно, чтобы в сети находился хотя бы один нормальный кошелек. Это достаточно такая схема рабочая. Но мы предполагали, что это случится в каком-то очень таком светлом будущем, и достаточно серьезно и приятно были удивлены, когда увидели, что DeFi в эфире развился настолько уже сейчас, что такие люди нашлись, даже не использующие, в общем-то, кошелек Atomex.
Сергей Тихомиров: Да, отличная история. Но давайте мы, продолжая как раз тему комиссий и кто за это все платит, в смысле награды майнерам, насколько транзакции, которые получаются в результате атомарных свопов, сильно отличаются или сильно больше по размеру, по логике, чем стандартные переводы эфиров или биткоинов? Насколько большие комиссии приходится платить пользователям, по сравнению с обычными транзакциями в этих блокчейнах?
Александр Ракунов: Ну, что касается биткоина, то там комиссия очень сопоставимая, то есть она там больше немножко. Другой вопрос, что биткоин – это, конечно, тот чейн, в котором комиссии сами по себе очень большие, то есть сейчас там около трех долларов нужно заплатить за транзакцию, и этого в принципе не избежать. То есть, если ты собираешься пользоваться биткоином, то тебе придется платить эти комиссии, хоть ты на биржу отправишь, хоть куда. Что касается других, ты, соответственно, должен, если ты покупаешь биткоин или продаешь биткоин, то как минимум одну такую комиссию ты заплатишь. Что касается других валют, например, эфир, в нем комиссия обычно около полдоллара, но сейчас все комиссии, например, сегодня они выше, чем обычно, поэтому все конфиги обновлены, и она там составляет один доллар за две транзакции. То есть ты, соответственно, заплатишь, например, 70 центов и комиссию за транзакцию с другого чейна. Вот так. А Tezos здесь, в общем-то, очень дешево стоит, то есть там комиссии около 10-ти, может быть, даже 5-ти центов. Но за токены там где-то, наверное, 15 центов. За токены в эфире, соответственно, там тоже в полтора раза больше, чем обычная транзакция, обычный exchange с эфиром. Вот примерно такие цифры.
Игорь Мацак: Но касательно биткоина я могу чуть-чуть уточнить, поскольку все-таки это самая популярная валюта.
(01:05:09)
Собственно, у нас есть две основные транзакции, которые нужно выполнить. То если, я продаю биткоин, то я сначала делаю lock-транзакцию. Она, в принципе, ничем не отличается от обычной транзакции в сети, то есть это обычно payment to script hash, то есть я заплачу, в принципе, классическую комиссию, как обычный перевод. Но другое дело, конечно, с redeem-транзакцией выкупа. То есть там целый скрипт надо предъявить, то есть когда ты открываешь подпись. Соответственно, в целом, конечно, это не какой-то прям в разы рост в плане размера транзакции, потому что у нас как минимум один вход, один выход используется, то есть уже здесь есть некая экономия. Плюс, в принципе, если размер там обычной транзакции, допустим, 214 байт, то redeem-транзакция будет занимать у нас 300 байт, условно, то есть, опять же, рост в полтора раза где-то составляет. И здесь на самом деле тоже есть такой момент, мы ждем, не дождемся, когда уже, наконец-то, введут новые стандарты биткоин, которые позволят совершать такие атомарные транзакции, как обычно, то есть речь идет о МАST, о подписях Шнорра и, соответственно, Taproot. Да, там как раз появится возможность сделать так, что снаружи этот redeem будет выглядеть, по сути, так же, как и обычная payment-транзакция, то есть занимать такой же размер, и здесь пользователи смогут сэкономить, получается, в полтора раза меньше комиссию заплатить.
Сергей Тихомиров: Отлично. Это как раз отвечает на один из будущих заготовленных вопросов, ждете ли вы чего-то хорошего от Taproot и Шнорра. Вот видим теперь мы, что ждете. Это вопрос от слушателей из чата. Спасибо большое участникам нашего ББ-чата за то, что помогли подготовиться мне к этому выпуску и накидали очень ценных вопросов. Давайте я еще один вопрос задам, который занимает наших слушателей. Это про использование атомарных свопов в ОТС-сделках. Есть ли ОТС-рынок для свопов и используют ли там киты эту технологию для каких-то больших транзакций, что вам об этом известно?
Александр Ракунов: На самом деле по поводу ОТС мы задумывались и сами. Но рынок, наверное, только начинает формироваться. Я знаю, что, например, Liquid Network достаточно активно использует биржи для транзакций между собой. Это немножко не то, это не свопы. Но по поводу свопов, если не ошибаюсь, такой проект Arwen недавно получил три миллиона от разных VC на как раз то, чтобы реализовать протокол обмена на свопах, и причем они ориентируются на крупных игроков, то есть, по сути, это тот же ОТС и есть. То есть, с нашей точки зрения, свопы как нельзя лучше, в принципе, для больших сделок подходят.
Сергей Тихомиров: Раз зашла речь об Arwen, тоже хотел о них попозже спросить, но раз уж ты их упомянул, какие-то есть принципиальные отличия по технологии между Atomex и Arwen?
Александр Ракунов: Честно говоря, прям так сильно углубиться не смогу, к сожалению. Но возможно, они делают какие-то дополнительные проверки на айдентити. Честно говоря, не буду лучше, наверное, фантазировать на этот счет. Но в целом поинтересоваться ими, наверное, стоит.
Сергей Тихомиров: Ну да, тогда адресуем слушателей к документации. Действительно, несколько месяцев назад были новости про то, что они получили инвестиции. Мне кажется, что у них еще какой-то… я тоже не очень глубоко разобрался, но, по-моему, у них как бы в дополнение к технологии атомарных свопов еще есть некоторый сетевой протокол, чтобы это можно было между пирами какой-то делать обмен сообщениями, чтобы устанавливать такого рода свопы и их разрешать. Но здесь я полностью не берусь судить. У авторов много академических регалий, они много пейперов написали на эту тему, но конкретно, что именно их выделяет в этом ряду, наверное, мы разберемся потом.
Давайте, возвращаясь к Atomex, хотел спросить вас по поводу каких-то метрик вашего проекта, если вы можете их раскрыть, количество пользователей, сделок, кто ваши пользователи, что на что меняют и в каких количествах. Что-то если можете раскрыть, то нам было бы очень интересно.
Александр Ракунов: Да, но мы, наверное, такой растущий пока что проект. Наверное, по объемам мы озвучить можем, они видны в блокчейне. А если кому-то интересно, может посмотреть. В целом у нас за месяц, наверное, максимально было пока что полмиллиона долларов оборот именно в свопах, то есть объем. За, наверное, полгода работы у нас, наверное, если поделить так, среднее какое-то найти, хотя оно очень нестабильное, то есть у нас иногда за день большой объем, иногда его нет в течение даже, может быть, дней. Но примерно в день получается где-то шесть тысяч оборот.
(01:10:10)
Но по скачиваниям у нас, наверное, Игорь скажет точнее. Но надо заметить, наверное, что все-таки именно вот эта технология свопов, так скажем, не очень доступная для новых пользователей, которые недавно увлекаются или у которых недавно только появились криптовалюты, то есть здесь нужно небольшое техническое понимание того, что происходит, иначе ты просто не будешь видеть какого-то принципиального профита в том, чтобы использовать этот сервис. Мы ориентируемся больше на тех, кто не торгует каждый день, там intraday какие-то со stop-loss’ами или какие-то сделки совершает, а именно заходит иногда, у него, допустим, средства лежат на холодных кошельках в основном, он не очень хочет, ему не очень комфортно регистрироваться на биржах, заводить на биржах, держать там деньги, то есть он просто хочет иногда совершать какие-то операции (допустим, поменять объем) и дальше, в общем, ходлить. Наверное, такие гики – это, наверное, наша ЦА, то есть здесь мы от кошельков, наверное, отличаемся, от бирж отличаемся. Ну, конечно, DeFi – это как раз наша сфера и это как раз то, куда мы планируем дальше развиваться, в том числе.
Сергей Тихомиров: Может быть, статистика какая-то по наиболее популярным парам, что на что обычно меняют?
Александр Ракунов: Да, еще забыл сказать, что у нас только под Windows приложение. Соответственно, сейчас только в тестовом режиме мы недавно запустили как раз web-версию, iOS и MAC, поэтому, наверное, это тоже влияет, но тем не менее. По поводу вопроса…
Сергей Тихомиров: Что на что, какие валюты чаще всего меняют на какие?
Александр Ракунов: Поскольку мы достаточно глубоко интегрированы в экосистему Tezos, то есть там нас знают, то, соответственно, у нас достаточно большой объем с Tezos именно. Но, конечно, поскольку DeFi в эфире очень развит, то, соответственно, с него тоже идет трафик. В целом, наверное, такая ситуация. Лайткоин не очень популярен, например.
Игорь Мацак: Да, я тут могу уточнить. Но самый популярный, естественно, наверное, эфир-биткоин и тезос-эфир, тезос-биткоин, потому что это базовые валюты, то есть больше всего сделок по ним совершается. Да, вот в плане лайткоин интересно Александр отметил, потому что вроде как капитализация большая (если не ошибаюсь, седьмое место на CoinMarketCap), но при этом его никто особо не покупает. То есть он, в принципе, не интересен в этом плане. Основной упор – это все-таки три базовые валюты. Для нашего кошелька сейчас это тезос, биткоин и эфир.
Сергей Тихомиров: Да, хотел еще пошутить про то, что вы идете по стопам Сатоши в том смысле, что биткоин первоначально тоже был Windows only, как и Atomex, что немного, мне кажется, для меня было странно, потому что я вообще ожидал увидеть мобильное приложение прежде всего. Но если мы говорим про десктопное приложение, дальше я ожидал увидеть десктопное приложение или в Web, или для Linux, или MacOS как более таких Security focused-платформах, наверное. Вы почему Windows? Из-за популярности или потому, что вам легче разрабатывать на Windows?
Игорь Мацак: Но здесь моя вина в этом есть, скажем так. Я, в принципе, больше работаю под виндой. Когда я начинал разрабатывать Atomex, в принципе, я изначально заложил уже кроссплатформенную логику, то есть Atomex сейчас, по сути, это кроссплатформенная библиотека и, по сути, клиенты над ней для всех платформ. И первый свой клиент я сделал именно на винде. Я вообще, кстати, рассчитывал, что я смогу легко прям портировать, дешево, полагаясь на кое-какие преимущества в плане Microsoft, который он давал. То есть я не занимался портированием, то есть мы, точнее, не занимались портированием долго, потому что мы начали обкатывать саму технологию. Мы сконцентрировались именно на том, чтобы свопы работали прям правильно, гарантированно и не было никаких проблем. И вот сейчас как раз, когда мы пришли в ту точку, когда у нас все работает на винде, то есть мы понимаем, как это работает, мы понимаем все подводные камни, мы, в принципе, понимаем, как должен быть построен UX и интерфейс пользователя, то есть сейчас как раз мы логически выкатываем все остальные версии. То есть, по сути, это те же самые как бы клиенты над нашей коровской библиотекой. Мы, по сути, так же на стыке Microsoft находимся, на стыке .Net, то есть у них есть такая достаточно популярная платформа, как «Саморин», которая позволяет, по сути, очень легко портировать, что для меня было удивлением.
(01:15:09)5
Я ожидал, если честно, гораздо больше проблем с этим, но по факту сейчас у нас разработчик делает iOS-приложение, и оно, в принципе, сразу сходу заводится на Андроиде, что для меня было вообще прям… То есть для .Net-разработчика еще 10 лет назад это было, наверное, чем-то невероятным просто, что есть, но это завелось. И для меня тоже стало удивлением небольшим, что у нас в web сразу завелась тоже Core-библиотека, то есть у нас, по сути, компилируется на WebAssembly, и это работает. То есть, по сути, вся бизнес-логика… то есть идея сработала, что кроссплатформенная бизнес-логика – это прям здорово.
И сейчас из-за того, что Windows – по факту, да, по-моему, 60% рынка, если не ошибаюсь, десктоп-приложений – это Windows, даже больше, наверное. Там даже, по-моему, до сих пор Windows XP еще забирает чуть ли не 25 % рынка. Для меня это тоже была новость, но это так. То есть десятка вытеснила уже, конечно, давно всех (Windows 7, Windows XP), но еще остаются пользователи, которые, видимо, как динозавры, не хотят обновляться. Но, конечно, есть такой момент, что целевая аудитория, она, наверное, больше все-таки маководы. То есть, во-первых, это по определению люди, наверное (без обиды для пользователей Windows), это люди, у которых есть деньги, и поэтому да. Вот сейчас у нас определенные ожидания есть по поводу Мac-платформы, как минимум. И кстати, вы, по-моему, говорили, что у вас Ubuntu, если не ошибаюсь.
Сергей Тихомиров: У меня до Ubuntu… Я обычно в Ubuntu работаю, но Windows у меня тоже есть. Я из нее записываю подкасты в частности, потому что микрофон не опознается в Ubuntu внешний, вот этот. Но а так в основном Ubuntu.
Игорь Мацак: И у нас сейчас разработчик, который собрал сейчас недавно сборку под Мас, то есть по факту сейчас мы также можем легко под Linux выпустить. В принципе, я думаю, мы это сделаем обязательно, потому что люди интересовались. Есть как раз гики, о которых говорил Александр, которые любят Linux, сидят на нем постоянно и хотели бы тоже иметь такой кошелек. И получается, что сейчас это теперь сделать дешево стало, и это, конечно, здорово.
Сергей Тихомиров: Отлично, тогда будем ждать появления Atomex на других платформах. Я бы хотел перейти еще к такой теме, которой я занимаюсь, собственно, профессионально в своих исследованиях, которая мне поэтому очень интересна, про приватность. Какие у нас есть здесь проблемы по отношению к приватности в атомарных свопах и насколько какие-то сервисы вроде Chainalysis или прочих таких компаний могут отслеживать атомарные свопы по их отпечатку на блокчейне. Что вы на этот счет думаете? Казалось бы, у них есть одинаковый хэш, и можно было бы проследить, что в биткоине такой хэш, смотрите, в эфириуме такой хэш – значит, это атомарный своп. Как про это думать?
Игорь Мацак: Да. Проблема… Вот одновременно и достоинство, и недостаток атомарных свопов – это анонимность, как бы это странно ни звучало. С одной стороны, я не прохожу никакой KYC, то есть я никому не показываю свой паспорт, никакие фотографии не делаю, я спокойно создаю кошелек и меняю, то есть совершаю транзакции. Это с одной стороны. Но с другой стороны, да, получается, что по id свопам можно в теории, то есть, по сути, можно написать даже тулзу, которая пробежит по всем блокчейнам и просто соберет историю моих операций, и может сделать какой-то вывод о том, что я куда меняю. Это факт, да. Но как раз в Bitcoin, кстати, опять же, возвращаясь к технологиям, которые мы ждем очень сильно, то есть это те же самые Taproot, подписи Шнорра и так далее, они позволяют, в общем-то, скрыть (конкретно в случае с биткоином), скрыть, по сути, назначение транзакции, не скрывать как таковой вот этот скрипт, и таким образом мы сможем, я думаю, повысить конкретно приватность в биткоине прям значительно, то есть из ничего сразу, так сказать, почти стопроцентная. А касательно смарт-контрактов – да, здесь чуть-чуть сложнее. По факту ведь всегда можно отследить вызов смарт-контракта с какого-то конкретного кошелька, понять, куда идет internal транзакция с него. Да, здесь тоже еще предстоит подумать точно, как это решить, потому что такая проблема есть. Я не знаю, насколько она существенная, то есть насколько людям неприятно, что кто-то может отследить их транзакции. Наверное, все-таки неприятно, что кто-то видит, что я, допустим, регулярно раз в день совершаю какой-то обмен. Но мне кажется, что если уж в биткоине эта проблема решается, то есть будет решена скоро, я так понимаю, что, когда, наконец-то примут все стандарты и все обновятся, то и в смарт-контракте мы тоже найдем какое-то решение, которое позволит нам тоже использовать, я думаю, схожие какие-то вещи, каким-то образом повысить анонимность для пользователей конечных.
Сергей Тихомиров: Я хотел бы прояснить все-таки с Шнорром. Я понял, что я не до конца понимаю. Все-таки, когда я делаю redeem, мне же нужно секрет раскрыть Bitcoin-блокчейну. Шнорр позволяет даже это запихнуть внутрь подписи и вообще никак не раскрывать? Я понял, что у меня нет полного понимания, что именно нам обеспечивает Шнорр, потому что в моем представлении Шнорр – это было про агрегирование подписей, то есть можно сделать мультисиг, например, такой, по которому не будет видно, что он мультисиг.
(01:20:10)
Но неужели можно сделать контракт, который будет содержать хэш, по которому не будет видно, что он содержит такой хэш, я правильно понимаю?
Игорь Мацак: Нет, тут скорее даже не в Шнорре дело, а скорее в технологии Taproot, потому что там с подписями вся игра идет. Насколько я тоже понимаю, то есть я, возможно, тоже не обладаю прям полноценным пониманием этого, но речь идет именно о итоговой подписи, которая попадает в транзакцию, и она может быть изменена за счет как раз Taproot. Да, сама по себе подпись Шнорра, она не дает, то есть это часть всего механизма, это не единая какая-то вещь, которая позволяет сразу повысить анонимность. Вот здесь именно вся идея в Taproot, насколько, опять же, я понимаю. То есть там есть какие-то пороговые подписи, то есть какие-то промежуточные, и есть итоговая подпись, когда какой-то именно тот сценарий, когда мы достигаем, так сказать, консенсусов в свопе, то есть противоположная сторона собирает свои средства, то есть этот сценарий конкретно можно скрыть. А какие-то другие сценарии, например, refund, когда Боб в итоге… или Алиса, например, не осуществила транзакцию, она хочет забрать, они как раз уже будут открыты. Там, насколько я помню, когда я читал описание, это было достаточно давно уже.
Сергей Тихомиров: Да, у меня такой же примерно представление. Мы про это говорили, кстати, в одном из предыдущих выпусков, про то, что если у нас есть несколько вариантов исполнить скрипт, то мы показываем только тот, который реально сработает, и не раскрываем все остальные. Но при этом, если я хочу забрать свою часть атомарного свопа, я же все-таки должен раскрыть ту ветку, которая говорит: «Я предъявляю секрет и забираю, соответственно, залоченные средства». Вот, скорее, вопрос в том, позволяет ли Шнорр с Taproot избежать раскрытия секрета он-чейн, или все-таки нет?
Игорь Мацак: Все, я вспомнил. Там не только в Taproot дело. Там еще есть одна технология, которая называется Graftroot. По-моему, как раз она именно решает эту проблему, то есть именно как раз сценарий, когда есть совместное закрытие, то есть единственный сценарий, который ожидается в результате свопа, вот он как раз конкретно скрывается, остальные все остаются. Не Taproot это делает, да. В случае Taproot, все правильно Вы говорите, что в итоге видно, какой скрипт там есть, и когда своп произойдет, все в итоге поймут, кто с кем какой обмен совершал. Это делает другая технология, да. Я, к сожалению, не помню точно деталей, но это не Taproot. Он как часть этой технологии используются также.
Сергей Тихомиров: О’кей, будем разбираться. Надеюсь, что, так или иначе, это обновление принесет свою пользу, будь то эффективность, и надеюсь, что приватность тоже. И говоря про приватность, не смотрели ли вы на возможность добавления анонимных криптовалют, таких как Monero или Zcash, или Grin, или Beam? Насколько это теоретически возможно и насколько это практически оправдано добавить их в Atomex?
Александр Ракунов: Да, но это такой достаточно неоднозначный вопрос. Отвечая на первую его часть, возможно ли это, насколько последний раз я обновлял информацию, это возможно. Для Монеро – в нем, как известно, невозможны хэши time-locks, но за счет zero knowledge proofs (вот недавно в интервью с Флаффи-пони это обсуждалось), то есть, в принципе, это сделать можно. А по поводу MimbleWimble – тоже там они занимаются разработкой и развитием скриптов. Но насколько я понимаю, это можно сделать и сейчас. И с помощью мультисига, time-lock реализуется тем, что можно просто напрямую записать высоту блока, при котором транзакция сможет быть исполнена. То есть технически это все сделать можно. Вопрос в том, хотим ли мы это делать и для кого это было бы интересно, и сможем ли мы найти контрагента, который стал бы принимать, допустим, какой-то эфир, стал бы продавать Монеро людям, которые именно хотят его приобрести через децентрализованный способ обмена, без KYC и без всего. С какой целью они хотят это сделать, в общем-то, не совсем понятно. И как мы заставим провайдера ликвидности получать вот эти вот эфиры – это на самом деле не очень понятно. В принципе, это здорово. В целом регуляторы, конечно, в последнее время очень так агрессивно себя ведут, и DEX, конечно, должны развиваться. Тот же Binance, наверное, неспроста развивает тему с DEX, чтобы иметь, видимо, дополнительные аргументы в возможных спорах будущих с регулятором, в каких-то недопониманиях.
(01:25:10)
Технология хорошая, но мы все-таки больше ориентируемся на людей, которые беспокоятся о безопасности своих монет, нежели на людей, которые… То есть мы не стремимся уводить технологию в такое глубокое подполье, если так можно выразиться.
Сергей Тихомиров: Правильно ли я понимаю, что с точки зрения провайдера ликвидности мне не хочется принимать потенциально грязные эфиры или не хочется принимать монеро, которые там все потенциально грязные (в кавычках), потому что мне потом будет сложно их продать на централизованный площадке или продать в каких-то… Ну да, мне же, наверное, не нужны эти монеты сами по себе, мне хочется их кому-то дальше перепродать в каких-то других местах. И опасение состоит в том, что у меня их откажутся принимать в тех местах.
Александр Ракунов: Да, то есть это не плохо, но это немножко увеличивает риск того, что появится какой-то значительный процент токсичного трафика. Пускай он будет небольшой, но тем не менее, он может достаточно сильно в какой-то момент вырасти, и это, конечно, не очень желательно. Но такую возможность мы тоже рассматриваем. Если таких запросов будет много, то мы будем серьезно об этом задумываться. Вот сейчас у нас, например, hd-кошелек, и, в принципе, можно для каждого нового свопа использовать новый адрес. Это, в принципе, повысит уровень анонимности, нельзя будет объединить транзакции в одной entity.
Сергей Тихомиров: Погоди, то есть ты хочешь сказать, что по дефолту они на один и тот же адрес используются?
Александр Ракунов: Ну, можно сделать и так, и так. Просто суть в том, что на примере пользователей мы не видим такого распространенного юзкейса, что именно эту возможность активно используют, то есть не такой уж большой процент аудитории это интересует.
Сергей Тихомиров: В моем представлении, по крайней мере в мире Bitcoin и в мире UTXO-модели это такая очень стандартная практика, которую, мне кажется, странно перекладывать на выбор пользователя, потому что пользователь должен об этом подумать, должен вообще понимать, что такая проблема есть и так далее. Мне казалось, правильнее было бы просто по дефолту каждую новую сделку генерировать новый адрес. Какие причины так не делать?
Александр Ракунов: Да, совершенно верно. Да, я неточно выразился здесь, должен извиниться. В Bitcoin так и происходит. В Ethereum у нас, соответственно, тоже есть такая возможность, и в Tezos. В Tezos это достаточно удобно, потому что можно делегировать с разных адресов. Это здорово, у тебя один сид, но ты делегируешь разным бейкерам. Но при этом в Ethereum и в Tezos эту возможность не используют в полной мере, по крайней мере мы такого не наблюдаем.
Сергей Тихомиров: Говоря про приватность и про потенциальные какие-то не совсем легальные способы использования данной технологии, я заметил, что у вас на сайте написано, что, хотя вы не требуете регистрации никаких документов, тем не менее, вы пишите, что все адреса проверяются на предмет подозрительного происхождения средств. Вот можете как-то пояснить, что за этим скрывается и какие будут последствия, если, допустим, я приду на ваш кошелек и вы посчитаете, что мои средства имеют какое-то подозрительное происхождение?
Александр Ракунов: Наверное, здесь больше со стороны пользователя это интересно, потому что он вступает в своп с неким контрагентом, которого он не знает. И здесь, в принципе, эта функция выполняется, так скажем, бесплатно, потому что для провайдеров ликвидности их монеты всегда поступают с бирж, то есть они априори чистые, и пользователь может об этом не волноваться. Но если, соответственно, пользователь попытается слить, так скажем, какие-то темные монеты, то, соответственно, провайдер ликвидности здесь будет пользоваться черным списком, и, в общем-то, это его риск. И максимум, что даже если он пропустит, он в следующей транзакции уведёт их на биржу и у него будут какие-то проблемы, он узнает, что этот пользователь, соответственно, ему отправил что-то не то, и в будущем у нас, соответственно, будет возможность этот функционал сделать более… Потому что сейчас он в таком полуавтоматическом, так скажем, режиме, но, соответственно, мы можем купить подписку на всякие услуги компаний, которые этим занимаются профессионально. Суть в том, что пока что это экономически не имеет смысла, потому что подписка не такая уж дешевая, а прецедентов таких, в общем, они пока покрываются теми методами, которые мы имплементировали.
(01:30:07)
Сергей Тихомиров: Но сейчас-то проверка происходит на уровне вас как администраторов сервера Atomex или это происходит на уровне провайдеров ликвидности?
Александр Ракунов: Но провайдер ликвидности, получается, его приложение, оно видит, с какого адреса поступила транзакция, и, соответственно, приложение маркетмейкера тоже не доверяет серверу, поэтому оно все решает само.
Сергей Тихомиров: Я скорее про то, что эти черные списки – откуда они берутся, кто их составляет?
Александр Ракунов: Ну, в общем, мы составляли их, как могли, на данный момент. Возможно, они не такие полные, как у сервисов, которые занимаются этим профессионально, но тем не менее, на данный момент, я думаю, это наши запросы покрывает.
Игорь Мацак: То есть, условно, на том же самом Etherscan, благо, то есть ты можешь увидеть, что это транзакция, ты видишь, что средства, украденные оттуда-то, оттуда-то. То есть они даже дескрипшены какие-то предоставляют. И здесь как раз срабатывает тот самый момент, что атомарный своп выполняется в несколько операций, и ты просто, увидев такую транзакцию, ты можешь не выполнять redeem как минимум, и всё. По сути, какие-то темные монеты были заведены на смарт-контракт, но их не выкупила противоположная сторона, как раз взвесив все за и нет, и всё, и в итоге тот, кто пытался их продать, он остается ни с чем и забирает обратно свои средства через time-lock. То есть идея такая, да. Здесь в какой-то степени помогает то, что существуют какие-то временные задержки в плане транзакции, то есть, как правило, возникает какое-то время, когда ты можешь спокойно, вообще без какого-то ажиотажа проверить такие вещи. И да, как Саша сказал, что, в принципе, есть сервисы, которые этим занимаются, у них есть API. По факту ты можешь сделать запрос на конкретный адрес, на конкретную транзакцию с какой-то глубиной истории, понять происхождение средств, можно им доверять или нет, и просто на этапе транзакции ты сразу отбраковываешь такого клиента, и все.
Сергей Тихомиров: Понятно. То есть это наверняка не новость для многих слушателей, но Fungibility у нас не то, чтобы нет, конечно, но она достаточно сильно подорвана сервисами вроде Chainalysis, и разные биткоины имеют разную историю и разный потенциал к тому, что их примут или не примут на определенных площадках. Так что это нужно, видимо, иметь в виду и как-то, не знаю, разработчики протоколов на это тоже должны обратить внимание, как-то это, возможно, можно исправить, потому что мне такая ситуация не очень нравится. Не то, что потому что я топлю за черные рынки, а скорее потому, что просто сколько тратится ресурсов на всех сторонах (и ваших ресурсов, и маркетмейкеров и бирж) на то, чтобы разрабатывать эти фильтры, разрабатывать эти черные списки. Они вместо этого могли бы новые фичи пилить и новые какие-то классные протоколы делать. Они вместо этого делают довольно тупую работу, мне кажется, то есть просеивать эти списки, пытаться угадать, чего регулятор от них потребует. Не знаю, как вы на это смотрите?
Игорь Мацак: Ну да, очень много эвристики в этом процессе. Очень много эвристики. И у меня даже была идея, то есть я, получается, на досуге преподаю в своем родном ВУЗе, веду программирование C++ у студентов, и у нас была идея с моими коллегами дать им в качестве курсового проекта создание сервиса, который как раз-таки будет каким-то образом, то есть какими-то алгоритмами, пусть эвристическими, но попытаться искать какую-то историю, мониторить, возможно, всякие торы и так далее. Потому что самим не хочется на это время тратить совершенно абсолютно, у нас куча других задач, куча каких-то интересных моментов, и сейчас еще заниматься черными какими-то битками и так далее никакого настроения нет. А кому-то делегировать эту задачу, мне кажется, это прям хорошая идея.
Александр Ракунов: Да, в целом ситуация, так скажем, неразрешима, то есть она конфликтная, правильно. С одной стороны, есть пользователи тех же DeFi, которые, допустим, потеряли деньги, или пользователи бирж потеряли деньги, у них есть достаточно такой понятный, справедливый запрос какими-то способами эти деньги вернуть. С другой стороны, есть, соответственно, люди, которые пострадали от того, что, допустим, они получили какие-то считающиеся грязными монеты и не могут их, допустим, завести на биржу, завели, а их аккаунт, например, заблокировали, и средства теперь они непонятно как получат. То, что эта технология немножко работает не так и немножко не подходит под ту систему юридическую и финансовую, которая в мире сложилась, это, конечно, проблема. И выход из нее – сделать все битки, допустим, белыми, наверное, неправильно.
(01:35:07)
Сделать все битки черными, наверное, тоже неправильно. Это сложно.
Сергей Тихомиров: Остается вариант – сделать их все серыми, как, не знаю, кэш, например, весь он такой немножко серенький. Не настолько, чтобы у тебя отказались принимать 1000 рублей – возможно, эта 1000 рублей участвовала в каких-то грязных сделках 5 лет назад, но никого это не волнует, если ты это легально получил.
Александр Ракунов: Да, но это как история с инкассаторской машиной, в которой были 500-евровые купюры, их отмыли, и с тех пор, значит, банкоматы не принимают 500-евровые купюры. Вот такая байка есть. Да, кэш, в общем-то, весь такой серенький, но некоторый чуть более серый, чем другой всё же.
Сергей Тихомиров: Да, да, особенно крупные купюры. 500 евро вообще перестали же печатать пару лет назад, и даже 200. Ну, я несколько лет жил в Европе, 200 ни разу не видел, 100 – в единичных случаях банкоматы выдают, но обычно крупнее 50 нет ничего.
Давайте постепенно двигаться к завершению. Хотелось бы узнать что-то про команду Atomex и про компанию. Можно ли вас назвать стартапом? Как у вас в этом смысле организована работа? Есть ли у вас какие-то инвестиции или как вы организованы как бизнес, как компания?
Александр Ракунов: Да, есть компания. Мы даже получали гранты на компанию. То есть стартапом нас назвать можно, и даже, наверное, стартапом, пропустившим seed-раунд. Хотя это, наверное, считается не самой лучшей практикой, но так случилось. Но в целом мы непосредственно являемся частью более большой команды, которая известна как Baking Bad. Но это всё одна большая такая компания, достаточно дружный коллектив.
Сергей Тихомиров: В смысле денег, в смысле инвестиций вас поддерживает, насколько я понимаю, Tezos Foundation (правильно ли я это называю?), то есть какие-то структуры Tezos?
Александр Ракунов: Да, плюс нас наш инвестиционный бэкграунд в управлении активами, он, в общем, позволял нам финансировать себя самим. Ну и с прошлого года, соответственно, нам уже помогает Tezos Foundation, что достаточно здорово. И вообще в целом надо заметить, что если есть люди, у которых такой большой навык в программировании, большой потенциал в этом плане, то, в принципе, криптовалюты, несмотря на то, что какой-то хайп спал и такая это тема из-за сильной волатильности достаточно считается маргинальная в таком общем сообществе, наверное, но тем не менее, это сфера, в которой можно свои навыки реализовать, и у тебя будет достаточно интересная, достаточно хорошо оплачиваемая работа, в которой ты сможешь делать достаточно такие интересные и новые вещи.
Сергей Тихомиров: Отлично. Давайте тогда поговорим под занавес уже про ваши планы, во-первых. Ну, что-то из этого уже было раньше, но давайте это в конце всё соберём. Какие ближайшие перспективы для Atomеx, что у вас на road-map на ближайшие месяцы (год, может быть)? Ну да, давайте с этого начнем.
Игорь Мацак: Да, но на самом деле планов очень много. В первом, конечно, ряду, так сказать, стоят – это выход на новые платформы, потому что Windows, конечно, он достаточно популярный, как мы говорили, рынок, но тем не менее, есть еще мобильный рынок (Android как минимум). Тоже насколько я тоже сейчас осведомлён, до сих пор тоже очень большой процент устройств на Андроиде. Ну и можно представить, что, скорее всего, мы ожидаем достаточно большой рост количества атомарных свопов в целом, то есть это будет, я думаю, прям очень большой шаг, выход на новые платформы. Дальше вот эти OTC, про которые говорил Саша и про которые спрашивали, также, по сути, это этот же самый атомарный своп, только без стакана. У нас всё есть для того, чтобы прикрутить ОТС-сервис прям в кошелёк, и это тоже у нас в ближайших самых планах стоит. Также это интересные всякие чейны, которые сейчас вот нам в первую очередь интересны. Например, Cosmos, Polkadot – такие вот новые технологии. Мы тоже хотели бы их имплементировать в свой кошелёк в ближайшее время. Планируется редизайн большой, то есть интерфейс кошелька, ему уже вот ровно столько, сколько этот кошелек существует, и я его считаю не самым удачным в каком-то плане, даже банально цветовом, по моему мнению. И сейчас мы хотим всё полностью поменять, всё сделать удобным, использовать тот опыт, который у нас уже есть. Сейчас мы уже понимаем, как это должно работать, на что там обращать внимание пользователя. То есть планируется очень много работы, очень большие перемены.
(01:40:08)
И я думаю, что в ближайший месяц уже это будет видно, то есть мы вот как раз, я думаю, под конец мая всё-таки выпустим уже платформы новые и уже будет такой своего рода рост. Ну, по крайней мере мы его ожидаем.
Александр Ракунов: Ещё, наверное, стоит отметить, что мы планируем дальнейшую такую интеграцию в экосистеме Tezos, потому что считаем, что у него тоже большой потенциал для развития DeFi. И в этом плане, соответственно, Atomеx может быть таким мостом между двумя DeFi. В частности, вот мы имплементировали FА1.2-токены, которые, в принципе, похожи на ERC-20, чуть более продвинутые. И это, мне кажется, хороший юзкейс, потому что когда мы добавили tzBTC, у нас фактически время обмена биткоина на тезос или на эфир очень сильно сократилось, потому что раньше нужно было ждать, пока подтвердится биткоин, теперь ты можешь просто биткоин конвертировать в tzBTC и менять его намного быстрее. А потом, соответственно, обменять его в другую сторону.
Ну и также мы будем новые стандарты токенов имплементировать. И есть такое направление, как поддержка разных DeFi-сервисов (тот же UniSwap), и возможность как-то стейкать разными способами свои активы. Как-то вот так, наверное. Ничего не забыл.
Игорь Мацак: Но я бы ещё добавил. Мы бы хотели, наверное, Dapp-браузер тоже добавить в свой кошелёк конкретно для эфира, потому что там достаточно много уже есть всяких приложений, и хочется это всё тоже добавить себе. И ещё вот очень важное, я забыл буквально сказать. Технически есть возможность совершать атомарные свопы с фиатом, как бы это странно ни звучало. Представьте себе, что вот у вас есть платежная система (не знаю, не буду называть какие-то конкретные, любая платежная система), в которой любой контрагент, Алиса может перевести Бобу 10 долларов, условно. Достаточно просто добавить в эту систему транзакцию с секретом. То есть, я отсылаю, перевожу свои деньги какому-то абоненту, выставляю тоже какой-то секрет, и он может забрать свои деньги в течение какого-то времени, только предъявив этот секрет. Имея такую функциональность в платежном сервисе (любом – неважно каком), технически можно совершить атомарный своп между криптовалютой и фиатом. Да, здесь вопросы всякие регулирования и прочих там KYC, получается, сами собой отпадают, так как это происходит на стороне платежной системы. То есть, если какому-то регулятору, не знаю, захочется посмотреть, что за природа сделки, то есть он просто идет в платёжную систему и смотрит, кто кому переводил средства. Вот и всё. С точки зрения, то есть с нашей стороны, например, нам даже не придется имплементировать для этого какой-то KYC свой, всё это выполняется в рамках какой-то платежной системы. То есть, по факту, реально, достаточно добавить одну маленькую функциональность в любую платежную систему, где есть возможность совершать внутренние транзакции в фиате, и всё, и атомарные свопы между криптовалютой и фиатом – это будет реальностью.
Мы пока ещё не вели какие-то переговоры с какими-то платежными сервисами. Но я думаю, что в какой-то момент это придётся делать, потому что, мне кажется, это просто бомбическая тема, то есть возможность покупать из своего кошелька сразу, то есть менять фиат на крипту здесь же прям, вот на месте, не используя вообще никакие другие вещи, то есть какие-то другие сервисы, это прям, мне кажется, это киллер-фича. Да, это тоже у нас есть в плане.
Сергей Тихомиров: Да, здорово, планы обширные. Остается пожелать вам удачи. Но какие-то, может быть, финальные мысли вообще в целом про развитие рынка и места атомарных свопов в нем. Потому что мне кажется немного странным, с одной стороны, вот по итогам нашего разговора очевидно, что эта технология хорошая в том смысле, что у неё есть совершенно понятный (мне по крайней мере теперь точно понятный) юзкейс, есть какая-то технология довольно простая, которая его решает, и казалось бы, почему это не приобрело пока массовой такой популярности? То есть вот те кошельки, которые более-менее на слуху, они существуют где-то в своих изолированных экосистемах, и атомарные свопы между разными экосистемами пока, на мой по крайней мере взгляд, не приобрели такой вот массовой популярности. Как вам кажется, почему так? И наверное, вы считаете, что это изменится в ближайшем будущем. И почему это могло бы измениться?
Игорь Мацак: Здесь, я считаю, основной момент всё-таки в сложности. Атомарные свопы, конечно, это технология, но она требует очень точного, аккуратного программирования, то есть как минимум, как мы в процессе создания нашего сервиса выяснили, вот эти все проблемы, как, например, атака на длину секрета и так далее.
(01:45:06)
То есть любая ошибка будет стоить просто всего. И как я понял, многие кошельки… то есть мы, естественно, следили за тем, как это имплементируется с другими какими-то кошельками, и я так понял, что очень многие начинали делать свопы, делали сначала базовые какие-то валюты (условно, биткоин, лайткоин, может быть – ещё что-то), сталкивались с этими проблемами, с программированием и так далее, что нужно как-то кучу всего делать, то есть в каждом чейне какая-то отдельная работа идёт, то есть нет какого-то универсального. Ты пишешь не совсем универсальные вещи, ты под каждый чейн должен писать какой-то универсальный код, какой-то особый код, и ты должен проверять всегда, гарантировать, что он работает и так далее, что у тебя нет каких-то проблем, уязвимостей. И гораздо проще для кошельков взять какой-нибудь ShapeShift, прикрутить его к себе, и всё, и брать за это ещё и комиссию какую-то с транзакций, и всё. Я так и понял, что есть кошельки (но я не буду называть кошельки конкретные), что они начинали как раз с атомарных свопов и в итоге пришли вот к этой модели. Снаружи не видно, через что конкретно осуществляется типа обмен в кошельке, но по факту от атомарности остается только название. То есть, в названии кошелька есть слово «атомарный», а по факту никакой атомарности нет, потому что тут реализован ShapeShift или ещё что-либо внутри. Зачем тратить свое время, силы и нервы на это, если можно просто имплементировать готовый сервис?
Я так понимаю, что это основная проблема, почему это не двигается. Потому что технологически я не вижу каких-то препятствий. Да, там есть проблема в скорости атомарных свопов. Основная проблема атомарных свопов – это скорость. Ну, в битке, как правило. Просто бывает, да, в среднем, допустим, это может твоя транзакция 10 минут подтверждаться, но бывают ситуации, когда она висит час, и это, конечно, грустно немного. Не идет речь о каком-то трейдинге, естественно, HFT торговля тут отпадает сразу, но вот если использовать какие-то пары, в которых более-менее быстро идет подтверждение транзакции (например, тот же тезос-эфир), то, конечно, уже можно, в принципе, вести торговлю intraday, я думаю, вполне. Ну, я тоже, опять же, у нас же бэкграунд в инвестиционной сфере, то есть я видел, как торгуют трейдеры, я понимаю, как они, в принципе, сидят, когда они выбирают, сколько сделок они делают в среднем в день, и я понимаю, что вполне можно спокойно торговать через атомарные свопы. Другой вопрос, что нет плеча торгового. Но тут тоже есть момент, у нас тоже есть, в принципе, идея, как можно сделать торговлю с плечом. По факту что? Надо просто использовать заемные средства, то есть кто-то должен предоставить какой-то lending, свои средства тебе. И вот здесь, конечно, вопрос, насколько это можно сделать прям trustless, то есть без какого-то… То есть технологически можно ли это сделать trustless. Но мне кажется, что все-таки можно. Мы ещё пока не ресёрчили до конца эту тему, но в теории… То есть это тоже не какая-то прям недосягаемая технология. Можно сделать на атомарных свопах даже торговлю вполне, я думаю, полноценную. То есть, вот у человека торговый терминал, он заходит и ведёт торговлю так же, как и на любой другой платформе.
Сергей Тихомиров: Да, такое видение масштабное, я бы сказал. Ну что, я думаю, будем постепенно завершать. Надеюсь, что Atomex поможет это видение воплотить и привести в жизнь. Если хотите что-то ещё добавить, что-то важное, о чём я не спросил, или прорекламировать и призвать всех скачивать Atomex, то вы можете это сделать. И будем прощаться.
Александр Ракунов: Ну, мне кажется, что не всё так плохо, и просто на самом деле нужен достаточно длительный период, чтобы какие-то новые такие DeFi-штуки получили распространение. Потому что DeFi тоже рос не сразу, и только вот, может быть, в последнее время он начал расти динамично. На самом деле такой взгляд со стороны разработчика, он много более позитивный, может быть, чем извне, потому что нам очень много в последнее время, с тех пор как, даже до того, как ещё запустили релиз первый, мы очень много общаемся с разными другими проектами, и это очень здорово, потому что комьюнити суперпозитивное, очень открытое, дружелюбное и буквально очень приятно. И все пытаются друг другу помочь, пытаются найти какие-то возможные способы улучшить технологию, и поэтому это здорово. То есть, каких-то прогнозов, кроме позитивных, у нас нет.
Игорь Мацак: Да, хочется, чтобы больше людей всё-таки приходило в сферу криптовалюты, и поэтому здесь у Atomex тоже одна из целей (ну, не только Atomex касается, я думаю, касается всех проектов), наша общая цель –чтобы люди всё больше и больше узнавали о криптовалютах, узнавали, что есть такая возможность совершать какие-то там банальные платежи. Тоже у меня был такой юзкейс, мне надо было совершить обычный межбанковский перевод с помощью одного из наших банков. То есть, я всё сделал через Интернет-клиент, то есть я отправил, у меня выскочило сообщение о том, что моя транзакция отправлена, я не забыл, и на следующий день я получаю информацию с каким-то кодом типа из серии «-62», типа какой-то внутренний код системы SWIFT пришёл, и он меня возвестил о том, что мои деньги за вычетом 12 евро вернулись ко мне на счёт.
(01:50:15)
Я, оказывается, не могу перевести напрямую в этот банк без банка-корреспондента, то есть я должен был, в принципе, сам зайти на сайт банка и отследить то, что я могу это сделать. Я в этот момент понял, что если бы я использовал Bitcoin, даже тот же самый Bitcoin, я бы ввёл сумму в своем кошельке, нажал бы «Отправить», и гарантированно мой бы человек, которому я отправлял средства, он бы получил эти деньги. И в этот момент я осознал, насколько это круто, до конца осознал, наверное. И хочется, чтобы все люди об этом знали. Сейчас, да, всё-таки есть какое-то такое до сих пор, остается еще местами, наверное, недоверие. И я думаю, одна из наших целей, целей Atomex, целей других проектов, чтобы всё больше и больше людей приходило в эту крипту, видело, какие крутые сервисы здесь делают другие разработчики, и мы в частности.
Сергей Тихомиров: Да, отлично. Давайте вместе работать над воплощением этого вижена, этого будущего, в которое мы все, будем надеяться, направляемся. Спасибо большое, что зашли. С нами были представители проекта Atomex: Игорь Мацак, кофаундер и core-разработчик, и Александр Ракунов, кофаундер и разработчик смарт-контрактов. И я, Сергей Тихомиров, провел этот выпуск. Спасибо большое дорогим слушателям за внимание.
Спасибо большое нашим патронам, которые на https://patreon.com/basicbloсkradio поддерживают этот подкаст и очень нам помогают с расшифровками, с монтажом и прочими техническими задачами, и позволяют нам больше времени уделять подготовке к выпускам, нахождению классных гостей, прочим творческим задачам.
Также нам в этом помогают наши спонсоры. Эти спонсоры – это Zerion, понятный и простой интерфейс к DeFi-протоколам. Разработчики, обратите внимание на Zerion SDK для DeFi. Также HodlHodl – это площадка для покупки и продажи биткоинов без верификации. Специальная ссылка в описании и получайте комиссию на все торги. И Solanа – это быстрый блокчейн без шардинга. У них есть токены SOL, которые торгуются на Binance. У них есть сообщества в Телеграмме и Вконтакте. Заходите – они готовы отвечать на все вопросы.
Подписывайтесь на подкаст. Мы есть во всех подкаст-агрегаторах. У нас есть RSS-лента. Сайт basicbloсkradio.com содержит все шоуноты, расшифровки, список всех выпусков и гостей. А также у нас есть Telegram, там чат ББ-чат, где происходят оживлённые и высокоинтеллектуальные дискуссии по интересующим нас всех темам. Лайк, шер, ретвит. Рассказывайте друзьям. До следующего выпуска! Всем счастливо!
Александр Ракунов: Спасибо. Пока!
Игорь Мацак: Да, всем пока.
(01:52:47)
Конец записи