В большинстве первых блокчейн-систем сущностью, которая владеет токенами, является кошелек — публичное представление приватного криптографического ключа.
Сформировать кошелек очень просто. Генерируете приватный ключ, запоминаете его, формируете его публичное представление — это и есть ваш адрес для хранения токенов VIZ. В качестве доказательства владения токенами вы должны предоставить подтверждение в виде подписи приватным ключом данных о переводе.
VIZ в наследство от Graphene экосистемы получил систему аккаунтов, расширенную систему связок ключей с разными типами доступов, поддержкой мульти-подписей с делегированием доступов. Давайте вместе разберемся, что это такое, и как работает.
Система аккаунтов
Сущность, владеющая токенами VIZ — аккаунты. Они нужны для защиты системы от спама, стабильной работы DPOS консенсуса и удобства конечного пользователя.
Аккаунты представляют собой привычную людям строку из латинских символов (логин). Логины в системе аккаунтов и есть адресное пространство для взаимодействия в VIZ.
Примеры логинов: petya6, alice4, prigskok.dom
Каждый аккаунт содержит информацию о балансе, доле сети и другие важные для блокчейн-системы параметры.
Основными свойствами аккаунта являются связки ключей, разделенных на разные типы доступов.
Типы доступов
- Доступ управлением аккаунтом (master, в прошлом owner).
- Доступ к управлению активами аккаунта и критически-важными решениями (active).
- Доступ для совершения действий и подписи публикуемых данных (regular, в прошлом posting).
- Ключ для шифрования сообщений (memo).
- Ключ подписи блоков (signing, используется делегатами).
Самый важный тип доступа — master. Именно он позволяет менять другие ключи доступов у аккаунта. Потеря данных ключей приведет к невозможности изменения других доступов. Если данным доступом завладеет злоумышленник, он может лишить вас аккаунта.
Active доступ позволяет выполнять действия, связанные с токенами аккаунта: переводить их другому аккаунту, делегировать, голосовать за делегатов, а также менять доступы (кроме master).
Regular доступ используется для наиболее частых операций: награждения других аккаунтов, принятия участия в работе комитета и подписи публикуемых данных (например, в операциях custom или при взаимодействии с off-chain сайтами).
Memo и Signing ключи не являются связками (хранится только 1 ключ) и применяются в узкоспециализированных случаях (шифрование переписки и подпись блоков).
Связки ключей
Типы доступов master, active и regular представлены в виде связки ключей. Механика их работы заключена в трех способах использования:
- Делегирование права доступа другому аккаунту (указание логина аккаунта, который может своей связкой ключей аналогичного типа выполнить операцию за вас).
Например, если вы делегируете права доступа active стороннему аккаунту, то он сможет без вашего участия распоряжаться вашими средствами на аккаунте.
- Мульти-подпись (multisig) — позволяет задать вес, необходимый для выполнения операций, и множество ключей с разными весами.
- Множество ключей — позволяет создать отдельный ключ для стороннего приложения, чтобы не передавать свой используемый ключ.
Для большинства пользователей актуальна ситуация, когда в связке ключей находится только 1 ключ, веса которого достаточно для выполнения операций заданного типа доступов.
Главный пароль
Часть приложений для удобства пользователей применяют единый способ генерации приватных ключей. Он связан с генерацией из строки вида: login+password+authority type. Таким образом, из главного пароля можно получить все типы доступов. При потере, например, active ключа, главный пароль к аккаунту позволит восстановить его.
Данное упрощение было сделано для более легкого восприятия неподготовленным пользователем сложной системы связки ключей.
Упрощенный единый ключ доступа
Единый ключ доступа — это ключ, записанный как управляющий каждым типом доступа аккаунта. Данный тип ключа создан в VIZ для упрощения доступа новым пользователям, которые только пробуют VIZ и разбираются в нем.
Такой тип доступа распространен на пользователей, которые зарегистрировались по инвайт-коду (ваучеру) или воспользовались внутренней системой анонимных регистраций. После того как они ознакомятся с блокчейн-системой VIZ и решат, что хотят иметь отдельные ключи для каждого из типов доступа, они могут изменить доступ к аккаунту через контрольную панель.
Заключение
Система раздельных типов доступов в аккаунтах довольно гибкая и позволяет создавать сложные механики взаимодействия. Для пользователей, которые впервые сталкиваются с блокчейн-системами, есть упрощенные варианты, которые при необходимости можно расширить силами самих пользователей.