Найти в Дзене

Блокчейн: как все объяснить вашей бабушке. Часть первая

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

Исторический экскурс
31 октября 2008 года анонимное лицо или группа людей под псевдонимом Сатоши Накамото опубликовали техническое описание (white paper), в котором представили новаторский подход к отправке денег напрямую от отправителя к получателю, минуя любых финансовых посредников. Документ также дает название этой концепции — «биткоин». Поскольку биткоин использует некоторые из основополагающих концепций криптографии, этот новый способ обмена деньгами был классифицирован как криптовалюта. Единственным объектом применения биткоина были финансовые операции, но ученые и исследователи осознали, что лежащая в его основе технология может быть полезна в создании других безопасных и надежных приложений, способных революционно изменить то, как эти системы функционируют сейчас.

Эта основополагающая технология была названа «блокчейном». Много технических словечек? Давайте упростим!

-2

Что такое блокчейн? Пример из реальной жизни
Давайте представим, что вы живете в городе, где есть большая стоянка на 200 автомобилей (предположим, что это одноэтажная стоянка). У этой стоянки есть основные ворота, которые закрыты всегда, кроме тех моментов, когда машина въезжает или выезжает. А теперь давайте проанализируем эту стоянку в несколько другом ракурсе:

-3

Цена: поскольку какая-то частная компания построила эту стоянку непосредственно с целью сдачи парковочных мест в аренду и несет все расходы, связанные с ее обслуживанием, стоимость аренды места на стоянке будет высокой.
Безопасность: Если грабители получат доступ к основным воротам, они легко смогут добраться до вашей машины (снять колеса, слить топливо, сломать тормоза — все, что угодно!)
Ограниченное количество мест: Скажем, количество автомобилей в городе выросло с 200 до 300 — мест на парковке будет недостаточно, и какой-то другой частной компании придется построить новую автостоянку.
Доверие: Вы доверяете компании-владельцу стоянки, а она отвечает за ее безопасность и надежность.
Централизация: поскольку все машины находятся на одной территории, можно считать эту стоянку централизованной.


А сейчас давайте поменяем текущий сценарий. Представим, что в вашем городе есть 200 домов и в каждом из них есть гараж на два места. Но чтобы упростить объяснение, мы предположим, что в каждом доме есть только одна машина (все автомобили с нашей большой стоянки выше). Таким образом, в гараже каждого дома есть одно свободное место из двух доступных. Дальше представим, что жители города решили сдавать свободные места в своих гаражах в аренду тем, кому нужно парковочное место. Эта модель распределения парковочных мест в городе решает проблему размещения дополнительных 200 или более автомобилей (когда люди переезжают в наш город или уезжают из него) без необходимости строительства еще одной, более вместительной парковки. Как и в предыдущем сценарии, давайте проанализируем следующие факторы:

-4

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

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

Большая автостоянка — это централизованная система, аналогичная AWS, Google Cloud и т.д. (эти облачные платформы также являются распределенными на некотором уровне, но для простоты мы будем рассматривать их как единую структуру).
Автомобили — это данные и приложения.
Распределенный паркинг — это децентрализованная система, блокчейн.
Подождите, мы кое-что упускаем.

Все децентрализованные системы — это не блокчейн! Да, блокчейн — это конкретный тип децентрализованной системы с уникальными характеристиками. Какими? Давайте поговорим о них.

Блокчейн состоит из блоков
Снова обратимся к нашему примеру с распределенным паркингом и внесем в него небольшое изменение. Давайте предположим, что замок в каждом конкретном гараже создается в момент, когда машина стоит внутри гаража (мы предполагаем, что одна и та же машина использует один и тот же гараж каждый день). Также предположим, что мы пронумеровали все распределенные гаражи в последовательном порядке. Ключ от замка к гаражу №50 основан на ключе от замка к гаражу №49, а также на характеристиках (таких как цвет, масса, номер двигателя и т.д.) машины, которая стоит в гараже №50, и весь этот процесс начинается с гаража №1 и продолжается до гаража №200 и далее.

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

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

-5

Что происходит при изменении пары замок-ключ?
Надеюсь, вы помните, что мы говорили: все владельцы гаражей придерживаются каких-то правил? Одно из таких правил — валидация (проверка действительности) гаража. Гараж будет действительным, если ключ от гаража совпадает с его замком. В случае каких-либо изменений в паре ключ-замок, пары ключ-замок для всех последующих гаражей в списке станут недействительными, поскольку каждая последующая такая пара зависит от предыдущей. (Процесс валидации одной пары ключ-замок для конкретного гаража происходит очень быстро в отличие от процесса генерации ключа).

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

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

-6

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

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

Конец первой части...