“Мир криптовалют — это новое поле для злоумышленников. Он идеально подходит для реализации их темных амбиций”.
Посудите сами:
Все сводится к получению приватного ключа — а значит огромное разнообразие мест, где эти приватные ключи могут хранится от личных пк c Windows и Android смартфонов до серверов онлайн-кошельков и крипто-бирж. По сути тут возможны все векторы атак, которые в принципе могут существовать в интернете.
- Нет банковских проверок и блокировок
- Нет лимитов на переводы
- Никто не сможет откатить транзакцию
- Относительно легко достижимая анонимность на всех этапах
- Украденные средства можно отмыть в два клика через биржи с анонимной регистрацией, конвертнув их в приватные валюты типо Monero или Zcash
- Все процессы можно автоматизировать
Для тех, кто понимает, что криптовалюты к нам пришли всерьез и надолго, перспектива роста интереса злоумышленников разных сортов (в том числе из государственных структур) к этой теме не вызывает сомнений. Безопасность хранения и использования крипты — важнейшее направление, в котором еще не решено множество вопросов и проблем.
Как грамотно подойти к хранению крипты?
Ответ простой:
“Никому не передавать свой приватный ключ”
Это значит, НЕ хранить крипту (большую ее часть) на:
- Онлайн кошельках типа blockchain.info, xapo и подобных. Вообщем на всех онлайн-сервисах, которые берут на себя хранение приватных ключей
- Централизованных биржах, потому что биржа — это как банк, который все плохие дяди хотят ограбить. А иногда и сами владельцы банка поддаются соблазну и устраивают собственное ограбление, выставляя себя жертвами.
- Мобильных приложениях — кошельках. До сих пор в Android и iOS к вашим данным могут получать доступ другие приложения, скачанные из сторов, а тем более сами корпорации Apple и Google. В этом направлении ведутся разработки, но по-настоящему безопасных кошельков пока нет.
- Любых системах, которые подключаются к интернету. Особенно на рабочих ПК и ноутбуках.
- На кошельках с закрытым исходным кодом.
- Не вводить приватные ключи в системах и в софт, которым вы не доверяете
Правильный метод хранения криптовалют называется “Холодное хранение”. Под этим подразумевается хранение приватных ключей на носителях, которые никогда не подключаются к сети:
- USB носитель
- Аппаратный кошелек (hardware wallet)
- Бумажный кошелек (paper wallet)
- Физический биткоин
Формулировка “никогда не подключаются к сети” может вызывать недоумение. Ты спросишь — “А как же тогда отправить транзакцию?”
Да конечно чтобы отправить транзакцию (broadcast transaction) нужен выход в сеть. Но фишка в том, что создать транзакцию и подписать ее можно оффлайн. А затем уже подписанную транзакцию смело перенести на машину с интернетом и отправить в сеть, используя любое окно с подключением к блокчейн-ноде хоть тот же блокчейн эксплорер.
Подписанная транзакция содержит инструкции что надо сделать в сети, которые криптографически подписаны вами. Достать оттуда ваш приватный ключ невозможно (обратным инжинирингом например). Может ли хакер как-то использовать подписанную транзакцию против вас?
Нет, все что он может это просто отправить транзакцию в сеть ещё раз. Сеть отвергнет вторую транзакцию, т.к. транзакция с одинаковым хешем может исполнится в сети только один раз.
Вообщем идея в том, что мы можем разделить процессы создания, подписи и отправки транзакции. И в этом разделении таится большая мощь и гибкость, которую стоит использовать.
Что мы собираемся сделать в этом гайде?
Наша задача — организовать систему, чтобы было безопасно и удобно делать следующее:
- Торговать на централизованных биржах
- Обналичивать крипту в фиат через Localbitcoins.com
- Использовать dapps. По большей части для торговли на децентрализованных биржах — EtherDelta, IDEX, Bitshares но и другие, например CryptoKitties
- Отправлять небольшие сумм с горячих кошельков
- Хранить основную часть крипто активов на холодных кошельках
- Отправлять крипту с холодных кошельков
Для использования dapps нам не обойтись без кошельков. А значит требования к безопасности повышаются. Зашифрованная виртуальная машина Ubuntu с Metamask — будет оптимальным решением для частого использования dapps, торговли на децентрализованных биржах и отправки небольших сумм.
Для хранения основного капитала — мы будем делать мультивалютное холодное хранение. Нам нужно иметь изолированную от интернета переносную операционную систему. Внутри такой ОС мы установим кошельки для всех интересных нам криптовалют чтобы создавать и подписывать транзакции оффлайн и затем переносить подписанные транзакции на горячую машину с помощью второй флешки.
“Постоянно загружаться в разные ОС и копировать транзакции на флешку? Звучит не очень то удобно” — скажешь ты. Если тебя пугает такая возня — я советую присмотреться к покупке аппаратного кошелька.
Аппаратные кошельки работают по такой же схеме, но с некоторыми преимуществами:
- Приватный ключ хранится в защищенной области микроконтроллера
- Нет возни с флешками и разными ОС. Подпись работает безопасно и удобно прямо в горячей машине
- Интеграция с множеством приложений
Некоторые кошельки (например Ledger Nano S) поддерживают более 25 криптовалют, имеют открытый исходный код по и железа и стоят всего 80 долларов.
Недостатки аппаратных кошельков:
- Максимум четыре одновременно активные криптовалюты
- Набор доступных валют ограничен и зависит не от тебя
- Выдают своё предназначение
- Стоят денег
Поэтому выбор за вами — пойти простым путём или по-сложнее, но зато более интересным. Этот гайд затрагивает тему использования софта, бирж и dapps достаточно широко. Поэтому будет полезен всем, в том числе владельцам аппаратных кошельков.
Далее пойдет туториал по организации самостоятельного хранения и использования для самых популярных криптовалют.
Никаких специфических навыков от тебя не требуется. Но без минимальной компьютерной грамотности не обойтись + желательно умение пользоваться ментальным или программным англо-русским переводчиком. Еще тебе понадобится:
- Компьютер или ноутбук
- Две флешки от 8Gb (да именно две и именно не меньше 8 гигов)
- Бумага/книжка/блокнот и хорошая ручка
В результате выполнения туториала у тебя будет:
- Безопасный браузер в основной рабочей ОС для работы на биржах и других критически важных сервисах.
- Виртуальная машина для операций с небольшими суммами и использования Web3 dapps
- Безопасный мультивалютный кошелек на загрузочном USB. Как минимум для: Bitcoin, Ethereum/Ethereum Classic + ERC20 токены, Monero, Bitshares, Litecoin, Stellar, NEO, Ripple, IOTA, DASH, NEM. Список можно расширить
- Проверенная схема организации бекапов, аккаунтов, адресов, паролей и 2FA кодов
- Система мониторинга холодных кошельков
- Система реагирования в случае кражи
Ну погнали!
1. Безопасная торговля на биржах:
Торговлю на биржах и Localbitcoins — удобнее и вполне безопасно вести с основной рабочей операционной системы.
Основные векторы атак тут:
- фишинг (https://goo.gl/CCNRpU)
- Подмена DNS (https://goo.gl/ZyDV8p)
- Атаки Man in the Middle (https://goo.gl/N592FF)
Чтобы обезопасить себя от этих атак, надо быть прежде всего внимательным и пользоваться безопасным браузером. Firefox — считается одним из самых безопасных браузеров при правильной конфигурации и наличии нужных расширений.
Настраиваем Firefox:
Включаем защиту от фишинговых сайтов:
Устанавливаем HTTPS Everywhere — принудительно включает HTTPS везде, где это возможно. Это защитит вас от MitM атак (https://goo.gl/t35EpB)
Всегда проверяем имя и сертификат сайта. Проверка сертификата убедит нас в том, что DNS не подменен. Можно использовать CipherFox чтобы удобнее проверять сертификат сайта (https://goo.gl/6ojJfJ)
Настраиваем доступ на биржи:
Настраиваем двух-факторную аутентификацию (2FA) через Google Authenticator везде, без исключений, в том числе на почте, которую используем для бирж.
При создании 2FA выписываем все сервисные коды в файлик 2fa.txt. Сервисные коды помогут восстановить доступ если вы потеряете устройство на котором стоит Google Authenticator.
Ставим сервисный пароль на вывод средств, если на бирже есть такой функционал. Это поможет защититься от самых хитрых и автоматизированных атак.
Файл 2fa.txt мы потом забекапим вместе с приватными ключами.
О менеджерах паролей:
Это очень удобно. Но я бы не рекомендовал использовать сторонние приложения для этого, потому что они часто оказываются желанной целью для хакеров. Стандартного менеджера паролей в Firefox вполне достаточно. Я бы также не рекомендовал настраивать синхронизацию паролей, выигрыш в удобстве тут сомнительный как по мне, а рисков сразу становится очень много. Пусть все хранится локально.
2. Виртуальная машина для dapps
В качестве виртуалки будем использовать Ubuntu. Почему Ubuntu? Потому, что безопасней чем Windows и это самый простой и понятный Linux дистрибутив для начинающих.
Качем VirtualBox (программа для виртаулизации) https://www.ubuntu.com/download/desktop
Устанавливаем VirtualBox и потом в него ставим Ubuntu. Отличная инструкция со скриншотами нашлась вот тут:
http://profitraders.com/Ubuntu/VirtualBoxUbuntuInstall.html
Установка Metamask:
Metamask — расширение для браузеров Chrome, Firefox и Brave с открытым исходным кодом, которое представляет собой Ethereum кошелек. Приватные ключи никуда не отправляются (https://metamask.io/)
Через Metamask вы можете взаимодействовать с децентрализованными приложениями (dapps), которые использую web3.js библиотеку. Например вы можете подключится к децентрализованной бирже EtherDelta или IDEX, играться в CryptoKitties, покупать доменные имена в Ethereum ENS.
Большой список dapps можно найти тут: (https://www.stateofthedapps.com/)
Устанавливаем Metamask в Firefox и создаем кошелек (видео в помощь: https://goo.gl/x13XcX), записываем 12 слов на бумажку/блокнот/книжку и копируем в файлик privkeys.txt. Также создадим еще файлик pubkeys.txt куда скопируем ETH адрес. Пока оставим эти файлы на виртуальной машине.
После этого останется закинуть немного ETH на адрес нашего Metamask кошелька и можно пользоваться.
Шифруем виртуалку:
После настройки нашей ВМ и установки всего нужного ПО, следует включить шифрование для VDI диска (это диск где хранятся файлы виртуальной машины).
- Для этого выключите (Power Off) Ubuntu.
- Перейдите в Настройки > Шифрование > Введите пароль > Ок
3. Загрузочный USB для холодных кошельков:
Будем использовать Tails в качестве портативной операционной системы. Почему именно Tails? Потому что эта Live USB система, она специально затачивалась на приватность и безопасность. Она построена на Debian — самом надежном дистрибутиве линукс, с минимально нужным софтом. А еще Tails поддерживает сохранение ваших данных в зашифрованной области.
- Идем на официальный сайт https://tails.boum.org/install/os/index.en.html
- Выбираем ОС вашего компьютера/ноутбука, с которого будет происходить установка
- Далее откроется подробная инструкция по установке на английском языке
- Следуем инструкции: устанавливаем сначала на одну флешку live версию, потом загрузившись с live делаем полноценную установку на другую флешку
Настройка зашифрованной области хранения (Encrypted Persistent) в Tails
Encrypted Persistent — это зашифрованный раздел на вашем USB, на котором мы собираемся хранить:
- ПО кошельков и других программ, которые установите
- Конфигурационные файлы для этих программ
- Приватные ключи от кошельков
- txt файл с адресами и публичными ключами
В случае утери флешки, даже если нашедший окажется достаточно заинтересованным и подкованным, чтобы попробовать расшифровать ее, шансы на успех атаки перебором будут стремится к нулю если у вас достаточно стойкий пароль.
Стойкий пароль — это рандомный набор из более 20 символов с цифрами, символами и буквами в разных регистрах. Не ленитесь сделать стойкий пароль! Запишите его для начала на бумагу, но потом лучше выучите наизусть.
Создаем Encrypted Persistent на Tails:
- Загружаемся в уже установленную Tails на USB> входим в систему
- Applications > System Tools > Configure persistent volume
- В окошке вводим стойкий пароль, нажимаем Create и ждем
- Появится окошко для выбора приложений, данные которых мы хотим сохранять. Выбираем Personal Data и Electrum (Bitcoin Client) > Нажимаем Save
- Перезагружаемся. Теперь при входе в окошке “Use Persistence?” выбираем YES и вводим пароль
- Все мы в системе с Encrypted Persistent. Теперь переходим к установке кошельков в папку Personal Data.
Если не получилось, вот видео инструкция
Качаем холодные кошельки для Tails
Подходим к самой интересной части — к установке и созданию различных кошельков. Но сначала нам нужно все это добро скачать, закинуть на флешку и перенести на Tails.
Тут у тебя может возникнуть вопрос: “Как кошельки поместятся на флешке?” . Ведь блокчейн Биткоина весит более 165 Гб на момент написания статьи.
Разумеется мы не можем на флешке 8Гб использовать кошельки, которые скачивают весь блокчейн. Нам нужны только “легкие клиенты”, которые используют SPV механизмы для верификации транзакций.
SPV или Simplified Payment Verification (https://goo.gl/qAGHz4) — это механизм проверки конкретной транзакции в блоке, без скачивания всего блока. Иначе говоря, этот механизм позволяет проверять только свои транзакции, без заботы о проверке чужих транзакций. Т.е. при этом не надо скачивать весь блокчейн и становится “полной нодой” (https://goo.gl/BYsMRH).
SPV — это не какая-то новая штука. Этот механизм упоминался в оригинальной бумаге Сатоши Накамото Bitcoin: A Peer-to-Peer Electronic Cash System . SPV работает в кошельке Electrum c самого его появления. В Ethereum есть аналогичный концепт LES, как и в многих других системах. И вся штука работает вполне надежно, до тех пор пока большинство нод являются добросовестными. На примере Electrum злоумышленник может захватить большинство Electrum Servers и тогда вы можете начать получать транзакции, которые в действительности невалидны и не присутствуют в основном блокчейне. Вы подумаете, что вам заплатили, а на самом деле нет. Подстраховаться тут можно очень просто — дополнительно проверять подтверждения транзакций через блокчейн-эксплореры.
Нам подойдут только “легкие клиенты”, которые соответствуют следующим требованиям:
- Открытый исходный код!
- Приватные ключи никуда не отправляются
- Качаем только с официальных репозиториев и сайтов
- Сборка стабильна и прошла проверку сообществом
Тут самое важное: это НЕ скачать вредоносный софт. Поэтому всегда проверяем url и сертификат на сайте.
Ниже представлены кошельки, которые использую я сам. Качать будем сборки для Debian (дистрибутив на котором построена Tails). Поехали!
Bitcoin
Наш выбор Electrum — один из старых и надежных легких клиентов с открытым исходным кодом. Electrum изначально предустановлен в Tails. Качать ничего не надо:)
Ethereum/Ethereum Classic and ERC20 tokens
Будем использовать локальную версию MyEtherWallet сайта, скачанную с официального репозитория. MEW — это полностью client-side кошелек. Это значит, что весь код для создания, подписи и отправки транзакции находится локально у вас на компьютере в вашем браузере в html и js коде этого веб-приложения.
Используя локальную версию, вы не подключаетесь никуда. А значит вы обезопашены от атак перехвата трафика, фишинга и подмены DNS. Создавать транзакции можно оффлайн.
Качаем из официального репозитория
https://github.com/kvhnuke/etherwallet/releases/download/v3.21.09/etherwallet-v3.21.09.zip
- Распаковываем архив и запускаем файлик index.html — это все, что нужно чтобы стартануть MEW локально
MEW можно использовать для хранения ETH и ETC. И конечно для всех ERC20 токенов, например ZRX, REP, ANT, DNT и т.д.
Monero
- MyMonero — одобренный сообществом легкий клиент. Качаем с оффициального репозитория версию для Linux:
https://github.com/mymonero/mymonero-app-js/releases
Bitshares
- Официальный клиент. Качаем для Linux: https://github.com/bitshares/bitshares-ui/releases
Litecoin
- Electrum-ltc — зарекомендовавший себя форк Electrum для Litecoin. Код откры. Качаем для Linux:
https://github.com/pooler/electrum-ltc/releases
Stellar
- Foxlet wallet — одобренный Stellar легкий кошелек. Код открыт. Качаем для Linux
https://github.com/stellarchat/desktop-client/releases
NEO
- Официальный легкий кошелек от сообщества. Код откры. Качаем для Linux
https://github.com/CityOfZion/neon-wallet/releases
Ripple
- Toast Wallet — неофициальный легкий клиент — наш выбор. Код открыт. Качаем для Linux
https://toastwallet.com/
IOTA
- Официальный кошелек может работать в режиме “легкого клиента”. Качаем для Linux
https://github.com/iotaledger/wallet/releases
DASH
- Electrum-dash — официально одобренный кошелек. Качаем для Linux
https://electrum.dash.org/#download
NEM
- Nano Wallet — официальный легкий клиент. Качаем для Linux
https://nem.io/downloads/
Устанавливаем и настраиваем холодные кошельки в Tails
К этому моменту мы скачали все сборки нужных нам кошельков и закинули их на флешку. Теперь вставляем USB с Tails и загружаемся в нее. Не подключаемся к интернету!
Создадим внутри домашней директории папку, назовем ее например Wallets. Вставляем вторую флешку со сборками и перекидываем все файлы в папку Wallets.
Далее по очереди устанавливаем и создаем наши кошельки.
- Распаковываем архив/запускаем dpkg установщик
- Переходим в папку/следуем всем шагам
- Запускаем кошелек
- Создаем новую пару приватный-публичный ключ
- Копируем каждый приватный ключ в файлик (например privkeys.txt) с пометкой от какой он блокчейн системы. Этот txt мы потом надежно зашифруем и забекапим
- Записываем приватный ключ на бумагу/блокнот/книжку
- Придумываем надежный пароль, чтобы зашифровать файл приватного ключа внутри кошелька
- Копируем адреса и публичные ключи в другой файлик (например pubkeys.txt). Нам нужен публичный ключ и адрес/a (часто это не одно и тоже). Этот txt мы потом перенесем на горячую машину
Процесс везде одинаковый и интуитивно понятный. В Tails вы можете устанавливать сторонние приложения только в свою папку Personal Data. У вас могут возникнуть проблемы с зависимостями, тогда их надо установить отдельно. Тут надо гуглить в каждом отдельном случае.
Отправляем крипту с холодных кошельков
Чтобы было максимально безопасно — к интернету подключаться нельзя. Поэтому схема такая:
- Закидываем на флешку в txt файле адреса на которые нужно отправить и суммы (если это важно)
- Загружаемся в Tails с включенным Persistence Storage
- Запускаем нужный кошелек и создаем транзакцию
- Нам надо получить Signed Transaction
- Копируем этот набор символов на флешку в файлик типа transactions.txt
- Загружаемся в горячую ОС и делаем broadcast транзакции через блокчейн эксплорер например для Битка тут (https://goo.gl/5qMrJK), для Эфира тут (https://goo.gl/NhXTcR)
4. Watch-only кошельки
На горячей машине мы собираемся сделать “watch-only” кошельки. Watch-only — это такой кошелек, через который мы можем наблюдать свои балансы, принимать платежи и генерировать новые адреса (через публичный ключ), но не можем ничего отправить, т.к. приватного ключа там нет.
Нам понадобятся наши адреса и публичные ключи от созданных ранее кошельков. Переносим с помощью флешки файлик pubkeys.txt на горячую машину.
В качестве watch-only кошелька можно использовать блокчейн-эксплорер или софт кошелька с импортированным публичным ключом. Разница в том, что через софт с публичным ключом мы можем наблюдать балансы на всех своих адресах и генерировать новые адреса. А через блокчейн-эксплорер мы можем наблюдать только конкретные адреса.
Создадим watch-only для Биткоина в Electrum:
- Качаем Electrum на горячую машину
- Запускаем, выбираем создать кошелек
- Выбираем “standart wallet”
- Далее выбираем “use a master key”
5 Вставляем ПУБЛИЧНЫЙ ключ от биткоин кошелька, который мы сохранили в pubkeys.txt. Публичный — этот который начинается с xpub
Нажимаем Next и наш watch-only кошелек создан. В нем вы можете смотреть балансы, генерировать адреса и принимать платежи, но не можете ничего отправить.
Тоже самое делаем для остальных интересных нам криптовалют. Везде принцип одинаковый, но для некоторых достаточно блокчейн-эксплорера:
Ethereum/Ethereum Classic:
https://etherscan.io/address/0x0000000000000000000000000000
Где вместо 0x00… вставьте ваш адрес. Я лично сделал закладки для всех своих адресов в отдельной папке.
Bitshares:
https://cryptofresh.com/u/yourname
Stellar:
https://stellarchain.io/address/youraddress
NEO:
https://neotracker.io/address/youradress
Ripple:
IOTA:
https://iotasear.ch/address/youraddress
NEM:
http://explorer.nemchina.com/#/s_account?account=youraddress
Для DASH, LTC все делаем по аналогии в Electrum.
Для Monero инструкция тут https://getmonero.org/resources/user-guides/view_only.html
5. Мониторинг холодных кошельков
Когда мы можем поглядывать за нашими балансами через watch-only кошельки — было бы здорово автоматизировать это дело и мгновенно получать уведомления о всех входящих и исходящих транзакциях на холодных кошельках.
Для этих целей можно написать свой мониторинг в гугл табличке например (https://goo.gl/wXPV5a). Или использовать какие-то специальные сервисы/ботов.
Например MyETH_bot (https://t.me/myeth_bot) для отслеживания балансов ETH и всех ERC20 токенов. Бот проверяет ваш кошелек каждые 30 секунд и реагирует очень быстро. Правда есть ограничение в один ETH адрес на пользователя.
Для Биткоина и других валют я не нашел никаких сервисов и сделал мониторинг в гугл таблице с помощью Google Apps Script.
6. Что делать в случае кражи?
Чтобы обчистить весь твой ETH кошелек со всеми ERC20 — надо под каждый токен делать новую транзакцию. Во-первых это занимает время, во-вторых в Эфириуме возможно перебивать (Replace By Fee - https://goo.gl/6vWbGw) свои же транзакции. И это дает нам шанс опередить злодея и спасти часть средств. И если нужно — вывести все другие криптовалюты на резервные кошельки (или на биржу если таковых нет)
Очень важно быть подготовленным к такому. Тут все упирается в удобство и скорость реакции. В случае с Tails — это конечно будет не так быстро по сравнению с аппаратным кошельком, но когда крипты много и она разная — 10–30 минут вполне должно хватить чтобы успеть опередить хакера.
В идеале такой процесс надо полностью автоматизировать. Например с помощью своего защищенного VPS сервера, на котором работают все кошельки и скрипт, который по нашему сигналу тревоги стартует операцию по автоматизированному выводу средств на резервные кошельки.
Кстати через MyETH_bot можно отсылать кастомные callback запросы в случае тревоги. По сути уже сейчас можно использовать его для настройки такой системы реагирования. Но это тема для отдельного гайда.
7. Организуем бекапы
Как только все кошельки созданы, нужно надежно забекапить все наши приватные ключи,пароли и сервисные коды от Google Authenticator. Это действие достаточно сделать один раз, но оно критически важное.
Ваши бекапы могут выглядеть вот так:
- Выписанные ключи и пароли в бумагу/блокнот/книжку
- Зашифрованные файлы приватных ключей внутри Tails USB
- Файл privkeys.txt и 2fa.txt в зашифрованном zip архиве на флешке. Храним отдельно от флешки с Tails (например у родителей или в банковской ячейке)
- Файл privkeys.txt и 2fa.txt в зашифрованном архиве в надежном облаке (например Google Drive). Как дополнительный вариант.
- Создаем зашифрованный архив
- Поместим все файлы, которые мы хотим защитить паролем и забекапить в отдельную папку. Например folderx
- Правой кнопкой мыши нажмем на папку folderx и выберем Compress…
- Раскроем меню “Other options” и введем стойкий пароль в Ubuntu
3.1 В Tails делаем это командой в терминале:
zip --encrypt folderx.zip -r folderx
где folderx — это папка со всеми файликами
4 Нажмем Create и наш архив будет создан. После этого останется только перекинуть его на флешку и в облако
Думаю, что такая схема более чем надежная. Но я посоветую тебе улучшить, дополнить и замаскировать каждый пункт, используя свои собственные идеи.
На этом все. Пишите вопросы и замечания к статье в комментариях, я с удовольствие отвечу. Спасибо за чтение!
Всем удачи!
✅ @pd9999i, I gave you an upvote on your post! Please give me a follow and I will give you a follow in return and possible future votes!
Thank you in advance!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://medium.com/@encryptmymoney/%D0%BF%D1%80%D0%BE%D0%B4%D0%B2%D0%B8%D0%BD%D1%83%D1%82%D1%8B%D0%B9-%D0%B3%D0%B0%D0%B9%D0%B4-%D0%BF%D0%BE-%D1%85%D1%80%D0%B0%D0%BD%D0%B5%D0%BD%D0%B8%D1%8E-%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D1%8B-bdf877ebb3e6
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @pd9999i! You have completed the following achievement on Steemit and have been rewarded with new badge(s) :
You made your First Comment
Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word
STOP
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @pd9999i! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :
Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @steemitboard:
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @pd9999i! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit