📢 Основы Steem: почему блокчейн Steem заточен под приложения

В нашем посте “Не ждите запуска SMT, чтобы запустить свое приложение” мы высказали идею о том, что по своей структуре Steem похож на ASIC-майнер. В сегодняшнем посте мы хотим подробнее разобрать, что это значит, и почему это ключевое решение, лежащее в основе протокола. Именно фокус на приложениях позволяет Steem масштабироваться еще быстрее и обеспечивает больше возможностей для разработчиков, чем протоколы общего назначения.

Что такое ASIC-майнер?

Для тех, кто не знает, ASIC-майнер – это компьютерное оборудование, которое предназначено исключительно для выполнения одной функции: майнинга криптовалют на базе Proof-of-Work. Понимание истории развития ASIC-майнеров проливает некоторый свет на преимущества заточенности под приложение.

Как известно большинству читателей, первые криптовалюты (и многие из новых) работали на алгоритме под названием “Proof-of-Work”. Согласно его основным принципам, для того, чтобы получить криптовалютный токен, вы должны разрешить одноранговому протоколу настроить ваш компьютер на выполнение работы, которая со временем становится все сложнее. Короче говоря, чем больше вычислительной мощности находится в вашем распоряжении, тем больше вы зарабатываете.

CPU vs GPU

Сначала люди зарабатывали (или “майнили”) эти токены, используя центральный процессор (CPU) своего компьютера. CPU – “мозг” вашего компьютера. Процессоры спроектированы с определенной степенью гибкости, дабы они могли обрабатывать информацию различными способами, поэтому было несложно приспособить их для этого совершенно нового программного обеспечения. В этом преимущество платформ общего назначения: они могут быть адаптированы для решения широкого спектра проблем. Но их недостатком является то, что они ни в чем не демонстрируют особенно выдающихся результатов.

Графические процессоры (GPU), с другой стороны, практически не обладают гибкостью. Они предназначены для обработки только одного типа информации: графической информации. Вместо того, чтобы иметь несколько больших ядер, которые могут выполнять все виды вычислений, графические процессоры состоят из сотен небольших ядер, которые отлично справляются с одной конкретной задачей. Людям не потребовалось много времени, чтобы адаптировать эти ядра для решения хешей Proof-of-Work. Как только они этого добились, результаты GPU на порядки превзошли CPU, что сделало майнинг на CPU устаревшим.

Примерно так выглядит платформа общего назначения:

А так выглядит платформа, заточенная под приложения:

GPU vs ASIC

Переход от CPU к GPU представляет собой пример того, как более специализированное оборудование может значительно превосходить оборудование общего назначения. Однако инновации на этом не остановились. Они привели нас ко вполне естественному результату: появлению ASIC. Мы говорим “естественный результат”, потому что по факту ASIC – это аппаратное обеспечение, разработанное с нуля для решения конкретной проблемы. Единственное, что может превзойти ASIC – это улучшенный ASIC.

Сила специализированного оборудования

И хотя графические процессоры предоставили майнерам доступ к большему числу ядер, которые можно использовать для майнинга, эти ядра не были изначально разработаны под майнинг. Именно это и изменилось с выпуском ASIC, который сделал GPU-майнинг столь же неэффективным, как и CPU-майнинг. Как только появляется специализированное оборудование, у общего решения практически не остается шансов его превзойти по множеству причин. По сути всё сводится к тому, что любые инновации, интегрированные в это общее решение для повышения его производительности, могут быть столь же просто интегрированы в решение, заточенное под приложение, сделав его еще лучше.

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

Неизбежность появления ASIC

ASIC оказались настолько мощны, что они привели к возникновению проблемы в блокчейн-пространстве: Proof-of-Work блокчейны стали крайне централизованы вокруг тех, кто владеет большинством ASIC-майнеров. По всей вероятности, у этой проблемы нет решения (кроме отказа от Proof-of-Work, как было сделано в случае Steem). И хотя находятся те, кто утверждает, что имеют “устойчивые к ASIC алгоритмы”, правда в том, что нечто может быть устойчивым к ASIC только с потерей ценности. Если обладание компьютером, решающим проблему определенного типа, достаточно ценно, то кто-нибудь неизбежно разработает устройство специально для решения этой проблемы, и это устройство будет превосходить все более “универсальные” (т.е. не предназначенные для решения проблемы).

Конечно, хорошо это или плохо, полностью зависит от вашей позиции. Для Proof-of-Work блокчейнов это битва, в которой они обязались сражаться до конца своих дней. Но для производителей ASIC-майнеров, которые были небольшими компаниями, не имеющими доступа к экономике масштаба, в отличие от крупных производителей графических процессоров, таких как Nvidia, ориентированность на нишу была ветром в парусах, помогающим им обойти их более крупных и лучше финансируемых конкурентов. Это та самая тенденция, которую мы использовали при разработке Steem и теперь стремимся максимизировать по мере продолжения разработки.

