btc
bch
eth

Криптокотята: игра, захватившая Эфириум. Самый подробный обзор приложения.

Рано или поздно это должно было произойти: 28 ноября вышло игровое приложение CryptoKitties, которое за считанные дни стало самым популярным на блокчейне. Криптокотята являются децентрализованной версией популярной в 90-х тамагочи. В игре есть возможность приобретать себе за эфир питомцев, каждый из которых обладает своим набором навыков и уникальной 256-битной генетической последовательностью, что дает возможность создать более 4 миллиардов неповторимых животных. В данной статье мы рассмотрим историю создания приложения и причины, по которым оно стало настолько популярным, а также покажем, почему CryptoKitties — это не просто “очередная бессмысленная игрушка”.

Команда

Команда проекта работает над игрой довольно давно. На самом крупном Эфириум-хакатоне именно CryptoKitties были названы победителями (стоит отметить, что это не первый подобный приз студии-разработчика Axiom Zen). У членов команды есть опыт работы с такими брендами, как Civic (система идентификации, основанная на блокчейне), IBM, Twitter и Starbucks, а продукты этой компании используют Adobe, Microsoft, NASA, Apple и Google. Блокчейн-игра была лишь одним из экспериментов, созданным в специальной лаборатории.

Механика игры

Всем известно, что некоторым людям необходимо испытывать чувство ответственности за кого-либо. По мере развития интернет-технологий наша жизнь становится все более зависимой от них. Идея цифровых питомцев не нова: еще в 90-е годы ХХ века редкий ребенок не мечтал о зверьке, существующем лишь в электронном виде — тамагочи. Однако время идет, появляются новые устройства и механизмы, которые позволяют нам реализовывать все более сложные проекты. Именно так размышляли и разработчики Axion Zen, создавая игру на блокчейне, способную использовать все преимущества распределенных реестров. 

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

После покупки котят появляется возможность разводить их, получая потомство. Интересным является то, что механизм выведения новых особей учитывает и наследственность. Именно из-за этого цена на котят может варьироваться от 0.001 Эфиров ($0.49) до $115 000 (за столько был куплен самый первый криптокотенок, ставший отправной точкой сети). Список самых дорогих питомцев можно посмотреть на сайте. Цена формируется на основании огромного количества как объективных (номер поколения, порода, частота воспроизведения потомства), так и субъективных (например, котик с номером 8888 является желанной целью огромного количества граждан КНР). Продажа происходит через аукцион. На странице каждого котенка есть информацию о скорости воспроизведения потомства, “cattributes” и ник владельца:

Экономика

Axiom Zen отказались от ICO в пользу «модели устойчивого получения прибыли». Сделано это для того, чтобы «позволить абсолютно каждому поучаствовать в построении прекрасного будущего. Это не должно быть исключительным правом майнеров, венчурных капиталистов или ICO-спекулянтов». Команда критикует существующие методы привлечения средств, которые отвлекают от работы над самой технологией. Разработчики получают процент за каждую покупку на аукционе и комиссионные за рождение новых особей.

Реализация

Игра представляет собой 7 смарт-контрактов Эфириума, взаимодействие между которыми происходит через собственный адрес Ethereum. Для наиболее комфортной работы советуем использовать расширение Google Chrome — MetaMask.

Каждый CryptoKitty представляет собой неделимый токен, обрабатываемый смарт-контрактом. Давайте рассмотрим подробнее сам контракт.

Практически весь код программы является открытым, поэтому проанализировать его довольно просто. Его объем составляет около 2000 строк. Мы обнаружили в нем некоторые функции, которые могут быть исполнены только лицами с определенными правами доступа: CEO, CFO и COO. 

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

А вот так выглядит ваша криптокошечка на языке написания смарт-контрактов Solidity:

struct Kitty {   

  uint256 genes;   

  uint64 birthTime;   

  uint64 cooldownEndBlock;   

  uint32 matronId;   

  uint32 sireId;   

  uint32 siringWithId;   

  uint16 cooldownIndex;   

  uint16 generation;

}

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

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

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

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

geneScience.mixGenes()также является скрытой. Это позволяет разработчикам скрыть механизм вычисления свойств и навыков потомства.

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

Следующий контракт KittyMinting позволил установить лимит в 50 000 особей «поколения 0» и создать 5000 кошек с целью их дальнейшей раздачи. Последнее стало предметом жарких споров, так как эта функция позволяет CEO создать 5000 копий вашего «уникального» питомца.

Последний смарт-контракт KittyCore связывает воедино все компоненты системы и налаживает необходимые связи. 

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

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

Заключение

CryptoKitties — это приложение, значение которого тяжело переоценить. Именно подобного рода проектов не хватает криптоиндустрии. Они способны популяризировать технологию и привлечь к ней внимание миллионов людей со всего мира. Одной из задач проекта было «построить мосты между пользователями и абсолютно непонятной многим из них структурой распределенного реестра». Он демонстрирует, что блокчейн может быть полезен в самых разных областях.

Более того, феноменальный рост популярности проекта (более 12% всех транзакций в сети Ethereum сигнализируют о принадлежности к проекту CryptoKitties) обнажил недостатки и самой платформы. Пользователи жалуются на очень длительную обработку транзакций и медленную скорость работы. Стало очевидным, что необходимы срочные меры по решению проблемы масштабируемости, на что обратили внимание основателя Ethereum Foundation Виталика Бутерина.

Завершить этот обзор хочется слоганом проекта:

We're not trying to build the future, we're trying to have fun with it.

The future is meow. 

Комментарии

Your browser is out of date!
Install the latest version of your browser.