Почему блокчейны — это системы «без доверия»?

Почему блокчейны — это системы «без доверия»?

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

Вступление

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

Объясню более подробно.

Настоящая система обработки транзакций без доверия выглядела бы так:

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

  1. В подлинности: деньги передает настоящий отправитель.
  2. В отсутствии двойной траты: деньги не поддельные, это настоящая купюра в $10.

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

Вот, что нам по-настоящему нужно:

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

В связи с этим возникает вопрос: кто может стать посредником, которому можно полностью доверять?

В современных транзакционных системах роль посредника играет банк (например, Chase Bank), поставщик платёжных услуг (например, Paypal), компания денежных переводов (например, Western Union), компания-процессор платежей по кредитным картам (например, Visa) и так далее.

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

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

Блокчейны ничем не отличаются.

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

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

Криптография публичного ключа

Криптография публичного ключа (или асимметричная криптография) использует:

  1. Набор публичных ключей, которые видны всем.
  2. Набор приватных ключей, которые видны только их владельцу.

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

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

Изменение сообщения транзакции любым способом приведет к сбою в проверке.

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

Если бы у нас не было общей правды, то Алиса могла бы отдать одни и те же $10 долларов двум разным людям.

Здесь и вступает в игру «система консенсуса», которая позволяет нам поддерживать правду с общим цифровым доступом.

Машинный консенсус (протокол криптоэкономики)

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

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

  1. Майнеры получают комиссию, которую пользователь платит за проведение транзакции.
  2. Майнеры получают новые биткойны за успешное решение задачи.

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

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

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

Когда появляются такие форки, «каноническая» цепочка сети остается самой «длинной». Это та цепочка, которой доверяют и над которой продолжает работать большинство майнеров.

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

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

Социальный консенсус (управление)

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

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

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

Вывод

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

Возможно, более точным описанием блокчейна будет не система «без доверия», а система, основанная на распределённом доверии: мы верим всем в совокупности.

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

 

Источник



Categories: Криптография, Майнинг, Основы, Разработчикам, Теория

Tags: , ,

Leave a Reply

Оставьте первый комментарий!

  Subscribe  
Notify of