Технологии 12 декабря 2017

Готовимся к ICO. Инструкция, часть 2

Далее

Как избежать фишинговых и других хакерских атак при начале ICO, почему нужно заранее обнародовать адрес смарт-контракта, как и через кого лучше принимать платежи, насколько важно отработать весь вал вопросов от пользователей в первые часы начала кампании, как правильно вести рекламную кампанию? Это лишь небольшая часть жизненно важных для успешного ICO тем, которые вошли во вторую часть конспекта «Готовимся к ICO». В этой части «Хайтек» публикует выступления на тренинге для новых блокчейн-стартапов специалистов команды KickICO по саппорту, технологическому обеспечению и маркетингу кампании ICO. 

Продолжение конспекта. Начало см. здесь.

Александр Спирин о саппорте

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

Задачи саппорта:
— Разрешать сомнения пользователей
— Контролировать негативный фон
— Оперативно реагировать на проблемные ситуации
— Собирать дополнительную статистику
— Своевременно исправлять мелкие недочёты
— Активизировать и развивать коммьюнити

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

Чарт эффективности каналов связи:
— Чат-виджет на сайт — абсолютный мастхэв, на него пришлась самая большая нагрузка. Мы использовали Zendesk, также подходят talk.to, jivosite.
— Telegram. Часть вопросов пришла в чат проекта, и многие пользователи любят телеграм за то, что можно написать напрямую любому известному человеку.
— Email
— Facebook
— Twitter

От поддержки очень зависит участие человека в ICO, как правило человек общается с саппортом сразу перед покупкой. При ICO пик запросов приходится на первые часы после старта, потом поток спадает и снова усиливается за два-три дня до окончания кампании. Наш саппорт получил 1500 обращений в поддержку за первые 10 часов. В последние дни — 600 в день, а в среднем отвечали на 450 сообщений в день.

В любой ситуации, когда что-то идет не так, то саппорт — это те, кто способен погасить панику среди комьюнити и не дать ей вырасти и поползти дальше. Мы рекомендуем запустить круглосуточную онлайн-поддержку (чат, телеграм) за 2-3 дня до старта кампании. Коммьюнити менеджер заранее подбирает и обучает сотрудников саппорта, полностью вводит в тему, прорабатывает с ними FAQ на разных языках. Таких людей можно найти на каналах в Телеграме @ibcghr, @blockchainfreelance, @Freelanceblockchain, или на форуме bitcointalk среди участников вашей Баунти-кампании.

Андрей Перепелица о технической подготовке

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

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

— Для ICO подойдет либо dedicated, либо cloud-хостинг. Dedicated server, выделенный хостинг, позволяет иметь зашифрованные диски внутри контейнеров и при отключении питания при отсутствии открытого ключа не дать доступ посторонним лицам, имеющим физический доступ к серверу. Сloud — это крупные решения от Amazon (aws, ec2, es2), Microsoft Azure и подобные.

— Провайдер должен обеспечить вас достаточным для большой нагрузки каналом.

Сервер
— Для настройки сервера нужен профессионал, который будет следить за обновлением ПО, закроет порты основных ресурсов от несанкционированного доступа — mysql/mongodb/postgresql, запакует софт в контейнеры.

— Доступ к серверу осуществляйте по вайтлисту: либо по ключам (публичный на сервере, приватный у вас), либо через VPN.

— Следите за обновлениями
Программное обеспечение на серверах, в том числе openssl, sshd, libmysql, lib*, postgresql, postfix, нужно регулярно обновлять. Поскольку сервер работает на opensourse, ПО с открытым исходным кодом, то на нем могут быть уязвимости. Сообщество следит за багами, которые публикуют на сайтах, и вовремя обновляет пакеты. Например, в начале 2017 года нашли серьезный баг в openSSL, который до сих пор не закрыт на 50% серверов, потому что не обновлено ПО.

