Plasma и Lightning Network: найдите 10 отличий

Создано: 2018-04-14 12:27

Обновлено: 2020-01-12 12:33

2018-04-14 12:27

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

Вот и в статье из заголовка этой заметки именно в описанном выше ключе последовательно рассматриваются шардинг и несколько оффчейн-решений - каналы состояния (Lightning Network и сходные с ней проекты), Plasma и ещё Truebit до кучи. При этом реально только шардинг можно рассматривать в контексте влияния на пропускную способность. Сама по себе идея шардинга выглядит сомнительно - давайте разделим один большой тормоз на много-много маленьких тормозов. Тем не менее за счёт распараллеливания выполнения транзакций в разных сегментах сети (шардах) именно в этом случае её пропускная способность возрастёт, причём возрастёт линейно. Конечно остаётся вопрос распределения узлов сети по шардам, но всё выглядит очень хорошо, пока транзакции выполняются только внутри шард. Но как только возникает необходимость в транзакции между узлами из разных сегментов, становится видна огромная сложность реализации шардинга. Очевидно, для сохранения общей логической целостности блокчейна возникает потребность в узлах, координирующих взаимодействие между разными шардами. И даже вынося за скобки вопрос, по какому критерию будут выбираться эти узлы-координаторы, уже можно сделать предположение - сложность реализации координации шард может сильно просадить профит от повышения пропускной способности сети, а то и полностью нивелировать его.

Принцип рассматриваемых далее оффчейнов общий - вынос большей массы транзакций за пределы (основного) блокчейна; при этом основной блокчейн становится опорным хранилищем информации для разрешения возможных конфликтов, которые могут возникнуть за его пределами. В контексте иллюзии повышения пропускной способности оффчейны представляют следующим образом - в связке сетей "блокчейн + оффчейн" количество выполняемых в единицу времени операций станет больше, поэтому это можно рассматривать как эффективное увеличение пропускной способности сети блокчейна. Но это слишком искусственное представление; в реальности оффчейны банально разгружают основной блокчейн, его пропускная способность остаётся прежней. Разработчики оффчейнов как бы смиряются с суровой реальностью: да, блокчейн - дедушка старенький и немощный, потому мы не будем его сильно напрягать, а заставим поработать оффчейны. В каналах состояния нагрузка выносится в p2p-сети, а у Plasma - в другие (подчинённые) блокчейны. Можно сказать, что Plasma в каком-то смысле является гибридным вариантом шардинга и каналов состояния; но если в шардинге все сегменты являются независимыми, то у Plasma они образуют иерархию с единственным главным сегментом. При этом фундаментально Plasma всё-таки является оффчейном, поскольку её базовым принципом является разгрузка основного блокчейна.

Ахилесовой пятой любых оффчейнов является сильное снижение безопасности транзакций по причине их выноса за пределы блокчейна. Автор статьи из заголовка заметки посвятил много времени спекуляциям на тему, что несмотря на "некоторое" ослабление безопасности, оффчейны в целом всё-таки могут обеспечивать достаточную окончательность и неизменяемость истории транзакций, однако с этим трудно согласиться. На самом деле статья снова подтверждает, что для оффчейн-костылей "предусмотрен период ожидания" при выходе в основной блокчейн - он существует как в каналах состояния, так и у Plasma, и по сути является главным механизмом разрешения возможных конфликтов. Это ожидание абсолютно обесценивает всю мега-скорость внутри оффчейнов, превращая их в бесполезную пристройку к блокчейну. Также подтверждается факт централизации сетей каналов состояния в платёжных хабах - боролись-боролись с паразитами-посредниками, а в итоге пришли к замене одних посредников другими. Хотя если сравнивать, что более убийственно для оффчейнов - "период ожидания" на выходе в основной блокчейн или хабы централизации - конечно, это будет период ожидания. Он просто рубит весь смысл существования оффчейнов. В итоге получается тришкин кафтан - в погоне за высокой скоростью выполнения транзакций сначала резко понижается безопасность, а последующая попытка как-то восстановить безопасность до приемлемого уровня обнуляет достигнутое увеличение скорости.

