Ср. Авг 4th, 2021
    multisig во free ton

    В теме блокчейнов и криптовалют часто встречается упоминание о технологии Multisig — мультиподписи.  

    Multisig — это сокращенное название multisignature — множественная подпись или комбинация нескольких подписей-ключей, используемых для подтверждения и проведения транзакций. Эта технология применяется для кошельков с множественной подписью — multisignature wallet.

    Кошелек с несколькими подписями — криптокошелек на блокчейне, который поддерживает нескольких владельцев, уполномоченных управлять кошельком.

    Для чего нужна мультисиг? С одной стороны, он распределяет ответственность между несколькими владельцами кошелька. С другой, повышает безопасность сделок. Ключи хранятся на разных устройствах и даже, если один из них будет похищен, то злоумышленники не смогут провести транзакцию без авторизации владельцев других ключей и активы останутся неприкосновенными.

    Как Multisig работает во Free TON

    Владельцы токенов Free TON имеют право участвовать в обсуждении стратегии развития и управления блокчейна. Решения принимаются на основе голосования членов сообщества, которые для идентификации используют личные ключи. Положительный вердикт выносится простым большинством голосов.

    Если 50% + 1 голос — положительные, транзакция подлежит выполнению.

    Принцип подтверждения транзакции во Free TON определяется и настраивается владельцами кошелька. Это означает, что они самостоятельно определяют, какой процент голосов необходим для одобрения транзакции.

    Существует отдельный вид мультисига — 2/3 — проведение транзакции возможно при согласии двух из трех участников. 

    Также владельцы могут использовать другие настройки кошелька в зависимости от типа multisig-контракта. Например, можно разрешать выводить суммы до определенного лимита без мультиподписи и требовать подтверждения, если лимит превышен.

    Как настроить кошелек с несколькими подписями во Free TON

    Сделать это можно с помощью утилиты TONOS-CLI, которая позволяет создавать и управлять кошельками с мультипописями (Multisignature wallet) в экосистеме Free TON.

    Что позволяет делать утилита TONOS-CLI:
    • создать ключи;
    • создать кошелек;
    • проверить баланс кошелька;
    • список транзакций, ожидающих подтверждения;
    • создавать транзакции;
    • подтвердить транзакции.

    Основные понятия и особенности настройки multisig в системе Free TON

    Кошелек с несколькими подписями — криптокошелек на блокчейне, который поддерживает нескольких владельцев, уполномоченных управлять кошельком.

    Адрес кошелька — уникальный адрес кошелька в блокчейне. Он идентифицирует кошелек и необходим для выполнения любых действий с ним. Сам по себе он не предоставляет доступ к средствам кошелька.

    Хранитель кошелька — уполномоченный владелец кошелька. Владеет закрытым ключом и соответствующей исходной фразой, которые необходимы для внесения любых изменений в кошелек или в его содержимое. У кошелька может быть несколько хранителей.

    Приватный ключ хранителя — уникальный криптографический ключ, принадлежащий хранителю кошелька, который разрешает доступ к кошельку. Его следует держать в секрете. 

    Начальная фраза хранителя — уникальная мнемоническая фраза, точно соответствующая закрытому ключу хранителя. Может использоваться для восстановления закрытого ключа или для подписи транзакций в TONOS-CLI вместо него. Его также следует хранить в секрете.

    Открытый ключ хранителя — ключ, образующий пару криптографических ключей с закрытым ключом хранителя. Он не является секретным, и им можно свободно делиться с кем угодно.

    Валидатор — субъект, выполняющий проверку новых блоков блокчейне через систему Proof-of-Stake. Для стейкинга требуется кошелек с мультиподписью.

    В кошельке с мультиподписями Free TON доступны 2 версии контракта:

    SafeMultisig — базовый кошелек с мультиподписью, не допускающий модификации кода контракта. Необходим, если вы используете скрипты валидатора. 

    SetcodeMultisig — более продвинутый кошелек с мультиподписью. Эта версия в настоящее время требуется для создания кошелька, которым можно управлять в TON Surf

    Создание кошелька

    Чтобы завести кошелек, каждый хранитель создает начальную фразу — специальный уникальный набор слов, без которого невозможен доступ к кошельку. Можно назвать это кодом. В случае его утери хранитель больше не сможет управлять кошельком. Начальная фраза уникальна для каждого хранителя, ее следует держать в секрете и надежно резервировать.

    Кошелек должен иметь как минимум одного хранителя, т.к. каждая транзакция из кошелька должна быть подписана одним или несколькими хранителями (в зависимости от конфигурации кошелька) с их закрытым ключом или эквивалентной исходной фразой. Это основное требование безопасности системы.

    После создания кошелька по соображениям безопасности невозможно добавлять или удалять из него хранителей. Чтобы изменить список хранителей, необходимо создать новый кошелек, перевести туда все средства и установить желаемых хранителей.

    Если у кошелька есть несколько хранителей и для выполнения транзакции требуется более одной подписи хранителя, новая транзакция ставится в очередь в кошельке и ожидает необходимого количества подтверждений. Суммы транзакций с несколькими подписями указаны в нанотокенах.

    Механизм подтверждения транзакции

    Как только один из хранителей создает новую транзакцию в блокчейне, он должен получить необходимое количество подтверждений от других хранителей.

    Если в кошельке есть только один хранитель или, если количество подтверждений, необходимых для выполнения транзакции, было установлено равным 1, в этом действии нет необходимости. Сделка будет подтверждена автоматически.

    Для максимальной безопасности при управлении кошельком утилита позволяет использовать безопасную среду ОS Tails для всех действий, которые можно выполнять в автономном режиме без подключения к Интернету.

    Какие действия можно выполнять в автономном режиме в среде OS Tails

    • Генерация исходных фраз и ключей хранителя
    • Подготовить новую транзакцию в автономном режиме
    • Подготовить подтверждение транзакции в автономном режиме

    Подробнее об утилите и настройке.

    4
    0

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *