⇐ Назад, в начало блога

Skyfchain ICO: review, audit

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

img 5b5e713cc0d88 - Skyfchain ICO: review, audit

Смарт контракт

Адреса, имеющие отношение к ICO:

Смарт контракт содержит бесконечно большое кол-во путей, когда основатель (при желании) может отобрать / не выплатить токены инвестору, а так же оставить себе сколь угодно много токенов в пределах Hardcap. Обычно такие ICO классифицируются как фейк, где токены однократно эмитируются в кошелек основателя и далее как-то распределяются. Здесь добавлено несколько косметических трюков, как-то облагородить такое грубое нарушение прав инвестора.

Смарт контракт при создании сразу однократно эмитирует 100% токенов по разным кошелькам:

  •         528 млн — кошелек «для продажи на ICO»
  •         18 млн — кошелек «баунти»
  •         240 млн — кошелек «team»
  •         120 млн — кошелек «community development»
  •         180 млн — кошелек «network development», частично с заморозкой на 2 года, частично с возможность забирать их сразу
  •         114 млн — кошелек «reserve» с заморозкой примерно на 1 год

Далее предполагается в обход каких-либо систем контроля как-то собирать деньги (не на смарт контракт) и после платежей предполагается перевод токенов с личного кошелька основателя (с 528 млн токенов) очередному инвестору по объему его приобретения.

В конце ICO предполагается, что основатель должен вызвать функцию finalize() и сжечь оставшиеся токены.

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

  • Разработчик смарт контракта и основатели проекта злостно издеваются над идеологией блокчейна, где никто никому не должен обещать. Фраза «Мы обещаем сжечь нераспроданные токены» является профанацией идеи блокчейна и демонстрируют всем, как и насколько неверно основатель представляет себе ICO, процедуру честного обмена денег на токены, защиту прав инвестора.
  • Кажется, что хотя бы Hardcap по токенам в 1,2 мрлд нельзя преодолеть / подделать. Однако, такой обман осуществляется легко, если того захочет основатель. Инвесторы в момент оплаты отправляют деньги на посторонние адреса (не на адрес обсуждаемого смарт контракта). Поэтому в ответ им можно присылать абсолютно любые токены, от другого смарт контракта.
  • В промежутке между созданием 528 млн токенов в кошельке «Для распродажи на ICO» и до момента финализации отсутствуют хоть какие-то проверки и контроль, а что делает основатель. Даже, если основатель и вызовет finalize(), но до того момента основатель мог забрать себе столько токенов, сколько бы хотел. Это косвенно оставило бы больше токенов, чем полагается, по всем остальным типа кошельков.
  • Список продолжать бессмысленно, т.к. основатель проводит ICO в обход смарт контракта и потому никакими рамками не ограничен. Если бы был какой-то код в смарт контракте, который можно было изучать, проводить аудит — это было бы сделано. Текущая ситуация характеризуется фактически отсутствием какого-либо кода, что делает его аудит просто невозможным. Тот код, что приведен по ссылке — ширма и к ICO отношения не имеет.

Анализ транзакций https://etherscan.io/txs?a=0x5dd0815a4cf119ad91ba045bbbf879f3f7de3c68& показывает, что там в основном используется рассылка токенов для AirDrop и других маркетинговых программ.

В каждой транзакции используется 1 адрес получателя токенов. Программист смарт контракта имеет столь низкую квалификацию, что не подозревает о существовании массивов и возможности разослать токены сразу 100-200 получателям в одной операции. Такое кол-во транзакций бессмысленно и вредно для Ethereum —  ничего не делают, забивая блокчейн мусором в стиле CryptoKitties.


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

 

Права инвесторов

К сожалению, в противовес бесконечно большим правам основателя, у инвесторов столь же нулевые права. И, из-за отсутствия кода, нет возможности указать на конкретные ущемления их прав, т.к. может случится что угодно:

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

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

 

Метод сбора денег

Как было замечено, деньги собираются мимо смарт контракта. При этом используются индивидуальные адреса для BTC:

