Multi-signature: Difference between revisions

From Decimal Wiki
Jump to navigation Jump to search
[checked revision][checked revision]
No edit summary
m (CryptoUser moved page Multisig to Multi-signature)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{#seo:
{{#seo:
                     |title= Мультиподпись
                     |title= Multi-signature — Decimal Wiki
                     |titlemode= append  
                     |titlemode= append  
                     |keywords= Мультиподпись
                     |keywords= Multi-signature, multisig
                     |description= Мультиподпись
                     |description= Multi-signature
                     }}
                     }}  
<div class="mikio-article-content">
'''Electronic/digital signature''' allows you to confirm the authorship of an electronic document (whether it is a real person or, for example, an account in a [[cryptocurrency]] system). The signature is linked to both the author and the document itself using [[cryptography|cryptographic]] methods, so it cannot be forged using ordinary copying.
'''Multi—signature''' is a scheme for implementing an electronic signature, which for its reliability requires ''T'' [[key]]s from a group of ''N'' members, where ''T'' is less than ''N''.
Multi-signature requires the cooperation of at least ''T'' members of a group of ''N'' participants. The private key is divided into ''N'' parts, and any ''T'' parts are enough to restore it. Multi-signature is implemented as a check of the specified conditions, which is carried out by the basic system of cryptocurrency scripts.
== What is Multisignature used for ==
Multi-signature is used to complicate the operation in order to share responsibility or increase security.
The sharing of responsibility implies that several people must collectively make a decision on the transfer of funds, which is recorded using the use of a personal digital signature. An example is a situation where a company has two or more owners. In order to spend a significant amount, they must come to an agreement, while the subjects may be located in different parts of the globe.
[[File:Wiki-1fe3357141a4188c104888ed07e2d238.png|700px|thumb|left|Scheme of functioning of multi-signature]]<br clear="all">
Multi-signature security is achieved due to the fact that the keys required for signing are stored on different devices. For example, one is on a computer, and the other is on a smartphone. In order to seize the funds, an attacker must gain access not only to a computer that is connected to a [[cryptocurrency wallet]], but also to other devices or storage locations that contain other [[private key|private keys]].


<div class="mikio-tags">
== Multi-signature on DecimalChain ==
Addresses with multi-signature are available on [[DecimalChain|Decimal]]. This is very convenient when allocating funds or simply making a joint decision when there are several independent participants and [[consensus|consensus conditions]] between them. For example, funds are withdrawn from the common wallet only if 80% of the company's participants agree to it (four out of five participants).
=== Three types of transactions are implemented to implement the functionality: ===
==== CreateMultisig ====
'''CreateMultisig''' creates a [[wallet]] with a multi-signature, indicating the owners, the weight of their vote and a threshold value (for example, three out of five or two out of three). A multisigned address is generated with the addition of a [[data]] string, which is passed to the hash function along with the input data array (prototype) to calculate the [[hash]] (image). This is done to allow you to create many addresses with three identical parameters and save them to the repository.


==== CreateTransaction ====
'''CreateTransaction''' creates a [[transaction]] to withdraw the specified number of specified [[coin]]s to the specified address, the creator of the transaction immediately signs it. Each such transaction is assigned a unique identifier.


==== SignTransaction ====
Other owners of a [[multi-sig wallet|multi-signature wallet]] can request unconfirmed transactions at this address, their parameters and identifiers. After that, they simply send a '''SignTransaction''' type transaction to the [[blockchain]], in the parameters of which there will be a unique transaction identifier from previous paragraph. After verifying the signature, the number of collected "votes" from the transaction increases in accordance with the subscriber's weight in first paragraph. If the threshold value is reached, the operation is executed, funds are transferred, the balances of the multi-signature address and the recipient's address are changed.
As a result, thanks to this scheme of interaction of multi—signature participants, we exclude offline communication between them. At least it becomes optional.


</div>
== See also ==
<span id="multipodpis"></span>
* [[Multi-sig wallet]]
= Мультиподпись =


<div class="level1">
[[Category:Commoninfo]]
 
[[Category:Crypto security]]
'''''Электронная/цифровая подпись''' позволяет подтвердить авторство электронного документа (будь то реальное лицо или, например, аккаунт в криптовалютой системе). Подпись связана как с автором, так и самим документом с помощью криптографических методов, поэтому не может быть подделана с помощью обычного копирования.''
 
'''Мультиподпись''' — схема реализации электронной подписи, которая для своей достоверности требует T ключей из группы N членов, где T меньше N.
 
Для мультиподписи требуется сотрудничество не менее T членов группы из N участников. Закрытый ключ разделяется на N частей, а для его восстановления достаточно любых T частей. Мультиподпись реализована как проверка заданных условий, которую осуществляет базовая система скриптов криптовалюты.
 
 
</div>
<span id="dlja_chego_ispolzuetsja_multisignature"></span>
= Для чего используется Multisignature =
 
<div class="level1">
 
Мультиподпись используется для усложнения операции в целях разделения ответственности или повышения безопасности.
 
Разделение ответственности подразумевает, что несколько человек должны коллегиально принять решение о переводе средств, которое фиксируется с помощью применения персональной цифровой подписи. Примером может служить ситуация, когда компания имеет двух и более владельцев. Чтобы потратить значительную сумму, они должны прийти к согласию, при этом субъекты могут находиться в разных точках земного шара.
 
[[File:Wiki-1fe3357141a4188c104888ed07e2d238.png|1000px|class=mediacenter]]  
 
