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

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

Присоединяйтесь к моему Quora space, чтобы получать регулярные новости и обновления о децентрализованном машинном обучении. Имея огромный опыт в создании и исследовании децентрализованных систем машинного обучения, я буду публиковать оригинальные материалы о последних достижениях в академических кругах и отрасли. Посетите мой личный веб-сайт, чтобы получить более подробную информацию о моем образовании, навыках, опыте и достижениях.

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

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

На самом базовом уровне блокчейн, как следует из названия, представляет собой структуру данных, которая может быть представлена ​​с помощью цепочки блоков . Однако важность блокчейна проистекает из того факта, что каждый из блоков имеет возможность хранить данные, и они связаны (и упорядочены) вместе с использованием цепочки структура.

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

  • Нет уполномоченного (или централизованного) лица, которое отслеживало бы записи, внесенные в книгу.
  • После того, как сотрудник вводит данные, ему не разрешается царапать их и изменять значения.
  • Вместо центрального органа все присутствующие в офисе, когда сотрудник делает запись, проверяют правильность введенного времени регистрации. Запись может быть подтверждена только в том случае, если не менее 67% людей, присутствующих в офисе, одобряют время регистрации.
  • Поскольку книга в твердом переплете, разрыв любой страницы из книги приведет к уничтожению всей книги, и система рухнет.

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

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

Как упоминалось ранее, архитектура блокчейна в настоящее время широко используется для разработки криптовалют. В этом случае все блоки хранят данные транзакции, а майнеры отвечают за проверку подлинности транзакции. Однако блокчейн Ethereum также позволяет пользователям хранить собственные данные в блокчейне и создавать полностью децентрализованные приложения. Они также предоставляют специальный полный язык Тьюринга под названием Solidity, который можно использовать для разработки методов, которые могут быть вызваны другими участниками сети. Solidity позволяет пользователям хранить пользовательские данные (строки, целые числа, отображение и т. Д.) И выполнять базовые операции (арифметические, циклы и т. Д.) В цепочке блоков. Однако стоит отметить, что функциональность, предоставляемая Solidity, чрезвычайно ограничена по сравнению с современными языками программирования, поскольку участникам необходимо платить за данные за хранение и операции в блокчейне. Например, если участник вызывает метод смарт-контракта, развернутый в цепочке блоков, который выполняет итерацию по массиву строк, выполняет некоторую операцию и сохраняет результат в цепочке блоков, вызываемый будет оплачивать затраты, если иное не указано в смарт-контракте. . Смарт-контракт также позволяет выполнять транзакции в блокчейне. Это означает, что я могу платить или получать деньги от любого участника с действующим адресом Ethereum. Несмотря на множество ограничений и проблем с масштабируемостью в текущей среде программирования смарт-контрактов, можно создавать чрезвычайно креативные децентрализованные приложения, а также доступны обширные API-интерфейсы и инструменты для подключения смарт-контрактов из внешней среды (наиболее популярным из них является web3). Например, очень популярный проект для начинающих создает платформу электронной коммерции на блокчейне, чтобы обеспечить прозрачность между покупателями и продавцами. Мы будем использовать аналогичный набор инструментов разработки блокчейнов для создания и развертывания приложений децентрализованного машинного обучения. Поскольку охватить все инструменты и концепции в одном посте чрезвычайно сложно, я поделюсь ресурсами в конце, а также объясню различные компоненты, когда буду обсуждать некоторые интересные результаты исследований в следующем посте.

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

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

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

В нескольких следующих публикациях я планирую представить инструменты и методы, которые можно использовать для достижения децентрализации в среде машинного обучения. В дополнение к введению я буду предоставлять блоги и ресурсы в конце статьи, которые помогут вам расширить предоставленную информацию. Обратите внимание на Децентрализованное машинное обучение: часть III (Ethereum). Спасибо за внимание!

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

Также прочтите