:RU: Понимание самостоятельного (некастодиального) хранения активов

Перевод статьи https://cexplorer.io/article/understanding-self-custody-of-assets

Пользователям сложно использовать некастодиальные кошельки, в которых они самостоятельно хранят свои активы, поскольку для этого требуется знание, по крайней мере, основных принципов криптографии. Кроме того, они должны знать процессы, происходящие в блокчейне и крипто кошельках. В этой статье мы объясним основные принципы криптографических ключей и транзакций.

Для облегчения понимания мы намеренно упрощаем объяснение некоторых процессов и пропускаем некоторые детали. Статья предназначена в первую очередь для новичков.

Владение активами требует сохранения секретов

Cardano, как и большинство блокчейнов, позволяет вам эксклюзивно владеть активами. Это означает, что только вы и никто другой в мире имеете контроль над активами.

Эксклюзивное владение означает, что только вы можете создать действительную транзакцию, которая переводит активы с вашего блокчейн адреса на адрес получателя. Таким образом, только вы можете тратить активы.

Эта функция зависит от вашей способности создавать и поддерживать криптографический секрет.

Владение и передача активов в блокчейн сетях основаны на криптографии с открытым ключом (также известной как асимметричная криптография). В целом, криптография предлагает инструменты, позволяющие осуществлять взаимную связь между удаленными друг от друга участниками секретным и надежным способом. Но только при условии, что криптографический секрет не будет раскрыт.

Любой, кто хочет владеть активами, должен сначала создать криптографический секрет.

Этот секрет называется мнемоникой или парольной фразой. Определенное количество слов выбирается случайным образом из предопределенного списка слов (например, из BIP-39). Это может быть, например, 24 слова, но вы также можете встретить в парольной фразе меньше слов. Например, может быть около 15 слов.

Парольная фраза будет сгенерирована для вас каждым кошельком Cardano после его установки. Некастодиальный кошелек никогда не сможет функционировать без криптографических секретов. Кошелек, который вы устанавливаете, работает только с вашим секретом.

2d003f619445adcaf91d61eac9dce498

Можно использовать существующую парольную фразу и так называемое восстановление кошелька. Возможно даже использовать несколько кошельков с одинаковым криптографическим секретом.

В данный момент необходимо убедиться, что только вы можете видеть случайно сгенерированную мнемонику. Это криптографический секрет, который позволит вам единолично владеть активами.

Поэтому убедитесь, что вы используете верифицированный кошелек и что вы скачали его (или установили) из надежного источника.

Вы должны запомнить свою мнемонику в точности так, как она отображается в кошельке. При необходимости вы должны быть в состоянии составить тот же список слов в том же порядке.

Это невозможно сделать, не записав его физически на бумаге или не используя какой-либо другой метод для сохранности (например, выгравировав слова на металле). Никогда не сохраняйте парольную фразу в цифровом виде, т.е. в файле или сфотографировав на мобильный телефон.

Парольная фраза может понадобиться вам снова, если вы потеряете доступ к своему легкому кошельку на компьютере, весь компьютер или смартфон или аппаратный кошелек. Помните, что если вы знаете парольную фразу, вы по-прежнему являетесь владельцем своих активов.

Вы даже можете намеренно удалить кошелек, но вам нужно знать парольную фразу, чтобы восстановить его. Владение активами зависит не от наличия кошелька и возможности создания действительной транзакции, а прежде всего от сохранения криптографического секрета, то есть парольной фразы.

Теперь у вас есть криптографический секрет в физической форме и установленный кошелек. Следующим шагом является получение цифрового секрета из парольной фразы. Это генерация криптографических ключей.

Криптографические ключи

Несколько приватных (секретных) и публичных (открытых) ключей иерархически выводятся из парольной фразы. Этот процесс известен как иерархическое детерминированное (HD) создание кошелька.

Хорошей новостью является то, что вам не нужно беспокоиться об этом. Ваш кошелек сделает все за вас. Вам просто нужно знать, что происходит в фоновом режиме и какие процессы там происходят. Пользовательский интерфейс кошелька изолирует вас от сложностей, связанных с криптографией.

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

image

Кошелек генерирует пары ключей из мнемоники (парольной фразы). Мастер ключ - это верхний уровень иерархической детерминированной структуры кошелька.

Часто говорят: “Не ваши ключи, не ваши монеты”. Что такое ключи? Можно сказать, что ключи являются частью криптографического секрета, особенно приватные ключи.

Вы можете представить ключ в виде цепочки различных зашифрованных символов, которые помещаются примерно в одной строке. Это комбинация множества цифровых единиц и нулей.

Используются два связанных ключа.

Сначала генерируется приватный ключ (или также ключ подписи). На рисунке он отмечен красным цветом. Как следует из названия, этот ключ должен храниться в секрете. Транзакции подписываются этим ключом. Подпись ключа - это определенная криптографическая операция, которая может быть проверена с помощью второго открытого ключа.

Открытый или публичный ключ (или также ключ проверки) является производным от этого приватного ключа. На рисунке он отмечен зеленым цветом. Как следует из названия, этот ключ можно сделать общедоступным.

Сначала генерируется пара мастер-ключей.

Мастер-ключ можно использовать для получения нескольких аккаунтов Cardano, каждый со своим собственным набором адресов и ключей. Аккаунт - это также пара ключей, которая представляет ваш стейк в Cardano и позволяет вам делегировать его пулу.

Делегирование (стейкинг) не является предметом статьи. Однако помните, что стейкинг также работает с помощью криптографии. Мы сосредоточимся на отправке транзакций с адреса на адрес, для чего требуются платежные ключи.

Адреса блокчейна используются для хранения средств (UTXO). На них можно получить UTxO, а затем отправить UTxO с них.

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

Следующий текст будет упрощен для облегчения понимания. Мы не будем касаться хеширования адресов блокчейна.

Владелец активов является доказывающим, а сеть Cardano - верификатором.

В процессе отправки активов посредством транзакции необходимо использовать связанную пару ключей. Активы связаны с адресом, который был получен из открытого ключа. Отправитель подписывает транзакцию цифровой подписью, предоставляя подтверждение права собственности на активы по указанному адресу. Для подписи транзакции используется приватный ключ.

Вы можете представить цифровую подпись транзакции как обычную подпись документа ручкой. Эксперт смог бы однозначно проверить подпись и сказать, подписали ли именно вы этот документ.

Блокчейн сеть Cardano должна подтвердить подпись с помощью открытого ключа. Будет проверено, что был использован приватный ключ, соответствующий адресу, где хранятся активы.

Блокчейн Cardano должен иметь публичную часть криптографического секрета и приватную часть в виде цифровой подписи, доступной для проверки.

При подписании транзакции приватный ключ не раскрывается. Это означает, что адрес по-прежнему может содержать UTXO, принадлежащие исключительно отправителю транзакции. Во время верификации также проверяется, что адрес содержит достаточное количество активов для отправки их владельцем.

Транзакция содержит адрес получателя. Этот адрес получен из открытого ключа получателя. У получателя есть соответствующий приватный ключ, поэтому он может отправлять (расходовать) активы с этого адреса.

На рисунке вы можете увидеть упрощенный процесс, описанный выше.

Алиса отправляет UTxO Бобу. UTxO находится на блокчейн адресе, принадлежащем Алисе. Кошелек Алисы создает транзакцию и помещает в нее вход UTxO. Указываются дополнительные параметры транзакции. Например, количество токенов, которое будет потрачено из UTxO (для простоты весь UTxO отправляется Бобу, поэтому Алиса ничего не получает обратно).

Из входа UTxO будет создан выход UTxO, в котором будет указан адрес блокчейна, принадлежащий Бобу (для этого был использован открытый ключ Боба).

Для перевода активов Алиса должна подписать транзакцию приватным ключом через свой кошелек. Цифровая подпись будет проверена сетью Cardano, которая не показана на рисунке.

Кошелек выбирает UTXO для вставки в транзакцию. Он также выбирает приватные ключи, которые требуются для подписи. В большинстве случаев пользователь просто вводит пароль для оплаты или подтверждает отправку транзакции нажатием кнопки в аппаратном кошельке.

Важно перепроверить адрес получателя и сумму, подлежащую отправке. Транзакции возврату не подлежат. Как только транзакция включена в блок, ее нельзя отменить. Если UTxO отправлено на неправильный адрес (несуществующий или чужой), эта запись будет храниться в блокчейне вечно. Ошибки исправить невозможно.

Самостоятельное хранение активов

Что такое самостоятельное хранение активов? О чем должны знать владельцы активов?

Блокчейн сеть - это, по сути, децентрализованный леджер (реестр), в котором хранятся записи о владении активами. Адреса блокчейна используются вместо имен владельцев.

Запись в леджере может быть изменена только с помощью криптографии. Чтобы сменить владельца активов, их текущий владелец должен подтвердить свое право собственности, подписав транзакцию с помощью приватного ключа.

Самостоятельное хранение можно рассматривать как исключительное право расходовать активы.

Если владелец потеряет и приватные ключи (кошелек), и парольную фразу (физическую форму криптографического секрета), запись в леджере останется записанной навсегда. Активы будут существовать, но не могут быть потрачены. Другими словами, теряя криптографический секрет, владелец также навсегда теряет все активы.

Если кому-то удастся украсть или раскрыть ваши криптографические секреты, они будут иметь такой же контроль над вашими активами, как и вы. Вы несете ответственность за исключительное владение вашими активами. Если вы потеряете контроль над вашим криптографическим секретом и кто-то переведет активы на другой блокчейн-адрес, изменить это будет невозможно.

Невозможно даже доказать, была ли данная транзакция подписана вами или лицом, похитившим ваш криптографический секрет (парольную фразу или приватные ключи).

Активы контролируются тем, у кого есть приватные ключи (или парольная фраза) от данных адресов блокчейна. Предполагается, что это единственный человек. Однако нет никаких гарантий. Криптографический секрет может быть известен нескольким людям.

Сетевой консенсус не знает о контексте транзакции и владельцах активов. Он только проверяет транзакции, т.е. проверяет цифровые подписи. Если транзакции действительны, записи в леджере будут изменены. Активы будут переведены с адресов отправителей на адреса получателей. Транзакции будут храниться в блокчейне (леджере) вечно.

Нет другого способа сменить владельца активов, кроме использования приватных ключей.

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

Вывод

В следующий раз мы объясним детали, которые мы упростили в этой статье. Мы поговорим о том, какая криптография используется, как и почему хешируются адреса блокчейна, как работает цифровая подпись, как детерминированно выводятся пары ключей и т.д. Целью этой статьи было разъяснить основные концепции, связанные с использованием некастодиальных кошельков. Пользователям полезно знать основы криптографии и знать, какие процессы происходят во время передачи активов.

// От переводчика: для получения дополнительных переведенных на русский язык статей о Cardano посетите русскоязычный раздел на форуме Cardano. Видеоролики о Cardano на русском языке можно найти на YouTube канале нашего замечательного амбасадора Тимура Сахабутдинова, а также на канале Чарльз Хоскинсон на русском. Хотите поговорить или задать вопрос о Cardano? Тогда приглашаем в наше уютное русскоязычное сообщество Cardano в Telegram. Оставайтесь на связи, все только начинается!

1 Like