Криптокарты. Схемы работы. Часть I. Вводная
Итак, недавно вышло сразу несколько новостей, которые предвещают такой mass adoption, что мало не покажется. Но давайте не будем следовать за хайпом, а попробуем разобраться. Из интересующих меня вещей есть, как минимум, 2:
- Некастодиальная карта (в терминологии разберёмся позже) от Mastercard;
- И факт того, что Apple открыла платёжные чипы NFC для сторонних разработчиков.
За одну статью такую работу не проделаешь, поэтому попробуем съесть слона по кусочкам.
Пилот MM & MC
MM - МетаМаск (aka MetaMask), а MC - МастерКард (MasterCard). И они заключили соглашение, в результате чего появилась карта (далее - Пилот): людей было пару тысяч и в основном из ЕС и Великобритании. И это был пилот: уже в сентябре 2024 MC выпустили полноценный проект.
Важно отметить, что Пилот был запущен на zkEVM Linea, а это - весьма и весьма быстрая система. И дело не только в TPS, которые мало что значат сами по себе, но именно в факте ZK-обработки: “используя технологию zkEVM, Linea обеспечивает быстрое завершение транзакций, надёжную защиту и полную эквивалентность EVM…”.
Статистика по сети: l2beat.com/scaling/projects/linea.
- Фиксированные комиссии для “карточных” переводов: “При использовании таких стабильных монет, как USDC и USDT, с вас будет взиматься комиссия за газ Linea, которая может меняться, но обычно составляет $0,02. При использовании нестабильных монет, таких как wETH, с вас будет взиматься комиссия за газ Linea, которая варьируется, но обычно составляет 0,02 доллара. Также взимается комиссия за своп в размере 0,875 %”.
- Быстрое время завершение транзакции (даже по нынешним меркам это 0.1-0.2 секунды);
- За счёт ZKP-механик - надёжное подтверждение завершение транзакций.
Почему это важно? Потому как схема работы карта (упрощённая) - примерно следующая:
А это значит, что в центре у нас есть держатель смарт-контракта, который при этом же умеет в процессинг карт. Таким держателем является создатель проекта Crypto Life - baanx.com.
Но есть ли слабые места у подобной схемы? Да, попробую перечислить.
Между багом и фичей
Итак, первый вектор атаки очевиден - это атака на оракула. Не обязательно даже ценового: достаточно “прокладки” между крипто-процессингом и карточным. Хотя атака на цены активов - тоже вектор. Итого, в этом разрезе два аспекта:
- Попробовать манипулировать ценой криптоактивов (стоимостью USDt, например, к USD), но это не так и просто, хотя опыт Ton и других показывает, что централизованные поставщики цен - пока актуальны;
- Можно непосредственно атаковать связку крипто и карточного процессинга на технологическом уровне: поскольку пока рыться в ней не пришлось - здесь могу (с)оставить лишь теоретический диапазон действий.
Второй очевидный вектор атаки - это MEV. Ведь упрощённый процесс выглядит так:
- Владелец карты пришёл в магазин;
- Предварительно выдал аппрувы на некую сумму, выставив тем самым max лимиты (min, как понимаю, устанавливается сервисом);
- Карта в этом случае служит таким же способом подписи, как Trezor или MetaMask (хотя тут можно поругаться над терминологией);
- Как только получили подпись - транзакция отправляется в L2-блокчейн (например, в Linea) и списывается с баланса нужная сумма.
Поэтому теоретически никто не мешает написать бота, который будет делать транзакции быстрее, чем процессинг карт. Но технически это не так просто:
- Не забываем про ZK-роллапы и их скорости, а также вычислительные мощности для всего этого дела;
- Также стоит держать в голове, что хотя карта не кастодиальная относительно хранимых средств - никто не говорил, что не будет KYC и иных аналогов для верификации держателей таковой;
- И да, аппрув на смарт уже выдан, а поэтому скорость списания для него - максимальная (тоже можете поругаться над деталями).
Отсюда следует, что вектор атаки возможен, но тоже требует детальной аналитики.
И, конечно же, самое слабое звено - это прокладка между картой и различными техническими причиндалами, то есть мы с вами - люди - aka пользователи подобной карты. Фишинговые QR-коды - дано реальность и данность и никто не застрахован от слишком больших списаний в этом смысле: по простой, человеческой, ошибки.
Равно как никто не застрахован от взлома связки крипто и карточного процессинга: тогда это будет похоже на взломы мостов и многомиллионные потери. “Многосотенмиллионные” даже.
И всё же: схема работает?
Короткий ответ: да. И это достигнуто, потому что:
- ZK-роллапы (или каналы в Bitcoin, или иные подобные решения) - довольно быстрые и споры о TPS давно не уместны;
- zkEVM (и подобные решения) весьма надёжны, ибо строятся на чистой математике;
- Выдача аппрувов или совершение депозитов - стало нормой для DEX (AMM включая) и различных DeFi-протоколов, поэтому фактически мы открываем баланс сервисам по умолчанию после этого;
- Связки смарт-контрактов и фиатных процессингов - отточены и не раз;
- KYC для кошельков и AML “на лету” - давно достижимые вещи.
Итак, процесс в среднем выглядит следующим образом:
- Если у вас есть некастодиальный кошелёк (скажем, Metamask), вы находитесь в нужной юрисдикции (да-да, тот же ММ поддерживает санкции), то можете заказать карту;
- Проходите KYC и/или аналогичные процедуры и делаете связку карты с кошельком, выдавая через установку лимитов аппрувы смарт-контракту BaakX;
- После этого карта становится фактически инструментом вызова подписи (1) в вашем кошельке, который подтверждает списание на каждую транзакцию: как это происходит в Uniswap и множестве других инструментов;
- Чтобы деньги поступили в банк Продавца - есть компания (пусть mercuryo.io), которая мгновенно переводит криптоплатёж (5) в баланс в USD/EURO и тем самым появляются взаимные обязательства у компании крипто-процессинга и агрегатора крипто-платежей, которые позволяют незаметно для продавца переводить ему, продавцу, фиатную валюту, изымая у Пользователя/Покупателя USDt, USDc или другую (установленную) криптовалюту.
- При этом плательщик платит установленные комиссии: за списание и, если требуется, за своп, но деньги физически хранит у себя на кошельке, понимая, что выданный аппрув - это потенциальный вектор атак (впрочем, именно так мы и живём внутри банковской системы).
- Собственно, на этом всё: Покупатель платит с кошелька, а всё остальное на себя берёт связка: MasterCard - Baakx - Mercuryo или ей подобная.
Но, конечно, теперь хочется покопаться глубже и выискать детали, чем и займусь, а пока и всё и