Помните, как Криптокотики опрокинули сеть Эфира?


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


enter image description here
Число неподтвержденных Ethereum-транзакций с 5 декабря (Рекордная отметка превышает 30 тысяч)


enter image description here
Цены на газ, для подтверждения требуется более 40 Gwei


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


Devcon3 назвал несколько потенциальных решений для масштабирования, которые смогут избавить если не ото всех, то от большинства сегодняшних проблем масштабирования. Однако, эти решения, за исключением uRaiden, находятся на стадии исследования и пока недостаточно развиты для основной сети. Другие эксперты предлагают повысить лимит газа на блок (что-то вроде повышения размера блока у Биткоина), но и у такого решения есть свои недостатки.


Тем временем наметился очевидный спрос на решения для масштабирования, которые смогут работать уже сегодня. Необходимо справляться с потребностями существующих децентрализованных приложений так, чтобы окончательно не перегрузить сеть Ethereum. Если даже такое примитивное приложение, как CryptoKitties, может вывести Ethereum из строя, как сеть справится с приложением масштаба StarCraft с миллионом пользователей?


«Вы могли бы запустить StarCraft на блокчейне. Это возможно. Высокий уровень надежности и масштабируемости позволяет надстраивать в блокчейне прочие различные приложения. Ethereum — это надежный базовый слой с небольшим количеством функций» — Виталик Бутерин



Цель этой статьи — описать, как достичь масштабирования на Ethereum с помощью специализированных сайдчейнов с настраиваемым «набором правил» и в то же время сохранить надежность основной цепочки Ethereum.


Масштабирование с помощью сайдчейнов


Термин «сайдчейн» впервые появился в статье «Инновационные возможности блокчейнов, открывающиеся с помощью привязки сайдчейнов», опубликованной Адамом Бэком и соавторами в 2014 году. Статья описывает «двунаправленную привязку сайдчейнов», механизм, в котором вы доказываете, что «заблокировали» монеты, которыми владели раньше, и получаете возможность перемещать другие монеты в пределах сайдчейна. Здесь нужно пояснить один момент, чтобы избежать неправильного понимания.

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


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


Специализированные сайдчейны


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


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


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


Так, в децентрализованном приложении типа Twitter, работающем на блокчейне, регулируемая безопасность может обеспечить более высокую пропускную способность, предоставляя основной цепочке «контрольные точки», чтобы зафиксировать финальную на данный момент версию информации.


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


Как добиться независимости с помощью хардфорков


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


В таких многопользовательских играх, как World of Warcraft, глобальные изменения иногда осуществляются против воли сообщества, и у пользователей нет возможности возразить — либо они принимают новые правила, либо бросают игру. Даже Виталик Бутерин был поражен такими событиями!


«Я с радостью играл в World of Warcraft с 2007 по 2010 годы, но в один прекрасный день Blizzard удалил компонент дамага из моего любимого заклинания Варлока Siphon Life. Я плакал, пока не заснул, а потом понял, на какие ужасы способны централизованные сервисы. Вскоре я бросил эту игру».



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


Ключ к достижению таких соглашений — хардфорки в сайдчейнах.


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


Хардфорк — это категоричное расхождение с предыдущей версией блокчейна. Ноды, работающие с предыдущей версией, не будут принимать новую версию протокола.?


Как же этим способом добиться независимости?


Если происходит изменение, с которым не соглашается сообщество, то такое сообщество может ответвиться и продолжить работать в предыдущей версии сайдчейна.
Форки
Предложенное изменение, с которым не согласно сообщество, может быть проигнорировано. Сообщество (в лице большинства несогласных) может продолжать работать в старой цепи.


Если такое произойдет, скажем, в игре, то возникнет множество вопросов:


  1. Что, если большинство ведущих «вредных» разработчиков решит остаться в старой цепи?
  2. Будет ли новая цепочка отставать в развитии или разработчики будут адаптироваться и идти на компромисс?

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


По крайней мере, в таком случае у сообщества есть выбор.



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


Сообщества смогут работать на блокчейне, в котором пользователи смогут разворачивать свои собственные ноды и защищать сеть. Эти сообщества могут быть сетями наподобие Steemit, сабреддитами, форумами, группами на Facebook, сайтами с вопросами и ответами типа Stack Overflow — в общем, местами, где люди могут обсудить общие интересы — а также многопользовательскими играми, где каждый будет заинтересован в честном соблюдении правил. Если какое-либо изменение не поддерживается сообществом, пользователи должны иметь возможность ответвиться в форк.


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


