Резервная мультиподпись: Difference between revisions

From wikibase
Общий принцип резервной мультиподписи
 
Основной путь может быть мультиподписью, не только одним ключом
Line 1: Line 1:
== Резервная мультиподпись (Backup Multisig) ==
== Резервная мультиподпись (Backup Multisig) ==


'''Принцип защиты Stellar-аккаунтов через независимые пути авторизации.'''
'''Принцип защиты Stellar-аккаунтов через два независимых пути авторизации — основной и резервный.'''


=== Суть ===
=== Суть ===
Line 7: Line 7:
На каждый защищаемый аккаунт настраиваются '''два независимых пути управления''':
На каждый защищаемый аккаунт настраиваются '''два независимых пути управления''':


# '''Primary''' — один ключ с весом, равным порогу. Полный контроль одной подписью.
# '''Основной путь''' — мультиподпись (или один ключ), используемая для повседневных операций. Достигает порога самостоятельно.
# '''Backup''' — N хранителей (живых людей) с повседневными Stellar-ключами, каждый весом 1. Порог достигается при участии 3 из 4 хранителей.
# '''Резервный путь''' — отдельная мультиподпись из N хранителей (живых людей) с повседневными Stellar-ключами. Порог достигается при участии необходимого числа хранителей (например, 3 из 4).


Если primary-ключ скомпрометирован или утерян — 3 хранителя могут восстановить управление аккаунтом без участия primary.
Оба пути '''полностью независимы''' и '''равноправны''' — каждый может управлять аккаунтом без участия другого.


=== Модель ===
=== Модель ===
Line 17: Line 17:
ЗАЩИЩАЕМЫЙ АККАУНТ
ЗАЩИЩАЕМЫЙ АККАУНТ
┌──────────────────────────────────────────────────┐
┌──────────────────────────────────────────────────┐
│  Thresholds: low=3 med=3 high=3               │
│  Thresholds: low=N med=N high=N               │
├──────────────────────────────────────────────────┤
├──────────────────────────────────────────────────┤
│                                                  │
│                                                  │
│  PRIMARY (100%)                                  │
│  ОСНОВНОЙ ПУТЬ                                    │
│  ┌────────────────────────────────┐              │
│  ┌────────────────────────────────┐              │
│  │  Оператор  weight=3          │              │
│  │  Мультиподпись A              │              │
│  │  Один ключ = порог достигнут  │              │
│  │  (или один ключ)              │              │
│  │  Сумма весов ≥ threshold      │              │
│  └────────────────────────────────┘              │
│  └────────────────────────────────┘              │
│                                                  │
│                                                  │
│  BACKUP (независимый путь)                      │
│  РЕЗЕРВНЫЙ ПУТЬ                                  │
│  ┌────────────────────────────────┐              │
│  ┌────────────────────────────────┐              │
│  │  Хранитель_1  weight=1        │              │
│  │  Хранитель_1  weight=1        │              │
│  │  Хранитель_2  weight=1        │── 3 из 4     │
│  │  Хранитель_2  weight=1        │── K из N     │
│  │  Хранитель_3  weight=1        │  = порог 3  │
│  │  Хранитель_3  weight=1        │  = threshold│
│  │  Хранитель_4  weight=1        │              │
│  │  Хранитель_4  weight=1        │              │
│  └────────────────────────────────┘              │
│  └────────────────────────────────┘              │
Line 38: Line 39:
=== Ключевые свойства ===
=== Ключевые свойства ===


* '''Два независимых пути''' — primary и backup не зависят друг от друга
* '''Два независимых пути''' — основной и резервный не зависят друг от друга
* '''Хранители — живые люди''' с повседневными ключами (не холодные, не сгенерированные)
* '''Основной путь''' — может быть мультиподписью (несколько ключей) или одним ключом
* '''3 из 4 хранителей''' = полный контроль над аккаунтом без primary
* '''Резервный путь''' — живые люди с повседневными ключами (не холодные, не сгенерированные)
* '''Primary один''' = полный контроль без хранителей
* '''K из N хранителей''' = полный контроль над аккаунтом без основного пути
* '''Компрометация primary''' → злоумышленнику нужны 3 живых человека
* '''Основной путь''' = полный контроль без хранителей
* '''Компрометация 1 хранителя''' → недостаточно, нужно 3 из 4
* '''Компрометация основного пути''' → злоумышленнику нужны K живых людей
* '''Компрометация одного хранителя''' → недостаточно, нужно K из N


=== Математика ===
=== Математика (на примере threshold=3) ===


==== Вариант A: основной = один ключ ====
* Primary вес 3 = threshold 3 → 100% управления
* Primary вес 3 = threshold 3 → 100% управления
* 3 хранителя × вес 1 = 3 = threshold 3 → 100% управления
* 3 хранителя × вес 1 = 3 = threshold 3 → 100% управления
* Итого: 200% покрытия (primary + backup), но каждый путь независим
 
==== Вариант B: основной = мультиподпись ====
* Основной: 2 ключа с весами 2+1 = 3 → 100% управления
* Резервный: 3 из 4 хранителей × вес 1 = 3 → 100% управления
* В обоих случаях оба пути независимы и равноправны


=== Порядок настройки (Stellar) ===
=== Порядок настройки (Stellar) ===


# Установить thresholds: low=3, med=3, high=3
# Установить thresholds
# Добавить 4 хранителей как signers с weight=1
# Добавить участников основного пути с нужными весами
# Установить primary key weight=3
# Добавить N хранителей как signers с weight=1
# Проверить что сумма весов каждого пути ≥ threshold


