Только один из десяти токенов действительно используется после ICO — большинство из них пригодны только для торговли, что повышает риск спекуляции ими. Оценить адекватность и перспективность токенов участникам ICO сложно, потому что лишь 5% кампаний проводятся уже работающими проектами. Недоверие участников к заявленным полезным качествам токенов заставляет их стоимость снижаться — сейчас 40-50% токенов торгуется ниже цены первоначального предложения (данные выставки Bitcoin Expo).
Единственный способ доказать утилитарность токенов — не только информировать их владельцев о ходе разработки проекта, в который они вложились, но и как можно раньше давать возможность пользоваться токенами не только на биржах. Поэтому Playkey уже через несколько месяцев после ICO готовится ко внедрению оплаты подписки облачного игрового сервиса токенами. Вот как мы это делаем.
Подготовка к реализации
Основная проблема, которую необходимо решить при оплате токенами любой услуги, — обезличенность криптовалюты. То есть, стоит задача идентифицировать транзакции и отличить операцию одного пользователя от оплаты другого. Сделать это можно несколькими способами. Мы рассматривали основные два:
- Отличать по отправителю — привязать аккаунт в Playkey к адресу отправителя, то есть игрока.
- Отличать по получателю — для каждой транзакции делать отдельный адрес получателя, то есть сервиса. Это можно сделать тоже двумя способами — через отдельные адреса и смарт-контракт.
Какой метод лучше выбрать?
Вариант 1. Идентификация по отправителю.
Для того чтобы воспользоваться этим способом, игроку придётся выполнить несколько действий. Алгоритм выглядит следующим образом:
- В личном кабинете пользователь указывает свой адрес криптокошелька.
- Отправляет с кошелька оплату на общий адрес Playkey.
- Сервис фиксирует транзакцию и подключает оплаченный тариф подписки.
Сценарий кажется простым, но при его изучении мы обнаружили слабые места, из-за наличия которых можно обмануть систему. Главная проблема в том, что теоретически в личном кабинете можно указать любой адрес криптокошелька — в том числе и не принадлежащий пользователю. Таким образом, если злоумышленник узнает адрес пользователя до того, как он совершит транзакцию, то сможет внести его в свой личный кабинет — и оплаченная подписка уйдёт ему.
Существует возможность доказать владение кошельком с помощью проверочной небольшой транзакции. Однако на данный момент это требует дополнительных затрат на комиссию, что невыгодно Playkey. Для примера: в марте 2018 года комиссия за одну транзакцию в биткоинах составляла от $1 до $2,3, за операцию в эфирах — от $0,7 до $0,2.
Также возникает проблема с оплатой подписки через кошельки на биржах. Четверть людей предпочитает покупать криптовалюту на биржах и значительная часть из них, скорее всего, хранит токены на внутренних кошельках. Но если они попытаются оплатить сервис с такого кошелька, то не смогут указать свой уникальный адрес. Биржа либо будет отправлять токены с неизвестных кошельков, либо с одного адреса для всех пользователей.
Преодолеть это препятствие можно с помощью вывода криптовалюты на сторонний кошелёк и дальнейшего следования алгоритму, однако это потребует дополнительной комиссии. Поэтому, чтобы сэкономить время и деньги пользователи и гарантировать надёжность оплаты, Playkey отказался от этого варианта.
Вариант 2. Идентификация по получателю
Этот способ не потребует от пользователя дополнительной активности до транзакции, так как все заботы об идентификации лягут на сервис. Выполнить её можно с помощью либо транзитного кошелька, либо смарт-контракта.
Транзитный кошелёк
Это временный кошелёк, на который пользователю нужно будет отправить токены, чтобы Playkey забрал их в свой холодный кошелёк (наиболее надёжное место хранения криптовалюты). Например, так проходят операции на бирже HitBTC. Алгоритм работает так:
- Пользователю выдаётся отдельный транзитный кошелёк.
- Пользователь отправляет токены на этот кошелёк — наличие токенов говорит о том, что пользователю уже можно выдавать подписку.
- Чтобы забрать токены из кошелька, Playkey отправляет эфиры на на этот кошелёк. Вот пример реальной транзакции.
- Playkey отправляет токены с транзитного кошелька на холодный кошелёк.
Эта операция обойдётся примерно в $0,05 — $0,03 за перевод и $0,02 за комиссию (расчёты актуальны на март 2018 года).
У этой схемы есть недостаток — время на доставку токенов возрастает из-за промежуточного звена в виде транзитного кошелька и дополнительных переводов. Также этот вариант менее безопасен, так как Playkey должен хранить приватные ключи от всех транзитных кошельков, что теоретически может быть уязвимостью.
Смарт-контракт
Это решение, которое использует одна из самых надёжных бирж Lykke, в итоге оказалось наиболее выгодным и безопасным. Оно обходится дороже предыдущих вариантов, но гарантирует защищённость транзакций и экономит время. Так проходит операция:
- Playkey разворачивает смарт-контракт, получает его адрес и выдаёт его конкретному пользователю. Вот пример контракта.
- Игрок отправляет токены на адрес смарт-контракта.
- Согласно условиям смарт-контракта, токены отправляются на холодный кошелёк Playkey.
- Сервис проверяет наличие транзакции по адресу и предоставляет подписку на сервис.
Эта операция обойдётся примерно в $0,1 — чтобы узнать её стоимость, нужно разделить цену газа (единицу оплаты в сети Ethereum) на количество газов, потраченных на отправку токенов.
На момент создания контракта стоимость всего газа за его создание составляла $14,92 (80 Gwei). Однако стоимость операции можно снизить, если снизить стоимость газа — вместо 80 Gwei её можно снизить в 40 раз до 2 Gwei, а время подтверждения транзакции при этом не займёт больше получаса (делать это необходимо тогда, когда сеть не загружена — именно тогда при низкой стоимости газа можно иметь небольшое время на подтверждение транзакций).
Газа же в этом контракте было использовано 220267. Однако контракт можно оптимизировать и уменьшить затраты в четыре раза, так как для отправки токенов потребуется не более 53000 газов.
Скорое будущее
Таким образом, Playkey склоняется к варианту идентификации транзакции через смарт-контракт и планирует ввести возможность оплаты подписки токенами уже этой весной. При этом ресурсы, которые ранее тратились на обработку платежей, можно будет расходовать на более актуальные нужды проекта.
Так, если сейчас с каждого платежа игрока картой приходится платить комиссию около 3-7% (от $2 до $4,9 в зависимости от выбранного тарифа и требований эквайринга), то при использовании токенов комиссия будет в 20-50 раз дешевле и составит всего $0,1.
К тому же, стоимость комиссии при проведении транзакций в криптовалютах снижается с каждым новым этапом в развитии рынка — а значит, вскоре переход на оплату услуг токенами будет ещё выгоднее и для игроков, и для сервиса.
Задавайте свои вопросы и узнавайте все подробности из жизни Playkey в наших сообществах в Telegram, Twitter и Facebook.
по смарт контакту очень дорого встанет((( ваша подписка и так две с лишним тысячи стоит может бы стоило выбрать средне по защите и стоимости 2го варианта? но по нынешнему курсу валют получается что каждый пользователь просто за комиссию будет целый косарь платить это вообще капец((((