Обозначение. M/N аккаунт = M-of-N multi-signature account = мультиподписной аккаунт M-из-N.
M/N аккаунты это мощный инструмент, имеющийся в вашем распоряжении, но необходимо использовать этот инструмент с должной осторожностью. Обратите внимание на следующие важные вещи:
- После конвертации обычного аккаунта в M/N аккаунт, вы больше не сможете инициировать транзакции с этого аккаунта. Все операции с M/N аккаунта инициируются одним из его соподписантов, любым. Можно провести аналогию с отношениями между родителями и детьми. Аккаунт(ы) соподписантов это родительские аккаунты, а аккаунт, который был превращен в M/N аккаунт, это дочерний аккаунт. Родительские аккаунты имеют полный, но совместный контроль над дочерним аккаунтом, а дочерний аккаунт сам не имеет никакого контроля над своими средствами.
- В текущей реализации NEM мы располагаем мультиподписью «M/N» (M из N), где M и N — натуральные числа, и M≤N. Например, 1/1, 1/3, 4/4, 4/9, 7/12 и т.д. В случае M/N аккаунта, когда M=N, т.е. N/N аккаунта, для активации транзакции необходимы все N подписей, но для редактирования такого аккаунта будет достаточно N-1 подписей. Например, для 3/3 аккаунта только 2 подписи необходимы для удаления или изменения третьего соподписанта.
- Вы можете создать M/N аккаунт с количеством соподписантов до 64. Но, как это ясно из предыдущего пункта, если будет утерян контроль над L аккаунтами соподписантов, то:
- при 1<L≤(N-M) будет потеряна возможность редактирования этого M/N аккаунта, хотя возможность совершать с него транзакции останется;
- при L>(N-M) произойдёт необратимая потеря доступа к средствам, находящимся на этом M/N аккаунте.
Если вы не хотите использовать существующий адрес (аккаунт) в качестве соподписанта, вы можете просто создать новый аккаунт.
Если вы только начинаете использовать NEM, вполне возможно, что в вашем кошельке NCC есть пока только один аккаунт. В этом случае вы должны пойти дальше и создать по крайней мере ещё один аккаунт. Один из этих аккаунтов инициирует преобразование другого в M/N аккаунт. Вам также необходим список адресов тех аккаунтов, которые наряду с вашим аккаунтом будут являться соподписантами.
Если вам необходимо создать новую учетную запись, то в левом верхнем углу экрана NCC рядом с адресом аккаунта можно увидеть значок шестерёнки, нажмите его и выберите опцию «Create New Account».
В появившемся окне введите метку для создаваемого аккаунта (будет отображаться только в вашем кошельке), пароль вашего кошелька и нажмите кнопку «CREATE». Вы можете создать в кошельке столько новых аккаунтов, сколько вам необходимо, любое количество.
Аккаунт после преобразования его в M/N аккаунт теряет возможность сам отправлять транзакции. Один из соподписантов должен будет инициировать транзакцию, а M соподписантов должны будут подписать её.
На картинке выше чувак Duncan Idaho решил сделать свой одноимённый аккаунт «Duncan Idaho» мультиподписным. Для этого ему понадобится ещё один аккаунт, в нашем примере он создаёт аккаунт «Leto A», который будет соподписантом M/N аккаунта. Делая аккаунт мультиподписным, Duncan понимает, что полный контроль над первоначальным аккаунтом он потеряет, и чтобы отправить с M/N аккаунта XEM, будет требоваться согласие (подписи) соподписантов.
Открыв аккаунт «Leto A», Duncan находит маленькую иконку в виде шестерёнки рядом с именем аккаунта и адресом и нажимает на неё. Появляется выпадающее меню, в котором он нажимает «Convert other account to multisig».
Откроется окно «CONVERT ACCOUNT TO MULTISIG». В текстовом поле «Multisig account» Duncan выбирает аккаунт «Duncan Idaho».
Ниже, в поле «Cosignatories’ addresses» он добавляет те аккаунты, которые он хочет иметь соподписантами. В том числе и свой аккаунт «Leto A», и это будет 5/5 аккаунт:
___Leto A | ___TCEIRU-WQO4LY-V5X33V-XOFX7S-XSAVC5-RFFMDR-AVSE |
___Lady Jessica | ___TD5JO2-PBUH2S-Z3ECRR-O4XECI-4U2JQN-QJOO2Y-YWV5 |
___Thufir Hawat | ___TD34VV-RIBR35-F6O536-QYGOOM-CS6F67-L35Q22-O22N |
___Chani | ___TC46UN-75KBAL-6QEEAB-EKREZC-Z7J7PD-5JZPJM-XWK3 |
___Dr. Kynes | ___TBDCUQ-ZIJD4L-KX3ZPY-XEMONS-B62TJI-E4XMMQ-YVUE |
NEM признает метки этих аккаунтов, если они были сохранены ранее в адресной книге.
После чего нажимается кнопка «Convert». Если всё в порядке, то появляется экран подтверждения «CONFIRM CONVERSION TO MULTISIG ACCOUNT».
Поздравляем. Вы создали мультиподписной 5/5 аккаунт в NEM.
Когда мы теперь в любом аккаунте, связанном с аккаунтом «Duncan Idaho», посмотрим на транзакции, то мы увидим некоторые специальные символы рядом с ними. Жёлтая скрепка означает, что создан MS аккаунт. Зелёная M со знаком плюс означает входящую транзакцию с M/N аккаунта. Серая M означает исходящую транзакцию в статусе ожидания подтверждения, и красная M говорит о том, что транзакция была отправлена.
1) Инициирование транзакции.
Каждый раз, когда Duncan захочет сделать транзакцию с аккаунта «Duncan Idaho», он будет использовать аккаунт «Leto A». Впрочем, любой из определённых при создании M/N аккаунта соподписантов имеет такое же равное право инициировать транзакцию. На следующем рисунке показано, что инициирует транзакцию «Dr. Kynes». В нашем примере аккаунт N-из-N, так что все соподписанты должны будут подписать транзакцию.
Итак, Doctor Kynes решил отправить Stilgar 1000 XEM с аккаунта «Duncan Idaho». После того как в аккаунте «Dr. Kynes» будет нажата кнопка «Send XEM», нужно будет выбрать аккаунт «Duncan Idaho» в выпадающем списке «Sender». Заполнив остальные поля формы, он нажимает Send.
Если сейчас заглянуть в аккаунт Duncan, то мы увидим там незавершённую мультиподписную транзакцию, которая помечена серой буквой M.
Если заглянуть в аккаунты других соподписантов, там картина будет выглядеть несколько иначе. Каждый соподписант автоматически уведомляется о необходимости подписать транзакцию, пока такая фича есть только в NEM. Посмотрим для примера в аккаунт «Chani». На главной панели NCC для аккаунта «Chani» мы видим в графе Amount запрос на подписание транзакции в виде появившейся заметной зелёной кнопки «SIGN». Пока все соподписанты не подпишут транзакцию, Stilgar не получит отправляемые ему 1000 XEM.
Duncan, как и все остальные соподписанты, может видеть, что инициирована транзакция, адресованная Stilgar, и может следить за прогрессом её подписания. В графе Message вначале он видит «#cosigs 0», что означает «получено 0 подписей».
Если в графе Details нажать «View», откроется окно TRANSACTION DETAILS, и можно узнать больше подробностей о данной транзакции.
На картинке видно, что сумма 1000 XEM, получатель Stilgar, инициировал транзакцию Doctor Kynes, что уже все подписали транзакцию («#cosigs 4») — Chani, Leto A., Thufir Hawat, Lady Jessica , и Stilgar в эту секунду получит свои 1000 XEM!
Как было замечено ранее, в NEM мультиподписные аккаунты можно рассматривать как дочерние относительно родительских аккаунтов соподписантов, в плане их прав. Из этого вытекает ряд уникальных возможностей.
Если человек полагает, что приватный ключ от его аккаунта был скомпрометирован, вместо пересылки всех XEM и мозаик с этого аккаунта он может просто сделать этот аккаунт мультиподписным, 1-из-1. Соподписантом он назначит аккаунт, который не был скомпрометирован, и человек может быть уверен в безопасности своих средств. Если вновь возникнет угроза, то аккаунт можно отредактировать, назначив соподписантом вновь созданный надёжный аккаунт.
В момент написания этой заметки право собственности на имя (и соответственно право редактирования мозаик, ассоциированных с ним) не фиксируется напрямую в блокчейне. Возможность передачи права собственности на имя будет планироваться позже.
Однако вы можете создать 1/1 аккаунт, который по существу является делегированным аккаунтом своего основного аккаунта. Вследствие уникальной архитектуры NEM, контроль над всеми транзакциями будет принадлежать основному аккаунту, а приватный ключ делегированного аккаунта будет приглушён. Но NEM позволяет редактировать список соподписантов. Это значит, что пользователь может передать все права своего основного аккаунта, с которым связан делегированный аккаунт, какой-либо третьей стороне, сделав её новым соподписантом 1/1 аккаунта. В итоге основной аккаунт третьего лица теперь будет владельцем этого пространства имён со всеми вытекающими следствиями — сможет редактировать мозаики, а также будет иметь полный контроль над этим аккаунтом.
Сколько необходимо подписей:
___тип аккаунта | ___add | ___del |
_____M-из-N | ____M | ____M |
_____N-из-N | ____N | ___N-1 |
Примечание. Картинки огромные, но для изображений я не использую миниатюры по двум причинам:
- В Android ссылка с них на полное изображение с используемого хостинга не работает.
- В случае с миниатюрой на стационарном компьютере приходится делать лишние клики для получения полного изображения, которое потом ещё надо закрывать. По крайней мере 3 клика для каждого изображения.
http://blog.nem.io/how-to-use-multi-signature-accounts/
Ещё одна версия перевода:
http://getcoin.today/nem-multi-signature/
| ||||||||
![]() ![]() |
| |||||||
Winnie AdminСообщения : 579 Дата регистрации : 2015-06-10 ![]() |
|
Comments are closed