=== Пример: Trading Account ===
=== Пример: Trading Account ===
Line 61: Line 69:
'''Аккаунт:''' GDK4FV3SZ2BD4GOIWDAE3LV2KF4BRKLIKYAMLM2CHQGF4M3IDPGIKBPA
'''Аккаунт:''' GDK4FV3SZ2BD4GOIWDAE3LV2KF4BRKLIKYAMLM2CHQGF4M3IDPGIKBPA


* '''Primary:''' GAIN_MAIN (GAKFYJOI), weight=3
* '''Основной путь:''' GAIN_MAIN (GAKFYJOI), weight=3
* '''Хранители:''' 4 человека, weight=1 каждый (список уточняется)
* '''Резервный путь:''' 4 хранителя, weight=1 каждый (список уточняется)
* '''Trading key:''' weight=0, не участвует (убран как лишняя сущность)
* '''Trading key:''' weight=0, не участвует (убран как лишняя сущность)


Line 73: Line 81:


* Схема применима к '''любому''' Stellar-аккаунту
* Схема применима к '''любому''' Stellar-аккаунту
* Основной путь может быть мультиподписью или одним ключом — зависит от задачи
* Количество хранителей может меняться (3 из 5, 4 из 6 и т.д.)
* Количество хранителей может меняться (3 из 5, 4 из 6 и т.д.)
* Веса и пороги подбираются под конкретные требования
* Веса и пороги подбираются под конкретные требования
* Хранители используют свои повседневные ключи — это основной слой защиты
* Хранители используют свои повседневные ключи — это основной слой защиты
* Оба пути равноправны: потеря одного не блокирует аккаунт


----
----
''Документ создан Echo Libero, 2026-04-29''
''Документ создан Echo Libero, 2026-04-29''

Revision as of 10:51, 29 April 2026

Резервная мультиподпись (Backup Multisig)

Принцип защиты Stellar-аккаунтов через два независимых пути авторизации — основной и резервный.

Суть

На каждый защищаемый аккаунт настраиваются два независимых пути управления:

  1. Основной путь — мультиподпись (или один ключ), используемая для повседневных операций. Достигает порога самостоятельно.
  2. Резервный путь — отдельная мультиподпись из N хранителей (живых людей) с повседневными Stellar-ключами. Порог достигается при участии необходимого числа хранителей (например, 3 из 4).

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

Модель

ЗАЩИЩАЕМЫЙ АККАУНТ
┌──────────────────────────────────────────────────┐
│  Thresholds: low=N  med=N  high=N                │
├──────────────────────────────────────────────────┤
│                                                   │
│  ОСНОВНОЙ ПУТЬ                                    │
│  ┌────────────────────────────────┐              │
│  │  Мультиподпись A               │              │
│  │  (или один ключ)               │              │
│  │  Сумма весов ≥ threshold       │              │
│  └────────────────────────────────┘              │
│                                                   │
│  РЕЗЕРВНЫЙ ПУТЬ                                  │
│  ┌────────────────────────────────┐              │
│  │  Хранитель_1  weight=1         │              │
│  │  Хранитель_2  weight=1         │── K из N     │
│  │  Хранитель_3  weight=1         │   = threshold│
│  │  Хранитель_4  weight=1         │              │
│  └────────────────────────────────┘              │
└──────────────────────────────────────────────────┘

Ключевые свойства

  • Два независимых пути — основной и резервный не зависят друг от друга
  • Основной путь — может быть мультиподписью (несколько ключей) или одним ключом
  • Резервный путь — живые люди с повседневными ключами (не холодные, не сгенерированные)
  • K из N хранителей = полный контроль над аккаунтом без основного пути
  • Основной путь = полный контроль без хранителей
  • Компрометация основного пути → злоумышленнику нужны K живых людей
  • Компрометация одного хранителя → недостаточно, нужно K из N

Математика (на примере threshold=3)

Вариант A: основной = один ключ

  • Primary вес 3 = threshold 3 → 100% управления
  • 3 хранителя × вес 1 = 3 = threshold 3 → 100% управления

Вариант B: основной = мультиподпись

  • Основной: 2 ключа с весами 2+1 = 3 → 100% управления
  • Резервный: 3 из 4 хранителей × вес 1 = 3 → 100% управления
  • В обоих случаях оба пути независимы и равноправны

Порядок настройки (Stellar)

  1. Установить thresholds
  2. Добавить участников основного пути с нужными весами
  3. Добавить N хранителей как signers с weight=1
  4. Проверить что сумма весов каждого пути ≥ threshold

Пример: Trading Account

Аккаунт: GDK4FV3SZ2BD4GOIWDAE3LV2KF4BRKLIKYAMLM2CHQGF4M3IDPGIKBPA

  • Основной путь: GAIN_MAIN (GAKFYJOI), weight=3
  • Резервный путь: 4 хранителя, weight=1 каждый (список уточняется)
  • Trading key: weight=0, не участвует (убран как лишняя сущность)

Execution path:

  1. SetOptions thresholds=3/3/3
  2. Batch: добавить 4 хранителей weight=1
  3. SetOptions primary weight→3

Общие правила

  • Схема применима к любому Stellar-аккаунту
  • Основной путь может быть мультиподписью или одним ключом — зависит от задачи
  • Количество хранителей может меняться (3 из 5, 4 из 6 и т.д.)
  • Веса и пороги подбираются под конкретные требования
  • Хранители используют свои повседневные ключи — это основной слой защиты
  • Оба пути равноправны: потеря одного не блокирует аккаунт

Документ создан Echo Libero, 2026-04-29