— SSL-сертификат для домена и защита от DDoS
SSL (Secure Sockets Layer, уровень защищённых cокетов) — криптографический протокол, который шифрует трафик. Когда посетитель заходит на защищенный SSL сайт, между ним и сервером создается туннель, который невозможно расшифровать без ключа.

Существует вид атаки «Man in the middle», когда между посетителем и сервером вклинивается третий: человек, сервис или вирус. Он пропускает через себя всю информацию, которой обмениваются стороны, например перехватывает логин и пароль. При SSL такая атака невозможна. При DDoS (Distributed Denial of Service) атаке пытаются вывести из строя сервер: завалить запросами, чтобы он упал, или забить канал. SSL-сертификат можно купить и установить, либо периодически генерировать сертификаты от letsencrypt.org. Можно проксировать проект через cloudflare.com, который выдает сертификат автоматически и также защищает от DDoS.

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

Сайт
— Сайт для ICO делайте самостоятельно, а не на шаблоне
Любой человек может скачать и посмотреть исходный код всех бесплатных CMS, например Вордпресса и тем к нему. В них всегда есть баги, часто бывают критические уязвимости. Если вы делаете сайт сами, его исходный код закрыт, и даже если там есть ошибки, у хакеров будет мало времени, чтобы их найти.
Вордпресс и подобные CMS постоянно ломают. Есть такое понятие «0day-уязвимости», то есть те, которые становятся публично известны до того, как разработчики устранили их. Это возможно при открытом коде. Хакеры из закрытых сообществ находят баги, взламывают сайты, какое-то время ими пользуются, потом сообщают об уязвимости.

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

— Разрабатывайте систему на основе фреймворков, которые возьмут на себя основную нагрузку по защите от уязвимостей (Laravel, RoR).

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

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

Преимущество смарт-контрактов — автоматизация. Во время краудсейла KickICO все платежи проходили через смарт-контракты. На адрес поступали эфиры, проходили через контракт, и токены рассылались пользователям. Адрес смарт-контракта существует отдельно от сайта. Если он упадет или будет атакован, то адрес контракта можно разослать пользователям и платежи будут работать.

Кейс ICO Insurex. Компания использовала бесплатную тему на Вордпрессе. Во время краудсейла им подменили адрес контракта на фишерский. Адреса всех контрактов выглядят похоже, и если пользователи не проверят адрес через etherscan.io, то даже не поймут, на верный ли контракт они шлют деньги. За 7 минут Insurex потерял несколько миллионов долларов.

Поэтому обязательно оповестите всех пользователей заранее о правильном адресе контракта. То же правило и для самостоятельного приема биткоинов — опубликуйте адрес заранее.

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

Агрегаторы ждут нескольких подтверждений в сети от каждого платежа, чтобы исключить атаку «Double spending». Это повторная передача одного актива, возможная, если провести несколько транзакций достаточно быстро с большого майнинг-пула. Поэтому транзакции через агрегатор очень медленные. Также, если ваш сайт упадет, то все платежи остановятся, потому что не будут генерироваться кошельки.

Смарт-контракт
— Актуальное техническое задание
ТЗ на смарт-контракт нужно для того, чтобы внешние аудиторы могли проверить заявленное поведение: контракт запускается в определенное время, держит курс, выполняет пункты. Также контракт проверяют на недокументированное поведение.

У нас в KickICO не было проблем с написанием контракта, но он получился сложный, поэтому мы его тщательно тестировали в несколько итераций и выявили проблемы до начала работы.

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

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

Пример централизованной системы — эмиссия доллара США. У нее есть центр, который может печатать доллары, диктовать их стоимость. Централизованные системы — банки. Они контролируют свою систему и могут, к примеру, заморозить аккаунт любого клиента.

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

— Краудсейл токенов, выпущенных по ERC20
Краудсейл — продажа токенов публике. Стандарт ERC20 устанавливает общие правила для токенов, выпущенных на Ethereum. Этот стандарт помогает сделать токены более взаимозаменяемыми и упрощает совместимость токенов с новыми продуктами и услугами. Эфириум сейчас де-факто стандарт для проведения ICO. Блокчейн эфира работоспособен и проводит достаточное количество транзакций. Его инфраструктура позволяет переводить токены между пользователями и продавать их на биржах после одобрения. Выпустить токен на эфире гораздо проще, чем запустить собственный блокчейн.