Безопасность с помощью мультиподиси достигается за счёт того, что ключи, необходимые для подписи, хранятся на разных устройствах. Например, один на компьютере, а другой — на смартфоне. Для того чтобы завладеть средствами, злоумышленник должен получить доступ не только к компьютеру, который связан с криптовалютным кошельком, но и другим устройствам или местам хранения, в которых находятся другие приватные ключи.
 
 
</div>
<span id="multipodpis_v_decimalchain"></span>
= Мультиподпись в DecimalChain =
 
<div class="level1">
 
В Decimal доступны адреса с мультиподписью. Это очень удобно при распределении средств или просто принятии совместного решения, когда есть несколько независимых участников и условия консенсуса между ними. Например, средства из общего кошелька выводятся, только если на это согласятся 80% участников предприятия (четыре участника из пяти).
 
'''Для реализации функционала имплементированы три типа транзакций:'''
 
<ul>
<li><div class="li">
 
'''CreateMultisig'''
 
</div></li></ul>
 
CreateMultisig создаёт кошелёк с мультиподписью, указанием владельцев, веса их голоса и порогового значения (например, три из пяти или два из трёх). Адрес с мультиподписью генерируется с добавлением строки данных, которая передаётся хеш-функции вместе с входным массивом данных (прообразом) для вычисления хеша (образа). Это делается, чтобы позволить создавать много адресов с тремя одинаковыми параметрами и сохранять их в хранилище.
 
<ul>
<li><div class="li">
 
'''CreateTransaction'''
 
</div></li></ul>
 
CreateTransaction создаёт транзакцию на вывод указанного количества указанных монет на указанный адрес, создатель транзакции сразу же подписывает её. Каждой такой транзакции присваивается уникальный идентификатор.
 
<ul>
<li><div class="li">
 
'''SignTransaction'''
 
</div></li></ul>
 
Другие владельцы кошелька с мультиподписью могут запросить неподтверждённые транзакции по данному адресу, их параметры и идентификаторы. После этого они просто отправляют транзакцию типа SignTransaction в блокчейн, в параметрах которой будет уникальный идентификатор транзакции из пункта 2. После проверки подписи количество собранных «голосов» у транзакции увеличивается в соответствии с весом подписчика в пункте 1. Если пороговое значение достигнуто, то операция исполняется, происходит перевод средств, меняются балансы адреса с мультиподписью и адреса получателя.
 
Как результат — благодаря данной схеме взаимодействия участников мультиподписи мы исключаем офлайн-общение между ними. По крайней мере, оно становится необязательным.
 
''Автор: Рената Димова''
 
 
</div>
<div style="clear:both">
 
 
 
</div>
 
</div>
[[Category:Commoninfo]]

Latest revision as of 08:28, 15 February 2024

Electronic/digital signature allows you to confirm the authorship of an electronic document (whether it is a real person or, for example, an account in a cryptocurrency system). The signature is linked to both the author and the document itself using cryptographic methods, so it cannot be forged using ordinary copying.

Multi—signature is a scheme for implementing an electronic signature, which for its reliability requires T keys from a group of N members, where T is less than N.

Multi-signature requires the cooperation of at least T members of a group of N participants. The private key is divided into N parts, and any T parts are enough to restore it. Multi-signature is implemented as a check of the specified conditions, which is carried out by the basic system of cryptocurrency scripts.

What is Multisignature used for

Multi-signature is used to complicate the operation in order to share responsibility or increase security.

The sharing of responsibility implies that several people must collectively make a decision on the transfer of funds, which is recorded using the use of a personal digital signature. An example is a situation where a company has two or more owners. In order to spend a significant amount, they must come to an agreement, while the subjects may be located in different parts of the globe.

Scheme of functioning of multi-signature


Multi-signature security is achieved due to the fact that the keys required for signing are stored on different devices. For example, one is on a computer, and the other is on a smartphone. In order to seize the funds, an attacker must gain access not only to a computer that is connected to a cryptocurrency wallet, but also to other devices or storage locations that contain other private keys.

Multi-signature on DecimalChain

Addresses with multi-signature are available on Decimal. This is very convenient when allocating funds or simply making a joint decision when there are several independent participants and consensus conditions between them. For example, funds are withdrawn from the common wallet only if 80% of the company's participants agree to it (four out of five participants).

Three types of transactions are implemented to implement the functionality:

CreateMultisig

CreateMultisig creates a wallet with a multi-signature, indicating the owners, the weight of their vote and a threshold value (for example, three out of five or two out of three). A multisigned address is generated with the addition of a data string, which is passed to the hash function along with the input data array (prototype) to calculate the hash (image). This is done to allow you to create many addresses with three identical parameters and save them to the repository.

CreateTransaction

CreateTransaction creates a transaction to withdraw the specified number of specified coins to the specified address, the creator of the transaction immediately signs it. Each such transaction is assigned a unique identifier.

SignTransaction

Other owners of a multi-signature wallet can request unconfirmed transactions at this address, their parameters and identifiers. After that, they simply send a SignTransaction type transaction to the blockchain, in the parameters of which there will be a unique transaction identifier from previous paragraph. After verifying the signature, the number of collected "votes" from the transaction increases in accordance with the subscriber's weight in first paragraph. If the threshold value is reached, the operation is executed, funds are transferred, the balances of the multi-signature address and the recipient's address are changed.

As a result, thanks to this scheme of interaction of multi—signature participants, we exclude offline communication between them. At least it becomes optional.

See also