Мультиподпись: различия между версиями
[досмотренная версия] | [досмотренная версия] |
Test (обсуждение | вклад) Нет описания правки |
м (CryptoUser переименовал страницу Commoninfo:multisig в Мультиподпись) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
{{#seo: | {{#seo: | ||
|title= | |title= Мультиподпись — материал из Decimal Wiki | ||
|titlemode= append | |titlemode= append | ||
|keywords= Мультиподпись | |keywords= Мультиподпись | ||
|description= Мультиподпись | |description= Мультиподпись, для чего она используется в блокчейне | ||
}} | }} | ||
'''''Электронная/цифровая подпись''' позволяет подтвердить авторство электронного документа (будь то реальное лицо или, например, аккаунт в криптовалютой системе). Подпись связана как с автором, так и самим документом с помощью криптографических методов, поэтому не может быть подделана с помощью обычного копирования.'' | '''''Электронная/цифровая подпись''' позволяет подтвердить авторство электронного документа (будь то реальное лицо или, например, аккаунт в криптовалютой системе). Подпись связана как с автором, так и самим документом с помощью криптографических методов, поэтому не может быть подделана с помощью обычного копирования.'' | ||
'''Мультиподпись''' | '''Мультиподпись''' (также '''''Multisignature''''', или '''''мультисиг''''') — схема реализации электронной подписи, которая для своей достоверности требует T ключей из группы N членов, где T меньше N. | ||
Для мультиподписи требуется сотрудничество не менее T членов группы из N участников. [[Криптографияеский ключ|Закрытый ключ]] разделяется на N частей, а для его восстановления достаточно любых T частей. Мультиподпись реализована как проверка заданных условий, которую осуществляет базовая система скриптов криптовалюты. | |||
Мультиподпись используется для усложнения операции в целях разделения ответственности или повышения безопасности. | == Для чего используется мультиподпись == | ||
[[Файл:Wiki-1fe3357141a4188c104888ed07e2d238.png|450px|thumb|right|Схема работы мультиподписи]] | |||
Мультиподпись используется для усложнения [[транзакция|операции]] в целях разделения ответственности или повышения безопасности. | |||
Разделение ответственности подразумевает, что несколько человек должны коллегиально принять решение о переводе средств, которое фиксируется с помощью применения персональной цифровой подписи. Примером может служить ситуация, когда компания имеет двух и более владельцев. Чтобы потратить значительную сумму, они должны прийти к согласию, при этом субъекты могут находиться в разных точках земного шара. | Разделение ответственности подразумевает, что несколько человек должны коллегиально принять решение о переводе средств, которое фиксируется с помощью применения персональной цифровой подписи. Примером может служить ситуация, когда компания имеет двух и более владельцев. Чтобы потратить значительную сумму, они должны прийти к согласию, при этом субъекты могут находиться в разных точках земного шара. | ||
Безопасность с помощью мультиподиси достигается за счёт того, что ключи, необходимые для подписи, хранятся на разных устройствах. Например, один на компьютере, а другой — на смартфоне. Для того чтобы завладеть средствами, злоумышленник должен получить доступ не только к компьютеру, который связан с [[криптокошелёк|криптовалютным кошельком]], но и к другим устройствам или местам хранения, в которых находятся другие приватные ключи. | |||
Безопасность с помощью мультиподиси достигается за счёт того, что ключи, необходимые для подписи, хранятся на разных устройствах. Например, один на компьютере, а | |||
== Мультиподпись в DecimalChain == | |||
В Decimal доступны адреса с мультиподписью. Это очень удобно при распределении средств или просто принятии совместного решения, когда есть несколько независимых участников и условия консенсуса между ними. Например, средства из общего кошелька выводятся, только если на это согласятся 80 % участников предприятия (четыре участника из пяти). | |||
= Мультиподпись в DecimalChain = | |||
В Decimal доступны адреса с мультиподписью. Это очень удобно при распределении средств или просто принятии совместного решения, когда есть несколько независимых участников и условия консенсуса между ними. Например, средства из общего кошелька выводятся, только если на это согласятся | |||
'''Для реализации функционала имплементированы три типа транзакций:''' | '''Для реализации функционала имплементированы три типа транзакций:''' | ||
• '''CreateMultisig''' | |||
'''CreateMultisig''' | |||
CreateMultisig создаёт кошелёк с мультиподписью, указанием владельцев, веса их голоса и порогового значения (например, три из пяти или два из трёх). Адрес с мультиподписью генерируется с добавлением строки данных, которая передаётся хеш-функции вместе с входным массивом данных (прообразом) для вычисления хеша (образа). Это делается, чтобы позволить создавать много адресов с тремя одинаковыми параметрами и сохранять их в хранилище. | CreateMultisig создаёт кошелёк с мультиподписью, указанием владельцев, веса их голоса и порогового значения (например, три из пяти или два из трёх). Адрес с мультиподписью генерируется с добавлением строки данных, которая передаётся хеш-функции вместе с входным массивом данных (прообразом) для вычисления хеша (образа). Это делается, чтобы позволить создавать много адресов с тремя одинаковыми параметрами и сохранять их в хранилище. | ||
• '''CreateTransaction''' | |||
'''CreateTransaction''' | |||
CreateTransaction создаёт транзакцию на вывод указанного количества указанных монет на указанный адрес, создатель транзакции сразу же подписывает её. Каждой такой транзакции присваивается уникальный идентификатор. | CreateTransaction создаёт транзакцию на вывод указанного количества указанных монет на указанный адрес, создатель транзакции сразу же подписывает её. Каждой такой транзакции присваивается уникальный идентификатор. | ||
• '''SignTransaction''' | |||
'''SignTransaction''' | |||
Другие владельцы кошелька с мультиподписью могут запросить неподтверждённые транзакции по данному адресу, их параметры и идентификаторы. После этого они просто отправляют транзакцию типа SignTransaction в блокчейн, в параметрах которой будет уникальный идентификатор транзакции из пункта 2. После проверки подписи количество собранных «голосов» у транзакции увеличивается в соответствии с весом подписчика в пункте 1. Если пороговое значение достигнуто, то операция исполняется, происходит перевод средств, меняются балансы адреса с мультиподписью и адреса получателя. | Другие владельцы кошелька с мультиподписью могут запросить неподтверждённые транзакции по данному адресу, их параметры и идентификаторы. После этого они просто отправляют транзакцию типа SignTransaction в блокчейн, в параметрах которой будет уникальный идентификатор транзакции из пункта 2. После проверки подписи количество собранных «голосов» у транзакции увеличивается в соответствии с весом подписчика в пункте 1. Если пороговое значение достигнуто, то операция исполняется, происходит перевод средств, меняются балансы адреса с мультиподписью и адреса получателя. | ||
Как | Как результат — благодаря данной схеме взаимодействия участников мультиподписи мы исключаем офлайн-общение между ними. По крайней мере, оно становится необязательным. | ||
== См. также == | |||
* [[Мультисиг-кошелёк]] | |||
{{Автор|Рената Димова}} | |||
[[Категория:Терминология]] | |||
[[Категория:Криптобезопасность]] |
Текущая версия от 21:07, 19 декабря 2023
Электронная/цифровая подпись позволяет подтвердить авторство электронного документа (будь то реальное лицо или, например, аккаунт в криптовалютой системе). Подпись связана как с автором, так и самим документом с помощью криптографических методов, поэтому не может быть подделана с помощью обычного копирования.
Мультиподпись (также Multisignature, или мультисиг) — схема реализации электронной подписи, которая для своей достоверности требует T ключей из группы N членов, где T меньше N.
Для мультиподписи требуется сотрудничество не менее T членов группы из N участников. Закрытый ключ разделяется на N частей, а для его восстановления достаточно любых T частей. Мультиподпись реализована как проверка заданных условий, которую осуществляет базовая система скриптов криптовалюты.
Для чего используется мультиподпись
Мультиподпись используется для усложнения операции в целях разделения ответственности или повышения безопасности.
Разделение ответственности подразумевает, что несколько человек должны коллегиально принять решение о переводе средств, которое фиксируется с помощью применения персональной цифровой подписи. Примером может служить ситуация, когда компания имеет двух и более владельцев. Чтобы потратить значительную сумму, они должны прийти к согласию, при этом субъекты могут находиться в разных точках земного шара.
Безопасность с помощью мультиподиси достигается за счёт того, что ключи, необходимые для подписи, хранятся на разных устройствах. Например, один на компьютере, а другой — на смартфоне. Для того чтобы завладеть средствами, злоумышленник должен получить доступ не только к компьютеру, который связан с криптовалютным кошельком, но и к другим устройствам или местам хранения, в которых находятся другие приватные ключи.
Мультиподпись в DecimalChain
В Decimal доступны адреса с мультиподписью. Это очень удобно при распределении средств или просто принятии совместного решения, когда есть несколько независимых участников и условия консенсуса между ними. Например, средства из общего кошелька выводятся, только если на это согласятся 80 % участников предприятия (четыре участника из пяти).
Для реализации функционала имплементированы три типа транзакций:
• CreateMultisig
CreateMultisig создаёт кошелёк с мультиподписью, указанием владельцев, веса их голоса и порогового значения (например, три из пяти или два из трёх). Адрес с мультиподписью генерируется с добавлением строки данных, которая передаётся хеш-функции вместе с входным массивом данных (прообразом) для вычисления хеша (образа). Это делается, чтобы позволить создавать много адресов с тремя одинаковыми параметрами и сохранять их в хранилище.
• CreateTransaction
CreateTransaction создаёт транзакцию на вывод указанного количества указанных монет на указанный адрес, создатель транзакции сразу же подписывает её. Каждой такой транзакции присваивается уникальный идентификатор.
• SignTransaction
Другие владельцы кошелька с мультиподписью могут запросить неподтверждённые транзакции по данному адресу, их параметры и идентификаторы. После этого они просто отправляют транзакцию типа SignTransaction в блокчейн, в параметрах которой будет уникальный идентификатор транзакции из пункта 2. После проверки подписи количество собранных «голосов» у транзакции увеличивается в соответствии с весом подписчика в пункте 1. Если пороговое значение достигнуто, то операция исполняется, происходит перевод средств, меняются балансы адреса с мультиподписью и адреса получателя.
Как результат — благодаря данной схеме взаимодействия участников мультиподписи мы исключаем офлайн-общение между ними. По крайней мере, оно становится необязательным.