О блокчейне для самых-самых: что это, зачем это нужно и кто такие майнеры

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

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

Зачем это нужно

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

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

    • информация хранится не на одном сервере, а на миллионах разных компьютеров;
    • уровень доверия между участниками не имел бы никакого значения: зачем кому-то доверять свои средства, если можно математически зафиксировать их наличие?

Так появилась идея блокчейнадецентрализованной базы данных, работающей по конкретным математическим законам.

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

Как сделать базу децентрализованной?

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

Таким образом, один и тот же файл хранится на множестве разных компьютеров, а вы, скачивая его на свой жёсткий диск, также становитесь «раздающим».

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

Как заменить доверие математикой?

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

  • номер счёта отправителя;
  • номер счёта получателя;
  • сумма перевода;
  • подтверждение владения деньгами: ввод пин-кода карты, подпись на чеке и.т.п.

Фактически мы можем передать все эти данные через Интернет. Мы так и будем делать, только денежный перевод назовём транзакцией.

В привычной реальности корректность введённых данных проверяет банк. Банк знает, сколько денег лежит на конкретном счёте, и если сумма перевода превышает сумму на счёте, банк откажет вам в операции. В блокчейне вашим «счётом» являются данные о результате предыдущих транзакций. Скажем, если кто-то отправил вам 2 тысячи, а потом кто-то другой отправил вам ещё 3 тысячи, каким будет ваш баланс? Правильно, 5 тысяч. А если вы после этого потратили 4 тысячи? Нет, не 5 — 4 = 1, а (2 + 3) — 4 = 1 тысяча. Надеюсь, принцип понятен: мы берём прошлые транзакции, и на их основе вычисляем текущий баланс.

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

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

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

Осталось понять, зачем кому-то держать компьютер включенным и проверять новые транзакции.

О майнинге и майнерах

Все слышали о майнинге биткоинов, но мало кто понимает, кто такие майнеры и какова их роль в блокчейне.

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

Если каждый компьютер в сети просто проверяет новые транзакции, то как определить, в какой момент платёж можно считать корректным? Скажем, 60% компьютеров утверждают, что сумма платежа меньше или равна балансу плательщика, а 40% — что это не так. Кому верить? Что если 60% компьютеров (фактически — IP-адресов) контролирует мошенник, который хочет потратить больше денег, чем у него есть на самом деле?

Для того, чтобы избавиться от этой проблемы

  • объединим транзакции в блоки, просто чтобы было удобнее;
  • заставим каждый компьютер выполнять сложную и абсолютно бессмысленную работу.

Блоки

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

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

Выполнение работы

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

Нечестному майнеру нужно не просто «проверить» собственную мошенническую транзакцию наряду с другими, но и совершить большой объём работы перед отправкой блока в сеть. Подробное объяснение этого процесса я давал в предыдущем материале, сейчас же я просто скажу, что майнер должен подобрать некое число, которое:

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

Именно необходимость привлечения большого количества ресурсов защищает сеть от мошенничества: у нечестного пользователя просто не хватит ресурсов, чтобы «обогнать» других участников огромной сети. Следовательно, на длинной дистанции он всегда будет создавать новые блоки с транзакциями медленнее, чем «честная» часть сети, а значит, его мошенническая транзакция не попадёт в блокчейн. Этот механизм получил название «Proof of Work», что означает «доказательство с помощью совершения работы».

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

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

Выводы: что же такое блокчейн и кто такие майнеры

Блокчейн — цепочка блоков, которая содержит данные обо всех транзакциях (денежных переводах) в децентрализованной сети и хранится на каждом компьютере. Каждая транзакция ссылается на одну или несколько предыдущих транзакций, и по этой цепочке можно легко установить текущий баланс пользователя. Майнеры объединяют транзакции в блоки и совершают сложную работу по решению математической задачи. Майнер, первым решивший задачу, получает за это вознаграждение, что является стимулом для проверки корректности транзакций. Решение задачи защищает систему от мошенничества, так как нечестный майнер не сможет собрать в своих руках большое количество ресурсов, и будет проигрывать остальной части сети в скорости генерации новых блоков.

Я намеренно опустил сложные моменты и не пытался «впихнуть невпихуемое»: блокчейн и особенно Proof of Work — сложная технология, подробное описание которой невозможно уместить в сколь-нибудь сжатый формат. Если вы хотите вникнуть во все тонкости работы блокчейна и подробно разобраться в том, почему он работает именно так, как он работает, советую почитать подробный разбор технологии на нашем сайте.

И, тысяча чертей, задавайте вопросы! 🙂 Блокчейн — технология, которая уже сейчас переворачивает мир, в котором мы живём. Время, потраченное на разбор базовых принципов её работы, не будет потрачено впустую. Спрашивайте, и да будет отвечено вам 🙂

1

Автор публикации

не в сети 5 дней

zonatex.ru

3
Комментарии: 1Публикации: 3Регистрация: 21-07-2017

Похожие записи

Чем обеспечен bitcoin и другие криптовалюты? Разрушаем мифы об «обеспечении» денег... Правильный ответ на вопрос о том, чем на самом деле подкреплена цена традиционных активов — ключ к пониманию стоимости всех криптовалют....
О блокчейне простыми словами: подробный разбор технологии «для чайников»... Понятно рассказываем о том, как устроен блокчейн, и почему он устроен именно так.

Ответить