Мультиподпись: различия между версиями
[досмотренная версия] | [досмотренная версия] |
Нет описания правки |
м (CryptoUser переименовал страницу Commoninfo:multisig в Мультиподпись) |
(нет различий)
|
Текущая версия от 21:07, 19 декабря 2023
Электронная/цифровая подпись позволяет подтвердить авторство электронного документа (будь то реальное лицо или, например, аккаунт в криптовалютой системе). Подпись связана как с автором, так и самим документом с помощью криптографических методов, поэтому не может быть подделана с помощью обычного копирования.
Мультиподпись (также Multisignature, или мультисиг) — схема реализации электронной подписи, которая для своей достоверности требует T ключей из группы N членов, где T меньше N.
Для мультиподписи требуется сотрудничество не менее T членов группы из N участников. Закрытый ключ разделяется на N частей, а для его восстановления достаточно любых T частей. Мультиподпись реализована как проверка заданных условий, которую осуществляет базовая система скриптов криптовалюты.
Для чего используется мультиподпись
Мультиподпись используется для усложнения операции в целях разделения ответственности или повышения безопасности.
Разделение ответственности подразумевает, что несколько человек должны коллегиально принять решение о переводе средств, которое фиксируется с помощью применения персональной цифровой подписи. Примером может служить ситуация, когда компания имеет двух и более владельцев. Чтобы потратить значительную сумму, они должны прийти к согласию, при этом субъекты могут находиться в разных точках земного шара.
Безопасность с помощью мультиподиси достигается за счёт того, что ключи, необходимые для подписи, хранятся на разных устройствах. Например, один на компьютере, а другой — на смартфоне. Для того чтобы завладеть средствами, злоумышленник должен получить доступ не только к компьютеру, который связан с криптовалютным кошельком, но и к другим устройствам или местам хранения, в которых находятся другие приватные ключи.
Мультиподпись в DecimalChain
В Decimal доступны адреса с мультиподписью. Это очень удобно при распределении средств или просто принятии совместного решения, когда есть несколько независимых участников и условия консенсуса между ними. Например, средства из общего кошелька выводятся, только если на это согласятся 80 % участников предприятия (четыре участника из пяти).
Для реализации функционала имплементированы три типа транзакций:
• CreateMultisig
CreateMultisig создаёт кошелёк с мультиподписью, указанием владельцев, веса их голоса и порогового значения (например, три из пяти или два из трёх). Адрес с мультиподписью генерируется с добавлением строки данных, которая передаётся хеш-функции вместе с входным массивом данных (прообразом) для вычисления хеша (образа). Это делается, чтобы позволить создавать много адресов с тремя одинаковыми параметрами и сохранять их в хранилище.
• CreateTransaction
CreateTransaction создаёт транзакцию на вывод указанного количества указанных монет на указанный адрес, создатель транзакции сразу же подписывает её. Каждой такой транзакции присваивается уникальный идентификатор.
• SignTransaction
Другие владельцы кошелька с мультиподписью могут запросить неподтверждённые транзакции по данному адресу, их параметры и идентификаторы. После этого они просто отправляют транзакцию типа SignTransaction в блокчейн, в параметрах которой будет уникальный идентификатор транзакции из пункта 2. После проверки подписи количество собранных «голосов» у транзакции увеличивается в соответствии с весом подписчика в пункте 1. Если пороговое значение достигнуто, то операция исполняется, происходит перевод средств, меняются балансы адреса с мультиподписью и адреса получателя.
Как результат — благодаря данной схеме взаимодействия участников мультиподписи мы исключаем офлайн-общение между ними. По крайней мере, оно становится необязательным.