Выбираем кошелек для Komodo

Выбираем кошелек для Komodo

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

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

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

В данном случае у вас отсутствует контроль над приватными ключами к вашему криптовалютному кошельку (примером известных кастоидальных кошельков может послужить кошелек на любой из бирж - Coinbase, Binance, Bittrex, KuCoin и т.п.), вы просто являетесь пользователем сервиса, который предоставляет биржа. Как правило, в этом есть как свои плюсы, так и минусы. Плюс в том, что если вы каким-либо образом потеряете пароль к вашему кошельку, вы практически всегда сможете восстановить доступ и вновь воспользоваться своими средствами доказав оператору кошелька (кастодиану), что вы, это вы. Также, к плюсам можно отнести удобство использования подобных кошельков и дополнительные "плюшки", зачастую предлагаемые оператором - например, отсутствие комиссий за перевод внутри сервиса (например, если вы пересылаете средства на кошелек другого пользователя той же биржи и т.п.) ... Минусы также очевидны, как любят говорить в Bitcoin сообществе - "Not your keys - not your coins" (Не ваши ключи - не ваши монеты). Т.к. в данном случае ключи вам не принадлежат, то существуют риски и вовсе лишиться ваших монет - например в случае взлома биржи (наверняка вы слышали подобные истории и не раз) или мошеннических действий со стороны владельцев / персонала биржи ... также, вы можете лишиться доступа к вашим средствам по решению властей, суда и т.п. Т.е. все то что применимо к банковским сервисам - в какой-то степени применимо и здесь. Начиная от банальных технических проблем, думаю - многим знакома ситуация, когда на стороне банка проблемы, приложение не работает, и вы не можете отправить свои средства никому, пока они не будут решены ... все то же самое справедливо и здесь. Вы целиком и полностью зависите от оператора кошелька (кастодиана) и есть ли у вас доступ к вашим монетам или нет - зависит только от него.

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

В дальнейшем мы будет рассматривать именно некастоидальные кошельки.

Программное обеспечение, которое используется для хранения закрытых и открытых ключей и адресов сети Komodo и ассет- (смарт-) чейнов мы будем называть кошельком. В общем случае такое программное обеспечение выполняет различные функции - например, получение и отправку монет, однако, с точки зрения функционала можно выделить еще два типа кошельков - SPV (Simplified Payment Verification) и Native (нативные) кошельки. Здесь все просто - SPV-кошельки, к таким например относится AtomicDEX, не требуют синхронизации с сетью Komodo и не хранят локальную копию блокчейна. В то время как native кошельки является полноценным узлом сети Komodo, хранят весь блокчейн на диске, синхронизируются с сетью и являются ее полноправным узлом (full node), т.е. участвуют в процессе верификации и валидации транзакций, блоков, помогают распространению (relay) транзакций и блоков, могут генерировать (майнить или стейкить блоки) и т.п. Примером такого кошелька может послужить Komodo-Qt (KomodoOcean) или Komodo Core (CLI).