Как вы можете видеть, специализация обладает невероятным потенциалом. Лучшие бегуны всегда будут бегать быстрее, чем лучшие триатлонисты. Гоночные автомобили всегда будут ездить по трассе лучше, чем седаны. Это потому, что, по сути, заточенность под приложение – это то же, что и сфокусированность. Продукт (и команда его создателей), ориентированный на решение конкретной проблемы, всегда будет превосходить продукт, ориентированный на решение некоего спектра проблем.

Решение правильной проблемы

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

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

Steem-приложения

Результатом этого подхода было создание такой структуры Steem, чтобы он мог хранить контент в децентрализованной системе управления, а затем автономно распределять токены между создателями этого контента на основе коллективного голосования, оцениваемого по размеру долей участников. И если код, который обеспечивает эту функциональность (“тактика”) является сложным, то сам подход (“стратегия”) довольно прост. С другой стороны, протокол, предназначенный для обеспечения этой и любых других возможностей, которые только может представить разработчик, обязательно будет более сложным на всех уровнях, что приведет к снижению производительности и трудностям в масштабировании.

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

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

Решения второго уровня

Не удивительно, что разработчики смогли найти способы “взломать” Steem и приспособить его для решения дополнительных проблем, помимо тех, которые решались специализированными функциями. Это то, что происходит, когда вы сосредотачиваетесь на решении только самых важных проблем, с которыми сталкиваются разработчики и предприниматели. Когда вы предлагаете решение этих проблем – и только для этих проблем – становится гораздо проще масштабироваться, в частности, с помощью самых успешных предприятий, которые используют ваше программное обеспечение. Если вы сможете им это предоставить, то эти предприятия и разработчики сами поймут, как добавить любые другие необходимые функции с использованием решений второго уровня. Важно облегчить поиск этих решений второго уровня масштабируемым способом, которым на Steem выступает обработка кастомизированных операций JSON.

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

К сожалению, платформы общего назначения не могут воспользоваться преимуществами этой тенденции. Вместо этого заточенные под приложения решения, реализованные на базовом уровне, скорее всего создадут проблемы, нежели принесут выгоду. Виталик Бутерин (создатель Ethereum) в своей недавней статье пояснил, что решение Ethereum о включении операций, специализированных на упрощении действий с эллиптической кривой, уже устарело, и Ethereum нужно создать форк, чтобы наверстать упущенное. Это связано с тем, что Ethereum не был достаточно концептуализирован или построен с целью решения четко сформулированных и ограниченных проблем. Из-за этого, вне зависимости от потенциальной ценности конкретного решения, его интеграция на базовом уровне всегда будет противоречить основополагающему ценностному предложению этого протокола: предоставлении неспецифических (то есть общих) решений.

Больше возможностей для разработчиков

В Steem всё совсем иначе. Поскольку протокол был изначально построен для решения конкретных и ясно осознаваемых проблем, сообществу намного легче прийти к консенсусу относительно того, что “принадлежит” к базовому слою, а что нет. Базы данных второго уровня, которые неизбежно возникают в таком процессе, не просто “находятся там, где должны”, они также представляют собой финансовые возможности для разработчиков и предпринимателей, которые способны их реализовать, тем самым придав дополнительную ценность исходной базе Steem. UserAuthority является одной из таких баз данных.

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

Превосходство над смарт-контрактами

Когда была впервые предложена концепция смарт-контрактов, основным ее преимуществом называли то, что она позволит разработчикам создавать децентрализованные приложения. С запуска Ethereum прошло три года, и все же именно Steem – протокол, в котором нет смарт-контрактов – теперь поддерживает гораздо более децентрализованные приложения, которыми ежедневно пользуются обычные люди. Фактически, Steem – единственный протокол, на котором созданы реально использующиеся приложения, и мы полагаем, что это связано с его заточенной под приложения структурой. И хотя всё начиналось с теории, в процессе разработки Steem (и разработки на Steem), сила и потенциал этого специализированного блокчейна стали еще более очевидны и позволили нам увидеть, как можно многократно увеличить этот потенциал путем добавления Смарт Медиа Токенов.

В следующих постах мы расскажем вам о том, что делает заточенный под приложения протокол, такой как Steem, идеально подходящим для SMT. Если вы хотите узнать больше о блокчейне Steem и о том, как его специализированные решения могут быть использованы для улучшения любого веб-интерфейса, перейдите на страницу https://developers.steem.io.

  • Команда Steemit

Переведено @blockchained

Оригинал поста: ЗДЕСЬ


Если вам нравится то, что мы делаем - поддержите делегата blockchained в сети Steem


Телеграм чат: https://t.me/steemit


Вы можете торговать токенами STEEM/SBD на RuDEX с 0% торговой комиссией

steemitблокчейнsteemrudex
106
77.677 GOLOS
0
В избранное
Новости STEEM и Steemit
106
0

Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий

Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.

Зарегистрироваться
Комментарии (2)
Сортировать по:
Сначала старые