Блокчейн это, что такое технология блокчейн

Блокчейн это, что такое технология блокчейн

Ну что ж, наливайте кофейку и присаживайтесь поудобнее.
Мы отправляемся в полное руководство по блокчейну.

В этой статье будет дан ответ на вопрос: что такое блокчейн?

А именно:

  • Что такое блокчейн?
  • Как соединяются блоки?
  • Блокчейны и децентрализация
  • Проблема византийских генералов
  • Почему блокчейны должны быть децентрализованы?
  • Что такое одноранговая сеть?
  • Что такое блокчейн-узлы?
  • Публичные и частные блокчейны
  • Как работают транзакции?
  • Плюсы и минусы технологии блокчейн

Что такое блокчейн?

Блокчейн — это особый тип базы данных. Возможно, вы также слышали термин distributed ledger technology (DLT) — во многих случаях имеется в виду одно и то же.

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

Данные добавляются с течением времени в структуры, называемые блоками.

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

Итак, если мы продолжим путь вниз по «цепочке», мы достигнем самого первого блока, известного как блок генезиса (блок 0 или  блок 1).

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

База данных, в которой каждая запись связана с последней

Данные первой ячейки преобразуются в двухбуквенный идентификатор, который затем будет использоваться как часть следующего ввода.
В этом примере двухбуквенный идентификатор «KP» должен использоваться для заполнения следующей ячейки во второй строке (defKP).
Это означает, что если вы измените первые входные данные (abcAA), то получите другую комбинацию букв в каждой другой ячейке.

Теперь, глядя на строку 4, самый последний идентификатор —TH.
Помните, что вы не можете вернуться изменить или удалить записи?
Это потому, что любому будет легко сказать, что это было сделано, и они просто проигнорируют вашу попытку изменить.

Если вы измените данные в самой первой ячейке — вы получите другой идентификатор, что будет означать, что следующий блок будет иметь другие данные, что приведет к другому идентификатору в строке 2, и так далее.
TH, по сути, продукт всей информации, поступающей до него.

Как соединяются блоки?

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

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

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

Давайте проиллюстрируем это с помощью SHA256, функции, широко используемой в Bitcoin:

https://sha256.online/ — Online generator sha256 hash of a string

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

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

Каждый блок содержит отпечаток предыдущего

Блокчейны и децентрализация

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

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

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

Проблема византийских генералов

Реальная проблема, стоящая на пути такой системы, как описанная выше, — это то, что называется проблемой византийских генералов. Задуманная в 1980-х годах, она описывает дилемму, в которой изолированные участники должны общаться, чтобы координировать свои действия.
Конкретная дилемма включает в себя горстку армейских генералов, которые окружают город, решая, атаковать ли его. Генералы могут общаться только через курьера.

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

Конечно, они могли бы общаться через мессенджер. Но что, если гонца перехватят с сообщением, в котором говорится: «мы атакуем на рассвете», и это сообщение будет заменено на «мы атакуем сегодня вечером»? Что, если один из генералов злонамерен и намеренно вводит в заблуждение других, чтобы гарантировать, что они потерпят поражение?

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

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

Почему блокчейны должны быть децентрализованы?

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

Его реальный потенциал может быть использован в децентрализованной среде, то есть там, где все пользователи равны.
Таким образом, блокчейн не может быть удален или злонамеренно захвачен. Это единственный источник истины, который может увидеть каждый.

Что такое одноранговая сеть?

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

Рассмотрим рисунок ниже:

  • Слева A должен направить свое сообщение через сервер, чтобы получить его в F.
  • С правой стороны, однако, они соединены без посредника.

Централизованная сеть (слева) против децентрализованной (справа)

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

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

Ознакомьтесь с описанием одноранговых сетей для более глубокого обсуждения этого типа сетей.

Что такое блокчейн-узлы?

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

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

Публичные и частные блокчейны

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

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

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

Подробнее: публичные, частные и консорциумные блокчейны — в чем разница?

Как работают транзакции?

Если Алиса хочет заплатить Бобу банковским переводом, она уведомляет об этом свой банк.
Предположим, что обе стороны используют один и тот же банк для простоты.
Банк проверяет, есть ли у Алисы средства для совершения транзакции, прежде чем обновить свою базу данных (например,— $50 для Алисы, +$50 для Боба).

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

Если Алиса хочет отправить Бобу пять биткоинов, она передает сообщение об этом в сеть. Транзакция не будут сразу добавлена в блокчейн — узлы увидят её, но для подтверждения транзакции должны быть выполнены другие действия.
Смотрите: как блоки добавляются в блокчейн?

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

Там нет понятия имен пользователей и паролей — криптография с открытым ключом используется для доказательства владения
Чтобы получить средства в первую очередь, Боб должен сгенерировать закрытый ключ. Это просто очень длинное случайное число, которое практически невозможно угадать, даже имея в своем распоряжении сотни лет.
Но если он расскажет кому-нибудь свой секретный ключ, они смогут доказать право собственности на его средства (и, следовательно, потратить их). Поэтому очень важно, чтобы он держал это в секрете.

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

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

Плюсы и минусы технологии блокчейн

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

Плюсы

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

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

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

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

Такая система, как Bitcoin, имеет более 10 000 видимых узлов, разбросанных по всему миру, что делает практически невозможным даже для хорошо обеспеченного злоумышленника скомпрометировать сеть. Следует отметить, что существует также много скрытых узлов, которые не видны широкой сети.

Минусы

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

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

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

    Предположим, вы хотите изменить правило о том, насколько большими могут быть блоки (от 1 МБ до 2 МБ). Вы можете попробовать отправить этот блок узлам, к которым вы подключены, но у них есть правило, которое гласит: «Не принимайте блоки более 1 МБ». Если они получат что-то большее, они не будут включать это в свою копию блокчейна.

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

В следующей большой статье будет дан ответ на вопрос:
Как работает блокчейн?

Все слова в тексте, которые выделены жирным шрифтом вскоре превратятся в ссылки, т.е. в отдельные статьи по теме.

По материалам

Admin