Последний день зимы принес сразу несколько новостей, касающихся масштабирования сети Эфириума. После частично удачного тестирования протокола Casper FFG в версии pyethereum (протокол Эфириума на языке pyethereum – варианта python) в конце января, 28 февраля в тестовой сети стартовал вариант Casper FFG на Harmony – тот же протокол на языке Java, ранее носивший название EthereumJ.
На момент написания статьи, в сети работает только один узел Harmony, что послужило причиной ироничного твита от Виталика Бутерина:
Сеть на pyethapp пока никуда не годится и только узел Harmony работает Координатором (Coordinator™), соединяя между собой узлы, работающие на pyethereum.
Смысл твита в том, что роль Harmony аналогична узлу Координатора в системе IOTA – традиционной мишени для критиков из сообщества Эфириума, обвиняющих IOTA в централизации. Впрочем, комментируя этот твит в Reddit, Бутерин заметил:
Строго говоря, ситуация изменится, когда к сети подключатся другие узлы Harmony. А то, что у нас уже есть две независимые имплементации Casper FFG – само по себе отличная новость.
Для полноценной работы Harmony в него осталось добавить логику голосования валидаторов, однако это более простая задача.
Тем не менее, для того чтобы существенно приблизить срок реализации в основном блокчейне хардфорка Constantinople, необходимо, чтобы код Casper FFG был включен в основные клиенты сети – Geth и Parity, а этого пока не произошло. Правда на совещании разработчиков в конце января представитель Parity говорил, что Casper будет включен в код «в ближайшие несколько недель», однако до сих пор этого не произошло.
Реализация Casper FFG не увеличит пропускную способность Эфириума, поскольку это надстройка PoS над существующим протоколом PoW. И даже когда PoW будет заменен на алгоритм предложения блоков PoS, это увеличит производительность всего в три раза, что явно недостаточно для достижения пропускной способности, сравнимой с Visa – это задача шардинга, решение которой начнется только после полного перехода на PoS. А пока задача повышения производительности целиком ложится на разработку разнообразных решений второго уровня: сайдчейнов Raiden, Plasma и каналов состояния (Generalized state channels).
Dapps для взрослых и децентрализованные казино
С приходом весны выяснилось, что на переднем крае разработок общих каналов состояния находятся проект децентрализованного видеоконтента для взрослых с говорящим названием SpankChain и платформа децентрализованных казино Funfair. Таким образом, циничный мем, восходящий к началу интернет-эры, получил очередное подтверждение в XXI веке:
Весь интернет держится на трех больших P – Porn; Poker; Pills.
Команда SpankChain, разработчик доставки видеоконтента и аналогичной Криптокотикам блокчейн-игры Cryptotitties, название которой, как и название основного проекта, в комментариях не нуждается, выложила код микроплатежных оффчейн-каналов на Github. В отличие от однонаправленного канала микроплатежей µRaiden, каналы SpankChain могут быть двунаправленными и содержат механизм экстренного закрытия, позволяют передавать не только эфир, но и токены вместе с состоянием смарт-контрактов. Однако, в открытом доступе находится только часть кода.
Другой разработчик каналов состояний – платформа децентрализованных казино FunFair. Поскольку из-за крупных сумм, которые предполагается хранить на депозитах смарт-контрактов, требования к безопасности кода гораздо выше, чем у SpankChain, подход к разработкам здесь более формальный. Код смарт-контрактов FunFair полностью находится в открытом доступе и уже 9 месяцев работает в тестовой сети. Предполагается, что он будет портирован в основной блокчейн Эфириума в ближайшие недели, а открытие платформы для всех желающих состоится во втором квартале.
Конечно, непредвиденные задержки остаются возможны у обоих проектов, однако, с большой вероятностью можно прогнозировать, что по меньшей мере одна из платформ начнет полноценную работу, после чего вероятность перегрузки сети значительно уменьшится, поскольку желающих снизить издержки много.
По первичным оценкам, использование каналов состояния может увеличить пропускную способность сети Эфириума от 10 до 100 раз. Однако, нужно учитывать, что цена за такое увеличение – существенное уменьшение безопасности сети, так что их можно считать лишь временным решением. Сайдчейны Plasma, по крайней мере теоретически, повысят безопасность, но лишь до определенного предела, кроме того, они еще не достигли стадии готового продукта. Безопасность операций, сравнимую с возможностями основного блокчейна, может обеспечить только шардинг.