Это первая часть серии из трех частей, в которой Эндрю Левин описывает проблемы, с которыми сталкиваются унаследованные блокчейны, и предлагает решения этих проблем. Прочтите Часть 2 о кризисе вертикального масштабирования и Часть 3 о кризисе корпоративного управления, которые начнутся 24 и 25 сентября.
Мы уверены, что на пути внедрения блокчейна стоят три фундаментальных проблемы или кризиса: возможность обновления, вертикальное масштабирование и управление. В этой статье мы собираемся исследовать кризис возможности обновления и то, как компьютерные операционные системы могут служить полезной аналогией, которая хранит секрет решения этого кризиса и позволяет блокчейнам получить широкое распространение.
Самая эффективная концепция для понимания проблемы возможности обновления – это «антихрупкость». Предложенный Нассимом Талебом, антихрупкость – это свойство систем, которые улучшаются при стрессе. Кажется, что хрупкие системы большую часть времени работают отлично, но при стрессе они разваливаются или «взрываются».
Антихрупкость – это свойство, которое возникает из многоуровневых иерархических систем, содержащих хрупкие субъединицы, которые в результате разрушения / смерти / взрыва приводят к более здоровой системе в целом. В природе мы называем этот процесс эволюцией. Эволюция происходит, когда вид заменяет менее удачный признак более успешным. В вычислительной технике мы называем такие улучшения «обновлениями».
Проблема с основными блокчейнами, которые мы знаем сегодня, заключается в том, что они не были предназначены для обновления, а это означает, что они не могут развиваться. Причина, по которой эволюция так важна, заключается в том, что она позволяет системам пережить «черных лебедей», которые представляют собой крайне непредсказуемые события с серьезными последствиями. Антихрупкие системы могут не только пережить «черных лебедей», но и поправиться от них.
В блокчейнах практически нет отдельных слоев с хрупкими подсистемами, которые обеспечивают здоровую адаптацию к стрессорам. Вместо того, чтобы проектировать с позиции скромности, создатели пытаются представить себя непогрешимыми провидцами, разработавшими идеальную систему, которая сразу же заслуживает высокой оценки.
Карты, нарисованные до исследования территории
Нет лучшего доказательства этого, чем использование жестких вилок для обновления системы. Хард-форк – это противоположность пути обновления. Он выбрасывает старую систему и заменяет ее новой.
Тем не менее, у этого анализа есть серебряная подкладка: решение заключается не столько в преодолении технических барьеров, сколько в преодолении психологических барьеров. Мы не разрабатываем блокчейны, исходя из первых принципов, но по-прежнему в основном выполняем итерации поверх уже существующих архитектур, таких как Биткойн и Эфириум.
Есть много способов реализовать блокчейн, но мы часто предполагаем, что способ, которым эти протоколы реализуют какой-либо компонент блокчейна, по умолчанию является «правильным». Эти протоколы полностью определяют то, как мы смотрим на эти проблемы, побуждая нас создавать мысленные «карты» проблем, которые были «нарисованы» еще до того, как мы начали исследовать эту новую территорию.
Биткойн и Эфириум были, по сути, первыми децентрализованными компьютерами. Как и в случае с любой новой компьютерной парадигмой, на ранних этапах инженеры и разработчики сосредотачивают свое внимание на том, могут ли они вообще использовать эту технологию для решения конкретной проблемы и, если да, то использовать ее для создания своего приложения. Нет инструментов и платформ, которыми они могли бы воспользоваться, поэтому им приходится создавать все с нуля и оптимизировать свой стек для своего конкретного приложения.
Конечным результатом является монолитный фрагмент кода, запускающий приложение, предназначенное для решения конкретной проблемы.
Первопроходцы и хрупкие системы
Эти ранние приложения могут быть довольно успешными благодаря преимуществу первопроходца, но когда дело доходит до разработки программного обеспечения, успех, который приходит от того, чтобы быть первопроходцем, иллюзорен. Первопроходцы в программном обеспечении находят особенности или «модели поведения», которые пользователи сочтут наиболее ценными, тем самым подтверждая новую технологию.
Но сохранить это преимущество практически невозможно, потому что приложение построено на горе старого кода, который мало кто понимает или может обновить. Исправлять ошибки – настоящий кошмар, и просто поддержание существующего кода становится сизифовой задачей; забудь его улучшить.
На этом этапе приложения могут умереть по любому количеству причин, но основная причина смерти – их хрупкость. Черный лебедь, который в конечном итоге наносит ущерб существующим приложениям, – это разработка операционной системы. Операционные системы на порядок упрощают для разработчиков запуск приложений одного и того же типа с тем же основным поведением, что и у первопроходцев.
Появление операционных систем позволяет технологии перейти на следующий уровень, облегчая и ускоряя разработчикам выпуск более совершенных программ, которые проникают на рынок и охватывают большее количество пользователей. Кроме того, это дает нам еще один слой в стеке. Теперь, если одно приложение выйдет из строя, самые важные нижние уровни останутся нетронутыми.
Итак, проблема решена? В то время как операционные системы первого поколения обеспечивают огромное конкурентное преимущество разработчикам приложений, которые принимают правильные решения, они также страдают от той же проблемы возможности обновления, что и приложения первого поколения. Они появляются как средство обеспечения основных функций, безопасности и общей базы пользователей, но не для максимальной возможности обновления. Таким образом, они в конечном итоге становятся чрезмерно раздутыми, сложными и трудными для обновления.
Аналогия с операционной системой
Обновление системы требует перезагрузки системы и процесса перезагрузки, который становится длиннее и разрушительнее, чем больше и сложнее он становится. Хотя один уровень (ОС) изолирован от ошибок, допущенных на другом (прикладном уровне), сама ОС остается хрупкой.
Блокчейны, такие как Ethereum и EOS, были разработаны как эти ранние операционные системы. Они обеспечивают основные функции, безопасность, общую базу пользователей и программируемое «пространство пользователя», которое разработчики могут использовать для добавления настраиваемых функций, необходимых для работы их конкретных приложений.
В случае блокчейнов проблемы, от которых страдают операционные системы первого поколения, усиливаются из-за неизменности; они постоянно увеличиваются в размерах, что создает дополнительную нагрузку на инфраструктуру и создает особую проблему масштабирования.
Кроме того, поскольку они децентрализованы, обновления должны проходить через процесс управления, который, в лучшем случае, заканчивается выполнением скоординированных усилий, при которых на всех компьютерах прекращается запуск старого программного обеспечения и начинается выполнение нового программного обеспечения ( новая «вилка») в одно и то же время. Это непросто, поэтому называть его «хард-форком» особенно уместно.
Когда для определенных изменений требуется хард-форк, люди вынуждены объединять эти изменения, потому что их частичное внедрение приведет к дополнительному простою сети. Это приводит к «проблеме наездника», подобной той, что мы видим в правительственных системах, где несвязанные изменения связаны с важными изменениями. Другими словами, существует централизация во времени. проблема. Поскольку все важные дела должны выполняться одновременно, и поскольку люди расходятся во мнениях относительно того, что важно, момент времени, когда эти изменения должны быть реализованы, создает вектор атаки.
Тем не менее, хард-форки становятся большими, политическими, рискованными и, что наиболее важно, разрушают сеть! Это резко замедляет скорость прогресса, и поскольку каждый крупный блокчейн работает таким образом, сектор в целом находится в состоянии стагнации.
Антихрупкость за счет возможности модернизации
Нам нужен еще один уровень под операционной системой, который позволит всей системе развиваться. В операционных системах этот уровень называется BIOS – базовой системой ввода / вывода. Но важно помнить, что мы используем операционные системы только в качестве аналогии. Нам нужно построить этот слой из первых принципов специально для использования в блокчейнах. Этот слой, как и любой другой слой, должен состоять из хрупких субъединиц, которые могут каким-то образом «сломаться», не взрывая систему в целом.
Создание BIOS было критическим шагом для массового использования компьютеров, поскольку он позволил разработчикам быстро создавать, тестировать и повторять приложения, которые сделают персональные компьютеры полезными для обычных потребителей.
Если мы хотим преодолеть ту же пропасть, нам нужна не просто лучшая ОС с блокчейном, нам нужна операционная система, построенная на эквиваленте BIOS для конкретной цели возможности обновления.
Мы должны иметь возможность добавлять любые в блокчейн, не требуя хард-форка. Это позволит блокчейну адаптироваться к факторам стресса (атакам, ошибкам, отсутствующим функциям и т. Д.), Улучшить себя и масштабироваться для удовлетворения потребностей масс.
До тех пор, пока не наступит этот день, качество приложений на основе блокчейнов будет по-прежнему оставаться на прежнем уровне, а в пространстве по-прежнему будут доминировать проекты, которые могут выглядеть так, как будто они работают на поверхности, но которые не находят широкого распространения, по своей природе хрупки и будут день “взорвать”.
Взгляды, мысли и мнения, выраженные здесь, принадлежат только автору и не обязательно отражают или отражают взгляды и мнения Cointelegraph.
Эндрю Левин является генеральным директором OpenOrchard, где он и бывшая команда разработчиков, стоящая за блокчейном Steem, создают решения на основе блокчейна, которые позволяют людям брать на себя ответственность и контролировать свое цифровое Я. Их основополагающим продуктом является Koinos, высокопроизводительный блокчейн, построенный на совершенно новой платформе, созданной для предоставления разработчикам функций, необходимых им для предоставления пользовательского опыта, необходимого для распространения внедрения блокчейна в массы.