img 5b5e6abbea523 - Skyfchain ICO: review, audit

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

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

Если случится одно из следующих событий:

  • хакер полностью подменил алгоритм генерации всех кошельков и закрытых ключей к ним
  • хакер выборочно редким инвесторам подменяет кошельки, чтобы его не сразу поймали
  • нелояльный сотрудник (программист) или другие лица (сотрудники хостера) делают тоже самое (массовую замену или тайную, понемногу)
  • программист ненамеренно сломал алгоритм выдачи кошельков (массово или выборочно)
  • программист / основатель потеряли базу закрытых ключей создаваемых кошельков (если они генерируются не по базовому BIP32 Root Key или аналогу)

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

Если случится описанная проблема, то инвестор никак не докажет, что именно сайт заставил его перевести деньги на неверный адрес. Когда в ICO применяется единый адрес сбора для каждого блокчейна, то в случае взлома это становится известно всем, особенно сотрудникам компании, довольно быстро (паника в чате, как правило). С индивидуальными кошельками — проблема может быть не обнаружена сколько угодно долго. Угроза потерь собранных денег — угроза благосостояния всего проекта.


img 5b5e6bc6169e0 - Skyfchain ICO: review, audit

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

 

Пыль в глаза

img 5b5e60494d644 - Skyfchain ICO: review, audit

Личный кабинет намекает (рекламирует) на существование смарт контракта. Это попытка причислить продукту некоторые стандарты, протоколы, регламенты, когда на самом деле ничего подобного нет. Самый мягкий термин — недобросовестная конкуренция и обман пользователя относительно существования смарт контракта, который управляет ICO. Смарт контракт есть, только посторонний.

 

Двухфакторная авторизация

img 5b5e6939ba8c7 - Skyfchain ICO: review, audit

2FA — это полезная и нужная функция. Однако, согласно статистики, практически никто добровольно ее включать не будет. Следовательно:

  • это бесполезная функция
  • за нее было оплачено программистам
  • она создает иллюзию защищенности, когда никакой безопасности не добавляется

В ICO платформе от CryptoB2B нет бесполезной 2FA, но имеется принудительная и сразу включенная трехфакторная (многофакторная) авторизация, действующая незаметно для пользователя. Если хакер каким-то образом получит доступ к аккаунту пользователя, это не принесет ему результата.

 

Сверка операций

ETH сборы осуществляются на https://etherscan.io/txs?a=0x199F2202D878e9747b4f96cdf2c980D59d7C0969 и там тысячи подозрительных операций. Например, https://etherscan.io/txs?a=0x199F2202D878e9747b4f96cdf2c980D59d7C0969&p=68

img 5b5e66064dae3 - Skyfchain ICO: review, audit

Большое кол-во девяток (показано не целиком, см. инфо о каждой транзакции) говорит о программном характере этих операций. Когда инвестируют люди, суммы округляются иным образом. Так же люди не ставят одинаково низкую или постоянно повторяющуюся цену за транзакцию (последняя колонка). Сложно искать причины этих аномалий, наиболее вероятная причина — «аренда денег» или «прогон денег по кругу», когда они поступают и убывают со счета, на который идет прием средств для ICO. Эти операции Личный Кабинет выдает за совершенные инвестиции в немыслимых объемах по кол-ву участников, которым не могут похвастаться и самые популярные ICO.

 

Виджет сбора денег

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


Помимо этого, ужасающим образом организовано простое информирование о ходе компании. Вот, что видно на сайте:

img 5b5e6ba415f4f - Skyfchain ICO: review, audit

img 5b5e6ca2cc326 - Skyfchain ICO: review, audit

Нет возможности понять:

  • каков Hardcap
  • сколько раундов
  • сколько уже собрали (число $6M намекает на это, но оно не имеет комментария и может оказаться чем угодно)
  • сколько токенов всего к продаже
  • сколько токенов уже продано
  • и  т.д.

Данное представление о юзабилити дает возможность понять, как основатель проекта относится к качеству подачи информации. Из этого можно судить по качеству основного продукта, которая компания создаст в будущем.