Как видно, следствием принадлежности подобных Lightning Network решений и Plasma общему классу оффчейнов является их сильное сходство. Вместе с тем, вынос нагрузки из основного блокчейна осуществляется в разные рабочие среды (p2p-сеть vs дочерний блокчейн), что предопределяет различия каналов состояния и Plasma. На первый взгляд может показаться, что использование дочерних блокчейнов, правила которых к тому же определяются в основном блокчейне, затевалось разработчиками Plasma именно для того, чтобы как можно сильнее компенсировать снижение безопасности выносимых в оффчейн операций. Но в реальности этой компесации не произошло. Дело в том, что если дочерним блокчейном будет уменьшенная копия основного публичного блокчейна, то действительно это будет маленький тормоз, прилепленный к большому - такой своего рода вырожденный шардинг, в котором дочерняя "шарда" обрабатывает транзакции строго определённого вида. Но смысл оффчейна - в радикальном ускорении транзакций; поэтому в Plasma рекомендовали использовать в качестве дочерних приватные блокчейны, и даже приватные блокчейны с единственным производителем блоков.

Очевидно, что приватные блокчейны, да ещё и с единственным производителем блоков радикально увеличат скорость операций; правда в этом случае снова возникает вопрос - зачем здесь блокчейн, если история операций может полностью переписываться единственным производителем блоков? Видимо в Plasma не понимали этот фундаментальный момент; потому возникла проблема - если клиент в таком дочернем блокчейне столкнётся с мошенничеством, он не сможет предъявить никаких доказательств. Поэтому клиенту в дочернем блокчейне, образно говоря, сделали кнопку "Спасайся, кто может!". Клиент должен постоянно быть на стрёме, и если что-то подскажет ему, что его собираются обуть, он должен быстро нажать эту волшебную кнопку - тогда его средства полностью вернутся в основной блокчейн. Так себе решение; а если клиент будет обут и не успеет нажать эту кнопку? Что тогда - разбирательство в период ожидания? Но клиенту по существу абсолютно нечего предъявить в свою защиту. В каналах состояния вопрос взаимодействия сторон в оффчейне продуман значительно лучше. Более того, в каналах состояния реализовали так называемую "мгновенную окончательность" - если все взаимодействовавшие в оффчейне стороны просигнализируют о своём согласии с конечным состоянием, выход в основной блокчейн произойдёт сразу после этого, что может заметно сократить период ожидания. В Plasma мгновенной окончательности нет - алгоритмы периода ожидания в основной блокчейн всегда должны полностью выполниться. Но, вообще говоря, я бы не стал относить это к однозначным минусам Plasma, поскольку мгновенная окончательность тоже может быть использована для форсированного обмана неосведомлённой стороны. Как бы то ни было - при всех видимых преимуществах каналов состояния над Plasma, присущая оффчейнам эфемерность никуда не денется - проблему масштабируемости блокчейна они решить не смогут. Собственно, как я неоднократно говорил ранее, проблема масштабируемости блокчейна нерешаема принципиально, потому выход следует искать в отказе от блокчейна в пользу более совершенной технологии.


2020-01-12 12:33

Формулировки в этой новости говорят сами за себя. Одновременно признавать, что проблема масштабируемости блокчейна "сохраняет актуальность" (то есть очень далека от решения), и одновременно с этим декларировать, что "в дальнейшем исследовании Plasma нет необходимости" - это равносильно капитуляции. Можно сколько угодно говорить о достижениях в разработке теории и разглагольствовать о множестве внедряющих плазму проектов, названия которых никому неизвестны. Но прекращение разработки и провозглашение новым приоритетом "финансирования инициатив по развитию общественных благ" говорит только об одном - Plasma сошла с дистанции. Ещё одна технология, высоко взлетевшая в медиа-пространстве на волне великого крипто-хайпа, уходит в небытие.

Автор: Асан Ильчегин