Здесь тоже есть свои собственные плюсы и минусы. Как вы уже поняли - SPV-кошельки потому и называются кошельками с "упрощенной верификацией платежей", т.к. они не хранят блокчейн и не являются полноценными узлами сети full node (т.е. не выполняют весь тот спектр задач по поддержке блокчейна, которые возложены на полноценные узлы сети), для доступа к блокчейну они, как правило, используют сеть Electrum серверов. Благодаря этому они достаточно "легковесны" и могут работать даже на мобильных устройствах, AtomicDEX является хорошим примером подобного кошелька, т.к. существуют десктопные (Windows, MacOS, Linux) и мобильные (Android, iOS) версии этого приложения. В свою очередь native кошельки, например, Komodo-Qt (KomodoOcean) обладают повышенными требованиями к аппаратным ресурсам ПК: современный CPU с несколькими ядрами, минимум 4 Gb свободной оперативной памяти (RAM) и около 25-30 Gb свободного пространства на диске для хранения блокчейна KMD (обратите внимание, что если вы хотите использовать также и ассетчейны, совместно с KMD на вашем ПК, то умножайте эти требования примерно на количество чейнов, т.е. для запуска двух coin'ов, например, KMD и SUPERNET, вам нужно будет уже около 8 Gb RAM, а если вы хотите одновременно работать практически со всеми распространенными ассетами, то это уже будет в районе ~65 Gb RAM) ... Для хранения блокчейна лучше сразу отказаться от использования HDD в пользу SSD, а еще лучше NVMe SSD. Как видно, разница есть и она существенна ... обычный телефон и практически любой ПК в случае с SPV, или ПК собранный из комплектующих "по-последнему слову техники".

Однако, здесь все зависит от ваших целей и задач. Пользователи выбирающие native wallet обычно прекрасно представляют почему они делают такой выбор. Это может быть как просто желание внести свой вклад в развитие и поддержку сети, так и выбор обусловленный расширенными возможностями использования блокчейна. Например, желание полноценно управлять UTXO в кошельке, создавать кастомные / нестандартные транзакции, иметь возможность исследовать блокчейн, обращаться к любой транзакции в блокчейне локально, чтобы посмотреть ее данные, возможность майнинга / стейкинга (имеется ввиду стейкинг ассетчейнов), разработка блокчейн-ориентированных сервисов и децентрализованных приложений (dApps) и т.п.

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

Здесь я просто приведу цитату из книги Имрана Башира "Блокчейн: архитектура, криптовалюты, инструменты разработки, смарт-контракты" (если вы только начинаете знакомиться с миром криптовалют - рекомендую).

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

Детерминированные кошельки - в этом типе кошельков ключи получаются из значения сида через функционал хеширования. Это число сида генерируется случайным образом и обычно представляется в виде читаемых слов мнемонического кода (мнемонической фразы). Слова мнемонического кода определены в BIP 32 (Bitcoin Impovement Proposal) ... Данная фраза может использоваться для восстановления всех ключей и сравнительно упрощает управление закрытыми ключами.

Так, например, Komodo-Qt (KomodoOcean) является недетерминированным кошельком, т.к. каждый новый приватный ключ в нем генерируется рандомно, возможность использования HD-ключей (детерминированных) ключей в нем ограничена. А AtomicDEX условно можно отнести к детерминированным кошелькам, условно - потому что хотя адрес и приватный ключ действительно зависят в нем от выбранной / сгенерированной вами seed-фразы (парольной фразы, мнемонической фразы и т.п.) - адрес будет использоваться всегда один и тот же. Т.е. имеется ввиду, что вашей парольной фразе соответствует один единственный приватный ключ и адрес, который остается неизменным. В том время как в других детерминированных кошельках, для каждой транзакции используется каждый раз новый адрес (новый приватный ключ) для сдачи и т.п.

Теперь, получив некоторое представление о типах кошельков, переходим на https://komodoplatform.com/en/wallets.html и выбираем понравившийся. Наша рекомендация - AtomicDEX в качестве SPV-кошелька или Komodo-Qt (KomodoOcean) в качестве native.

Несколько скриншотов AtomicDEX и Komodo-Qt (KomodoOcean):

Ассет- (смарт-) чейны

Ну и напоследок несколько слов об ассетчейнах, смартчейнах или ассетах. Все это разные названия одного и того же. Как правило, когда кто-то говорит об ассетах Komodo - имеется ввиду самостоятельная монета, использующая свой собственный блокчейн, построенный на базе технологий Komodo. Фактически, платформа Komodo предоставляет всем желающим абсолютно бесплатный конструктор для создания собственного блокчейна. Никаких навыков программирования и т.п. - не требуется, достаточно запустить демон / нативный кошелек с соотвествующими ключами, развернуть несколько подобных full node узлов, настроить майнинг - и ваш персональный блокчейн готов. При этом параметры блокчейна вы выбираете сами - например, вы можете сделать его PoW или PoS, или например 50% PoW / 50% PoS, выбрать вознаграждение за блок, а также правила его халвинга (уполовинивания). Например, вы можете предусмотреть награду майнерам в 256 монет за блок, с уполовиниванием вдвое после каждого 1000000 блока, или, к примеру, повторить правила консенсуса Bitcoin (BTC) или и вовсе придумать что-то экзотическое, проявив фантазию. Подробнее с процессом создания ассетов можно познакомиться в документации разработчиков, плюс, мы обязательно рассмотрим его в одной из будущих статей, если это кому-то будет интересно.

Ну а пока все что вам нужно знать про ассетчейны - то что это разные проекты, каждый со своим собственным блокчейном, но все они построены на базе технологий Komodo (на платформе Komodo). Для каждого ассета предусмотрен свой набор ключей запуска демона, ознакомиться с ними вы можете здесь. Так, например, для запуска ассета SUPERNET в native wallet нужно запустить komodod или komodo-qt с ключами командной строки:

-ac_name=SUPERNET -ac_supply=816061 -addnode=95.213.238.98

С AtomicDEX же все проще, т.к. она работает с Electrum серверами, вы просто выбираете в списке монет SUPERNET и нажимаете кнопку "Добавить".

Надеюсь что статья была для вас полезной. Кстати, для тех кто дочитал до конца и был внимателен, ~7.777 KMD в транзакции на скриншотах выше могут стать вашими. Для этого в качестве парольной (seed) фразы нужно использовать имя нашего ресурса в заглавном регистре. Приз небольшой и всего один, но забрать его достаточно легко. Удачи! Ну а на сегодня, это всё.