При первом открытии торгового приложения Intention просит у кошелька одну подпись, ограниченную рамками сессии. Эта страница объясняет, что эта подпись означает, чего она не означает и как ею управлять.
Зачем нужна сессионная подпись
Тот, кто торгует бессрочными контрактами, выставляет много ордеров в минуту. Если кошелёк будет показывать окно подтверждения на каждый ордер, работать станет невозможно. Вместо этого приложение Intention один раз запрашивает подпись типизированных данных, которая привязывает к вашему счёту короткоживущий торговый ключ. Дальше приложение подписывает отдельные ордерные сообщения этим ключом локально, не трогая кошелёк, пока сессия не истечёт.
Что даёт сессионная подпись
- Приложение получает право отправлять торговые действия от вашего имени — производным ключом, который ограничен конкретным счётом, конкретным сроком и конкретным набором действий (выставить ордер, отменить, изменить и тому подобное).
- И ничего больше. Это не всеобъемлющее разрешение и не разрешение распоряжаться вашими токенами.
Чего она НЕ даёт
- Она не выводит средства со счёта. Вывод во внешнюю сеть каждый раз требует отдельной явной подписи.
- Она не меняет настройки безопасности счёта. Она не может добавить нового подписанта, сменить ключи или делегировать полномочия за пределами оговорённого набора действий.
- Она не переживает свой срок. Как только срок сессии истёк, производный ключ в блокчейне недействителен, и приложение попросит новую подпись.
Как проверять запрос подписи
Любой современный кошелёк показывает полезную нагрузку типизированных данных до подписания. Читайте её. Intention запрашивает подпись, в которой названы счёт, который вы авторизуете, отметка времени истечения и домен intention.xyz. Если запрос подписи выдаёт себя за Intention, но показывает другой домен, другой счёт или срок далеко в будущем, отклоните его и напишите о запросившей странице на contact@intention.xyz.
Никогда не подтверждайте подпись типизированных данных, которую вы не можете прочитать и понять. «Просто подпишите это, чтобы подтвердить кошелёк» — самая распространённая фишинговая схема во всей отрасли. Intention никогда не попросит подписать расплывчатое «подтверждение».
Отзыв сессии
Завершить сессию можно тремя способами.
- Из самого приложения. Откройте меню счёта и выберите отключение или отзыв активной сессии. Приложение сотрёт короткоживущий ключ на вашем устройстве, а в блокчейне сессионный ключ перестанет приниматься, как только отзыв будет замечен.
- Из кошелька. Отключите сайт в списке подключённых сайтов кошелька. Приложение больше не сможет запросить новую подпись при следующем визите.
- Просто подождать. У сессий конечный срок. Когда он истекает, ключ становится бесполезен независимо от того, сделали вы что-то ещё или нет.
Что происходит по истечении сессии
Неисполненные ордера, выставленные в рамках истёкшей сессии, остаются действительными в стакане: они были подписаны, пока сессия была жива, и протокол их уже записал. Новые ордера проходить не будут, пока вы не подпишете новую сессию. Так задумано: истечение срока не может задним числом отменить уже зафиксированную работу.