— Solidity
Язык написания смарт-контрактов — Солидити. Это простой язык, даже слишком. Плюс его в том, что в простых вещах в нем сложно ошибиться. Минус — сложно работать с вещами, которые обычно пишут на высоком уровне, например, с большими массивами данных.

— Разработчики смарт-контрактов
Хороших специалистов появляется все больше и больше, но обязательно контролируйте правильность написания контракта контролируйте с помощью ТЗ. После разработки привлекайте внешних аудиторов — чтобы они проверили код на наличие хак-закладок.

Тестирование и аудит
— Тест на проникновение (пентест сервера), прогон сайта по OWASP-уязвимостям сканерами с помощью баунти.
При тестировании люди смотрят код, пишут для него тесты, которые проверяют заявленную функциональность с разными входными параметрами. Перед началом краудсейла протестируйте сайт на проникновение: имитируйте атаку хакеров. Также пройдитесь по основным векторам атак из OWASP TOP-10.

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

ICO
— Выпуск (деплой), распространение и верификация контракта
Контракты необходимо деплоить заранее и верифицировать их, чтобы обеспечить наибольший охват для тестирования. Верификация на etherscan.io позволяет заранее обнародовать адрес контракта, это повышает доверие. Можно сделать подпись к контракту — например, KickICO Crowdsale. Так пользователи убедятся, что шлют деньги на верный адрес, а не фишерам.

После ICO
— Завершение, редеплой токена при необходимости
Редеплой (перевыпуск) токена понадобится, только если вы захотите что-то изменить в условиях контракта и пользователи с вами согласятся.

Мы в KickICO хотели внести изменения в контракт, а из-за структуры блокчейна это сделать невозможно. Поэтому мы сделали редеплой и разослали токены еще раз.

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

Юрий Парсамов о маркетинге

Директор по маркетингу KickICO на примере условного героя, который хочет собрать на условном ICO условные 50 миллионов, показал маркетологам проектов, как вести рекламную кампанию. Как в любом маркетинге, герой должен понимать, кто его аудитория, какую ценность он им может дать, с кем для этого нужно поговорить и что кому донести.

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

Институциональные инвесторы и Крипто-венчурные фонды, то есть те, кто профессионально занимается инвестициями в криптостартапы, важны для вас, потому что делают большие вложения и заинтересованы в росте вашего токена. Эту аудиторию нужно будет убеждать лицом к лицу: на встречах, митапах, конференциях, с помощью рекомендаций. Чтобы они приняли вас всерьез, нужно показать компетенции команды, ваших адвайзеров, убедить их в нужности и важности проекта, объяснить суть бизнеса. Они будут задавать вам самые неудобные вопросы, но от них же идет самая ценная обратная связь. Обычно работой с этой группой занимается СЕО, потому что это слишком ответственная репутационная часть, которую сложно делегировать.

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

Спекулянты, то есть те, кому важно купить подешевле и быстро скинуть, узнают про вас сами из листингов. Если ваш проект HOT (Honest-Open-Transparent), то желательно отсечь самых злостных спекулянтов, которые способны обвалить цену вашего токена сразу после закрытия ICO.

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

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

Контент-маркетинг и пиар — публикация новостей на собственном сайте и в блоге, а также освещение ICO в отраслевых медиа: изданиях о криптовалютах и смежных СМИ о стартапах, бизнесе, экономике.

Непрямая коммуникация — это публикация вашего ICO во всех листингах. Мы использовали (в порядке убывания по количеству переходов) Token Market, ICO Rating, ICO Alert, Coinschedule, ICO Bench, ICO CountDOwn и ICO list.

Запуск контекстной, таргетированной, баннерной рекламы и арбитраж трафика через CPA-сети. Результаты:

Самое важное

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