Комментарии (10)


  1. JustDont
    23.03.2018 20:30
    +1

    В этой статья я хотел бы рассказать о том, какие сегодня есть решения (или гипотезы) насчет повышения масштабируемости блокчейн проектов.

    Хотели бы, но не рассказали. Понимаю. Тяжкое это дело, рассказывать про то, чего не существует.


    1. rPman
      23.03.2018 21:32
      +1

      Нисколько не защищаю автора топика, но на текущий момент крутейший с точки зрения скорости транзакций блокчейн — это технологии graphene с подтверждением блоков DPOS — steemit, bitshares и будущий eos. Там проблем с котиками не будет, точнее ее будет должен решить фактически тот кто их запустил (и будет иметь такую возможность), я говорю о запуске публичных нод (фактически приложения, прогружающего блокчейн и обслуживающего запросы dapp, потому что массовый пользователь даже 11гб блокчейн ставить себе не хочет)… такой возможности ни у одной другой сети нет (хотя бы потому что они еще с таким нагрузками не сталкивались).

      Из недостатков, и по моему мнению это не недостатки технологии а проблемы реализации
      — сеть сильно централизованна, это вытекает из самой идеи DPOS (когда за выбор заверителей и комитет голосуют деньгами) кто то посчитает это фичей, но как в любой утопии, красиво не получится, реалии дадут о себе знать, как минимум потому что большинство людей политически-апатично, а во вторых, у владельцев есть финансовая возможность брать власть в свои руки на старте.
      — ни один из существующих проектов не использует адекватную систему распределения монет, все или большая часть монет выпускаются заранее, фактически покупаются владельцами у создателя через ico (у eos заявлена возможность 5% допэмиссии, но она будет полностью сосредоточена у 21-го заверителя, т.е майнера)

      p.s. есть еще ripple (слишком централизованна, и хоть и слабее графена, но заметно больше тянет транзакций чем эфир) и waves (про этот кошмар лучше спросите на каналах bitshares там ссылками на статьи и исследования закидают, почему это кака)


      1. JustDont
        23.03.2018 21:50
        +1

        Да вы собственно столько слов могли бы и не писать. Проблема-то гораздо более фундаментальна: чтоб писать в БД со всеми этими крипографическими наворотами для обеспечения децентрализованности и целостности — нужно проделать огромную кучу дополнительной работы.

        И фундаментально уменьшить этот объем работы скорее всего не выйдет. От силы выйдет «торговать» частью этой работы ценой потери части децентрализованности. Генерация блоков не через PoW, все эти DPOS, сабчейны, и тому подобные умные словея — они все в отношении масштабируемости описывают ровно одно и то же. Отдаём сколько-то децентрализованности в обмен на уменьшение количества вождений руками (или же запихивания большего количества смысловых единиц в блок, что с точки зрения затрат сил на запись — одно и то же) при записи очередного нового блока.

        И вне зависимости от всего этого, соотношение производительности «публичный блокчейн < приватный блокчейн < обычная БД» всё равно никуда не денется.


        1. rPman
          24.03.2018 13:30

          Нет, у вас неверная предпосылка.

          DPOS не отдает часть децентрализации, это конкретные реализации альткоинов убили децентрализацию первичным распределением монет (через ее покупку у владельцев) и фиксированной эмиссией.

          p.s. фраза про умные слова повеселила, вы не понимаете о чем говорите ;)


          1. dmbreaker
            24.03.2018 18:48

            Извините, а как вы предполагаете майнить/минтить деньги в DPOS без первичного распределения?


            1. rPman
              25.03.2018 11:07

              Вопрос провокационный или ошибочно сформулированный.

              dpos это не способ для первичного распределения! а вариантов много — например гибридные pow системы на asic защищенных алгоритмах (с готовностью к хардфоркам, как только это будет не так)


              1. Vinchi
                25.03.2018 18:06

                Например тот же Бутерин предложил pow эфир превратить в pow/pos систему.


          1. Vinchi
            25.03.2018 18:05

            Присоединяюсь. Человек шде-то нахватался слов, но смысла их не понимает ни математически ни код не читал.


  1. JustDont
    24.03.2018 13:39

    DPOS не отдает часть децентрализации

    Очень смешно. DPOS, как и любой другой PoS, заведомо предрасположен к потере децентрализации относительно PoW. Просто потому, что вхождение новых лиц становится возможно только с согласия имеющихся криптодержателей (согласия продать значимые для PoS объемы крипты).

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


    1. rPman
      25.03.2018 11:08

      А что мечтать, на steemit уже пару раз сменились фактические владельцы, чем не децентрализация?