img 5b5e6d816745e - Skyfchain ICO: review, audit

Внутри Кабинета фигурируют совершенно не поддающиеся логике числа:

  • сбор не $6M, а $5M (??)
  • завершено на 120% (??)
  • регистраций ~11000 человек, а плательщиков ~7000 человек (60%), чего не бывает в реальности (огромный шанс, что это вранье)
  • «Succesfully processed 100%» — бесполезная информация, т.к. это число всегда будет в 100%
  • «Active investors 100%» — аналогично

Личный кабинет изобилует разными отчетами. Но:

  • Нет информации, сколько собрали ETH и BTC с указанием линка, где это можно проверить
  • Нет отчета по продажам токенов
  • Постоянное лукавство или вранье: например в TOP «самых богатых инвестиций» нет ссылок на транзакции и просто поиском их обнаружить не удалось
  • Огромное кол-во автоматически сгенерированных операций
  • Большое кол-во отчетов призвано пустить пыль в глаза и обеспечить солидность, тем временем основные показатели скрыты

 

Выводы

  • Низкое качество юзабилити сайта и Личного Кабинета по предоставлению финансовой информации
  • Грубые ошибки с числами и отчетами о ICO, смахивающими на мошенничество
  • Метод сбора денег намеренно затруднен, хоть какой-то аудит провести невозможно
  • Техническое качество кода смарт контракта — критично низкое
  • Регламент проведения ICO — на грани мошенничества
  • Отсутствие хоть какой-то защиты прав интересов инвесторов
  • Безграничные права основателя проекта над токенами и их распределением
  • Никаких следов 5 (или 6) млн долларов сбора не обнаружено (заметим, что не ясно, сколько они заявляют про сборы)
  • Никаких следов ~7000 покупателей токенов не обнаружено

Вся система построена так, что любой аналитик / аудитор сможет легко обвинить проект в мошенничестве. Не прозранчые механизмы сбора денег и распределение токенов — легкая основа для обвинений в чем-либо. Однако, в данном обзоре рассматриваются только технические принципы, а не мотивы основателя, поэтому никаких выводов (кроме самых явных глупостей) не делается. Документ представляет собой оценочное суждение его автора и в целом компания CryptoB2B не сомневается в благих намерениях основателей, а так же желает успехов в реализации проекта.

 

Технический рейтинг проекта Skyfchain

Описание основной технической идеи? Не оценивали: +0.
[-10=отстуствует, 0=нейтрально, +5=присутствует]

Найдено ли явное техническое вранье (мошенничество)? Найдено. -10.
[-10=найдено, 0=не оценивали, +3=позитивно]

Имеет ли отношение к блокчейну основные функции проекта? Не оценивали, +0.
[-10=не имеет, 0=имеет, +10=экосистема]

Адекватность продажи токенов, защита интересов инвесторов? Ужасающе (негативно), -10.
[-10=нарушения, 0=не оценивали, +5=честное ICO]

Качество кода, ошибки в смарт контракте? Низкое качество (негативно). -3.
[-10=найдены ошибки, 0=не оценивали и/или ошибок нет, +5=хорошее качество]

Открытость команды к проведению аудита и ответам на неудобные вопросы? Не анализировали, +0.
[-10=враждебность, 0=не проводили, +2=открыты к сотрудничеству]

Промежуточная оценка по формуле: -10-10-3 = -23 баллов. Числа меньше нуля или более 10 округляются до диапазона [0…10]. Итого: «-23» округляется до «0».

Градации оценки:

  • -50 … -21 = экстремально плохо
  • -20 .. -10 = очень плохо
  • -9 … +0 = плохо
  • +1 … +3 = так себе
  • +4 … +9 = позитивно
  • +10 .. +20 = отлично
  • +21 и более = превосходно

Итоговый технический рейтинг cryptob2b для проекта Skyfchain: 0 из 10, оценка — экстремально плохо.

⇐ Назад, в начало блога