Статьи

Блокчейн: что это такое, как оно работает, почему оно так популярно

Это введение в блокчейн первоначально было опубликовано на сайте Бруно в Bitfalls и воспроизводится здесь с разрешения.

Что такое «блокчейн»? Как это работает, почему это популярно, и почему так много людей утверждают, что это произведет революцию в мире?

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

Марио и Луиджи

Марио должен отправить 100 долларов своему брату Луиджи, потому что Луиджи, будучи Луиджи, у него возникли долги на другом конце света.

Луиджи в долгу

Марио заходит в банк и говорит: «Я хотел бы отправить Луиджи 100 долларов». В этом порядке кассир говорит: «Укажите карточку счета», «Пожалуйста, удостоверение личности» и «Готово».

Марио отправляет деньги Луиджи через банк

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

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

Вор, уходящий с банковскими деньгами за кассиром

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

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

документы

Предположим, у нас есть пять участников: Йоши, Марио, Луиджи, Варио и Баузер, и что у каждого из них есть свой лист бумаги.

У каждого участника есть свой лист бумаги

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

Марио отправляет деньги Луиджи и выкрикивает их

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

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

Тюлени и добыча

Эта «печать» гарантирует, что содержание бумаги соответствует действительности.

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

Давайте возьмем следующее в качестве примера:

X1 + X2 + … Xn = Z

Другими словами, простая сумма.

Предположим, что значения нашей статьи верны и действительны (т.е. все транзакции подтверждены) тогда и только тогда, когда данная операция суммирования выдает число 10000.

 1000 + 6000 + 3000 = 10000

В этом случае входными данными являются 1000, 6000 и 3000, а печать — 10000.

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

Например, если документ содержит следующие пять транзакций:

  • Марио -> Луиджи = 100
  • Боузер -> Йоши = 200
  • Йоши -> Луиджи = 100
  • Марио -> Йоши = 500
  • Луиджи -> Варио = 100

Сумма равна 1000, поэтому мы ищем число, которое дает 10000 при добавлении к 1000. Оставшиеся 9000 могут быть достигнуты с помощью многих комбинаций:

  • 5000 + 4000
  • 1000 + 1000 + 1000 + 1000 + 1000 + 1000 + 1000 + 1000 + 1000
  • 2000 + 3000 + 2000 + 2000
  • и т.д…

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

Предположим, что Йоши нашел комбинацию 4000 + 5000. Он говорит всем: «У меня есть 10000! Попробуйте 4000 и 5000! »Учитывая, что очень просто проверить правильность чисел Йоши, просто введя их в алгоритм, другие участники проверят это. Все документы других участников, которые в ходе этой проверки теперь также выдают 10000 при суммировании с 4000 и 5000, эффективно проверяют список транзакций перед ними. Делая это, достигается консенсус, что все документы являются действительными.

Если чья-то бумага не дает 10000 при суммировании с 4000 и 5000, у нас есть проблема. Если, например, Боузер намеренно или случайно зарегистрировал другую транзакцию — скажем, что Марио дал Луиджи 200 долларов, а не 100 долларов, — тогда сумма не будет соответствовать требованиям.

Все, кроме Баузера, подтверждают статью

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

Йоши получает награду, Баузер выбрасывает свою газету

Это производство денег из воздуха называется майнингом в мире криптовалют.

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

Запечатанная бумага

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

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

В частности, в блокчейне Биткойн консенсус сети и всех ее участников заключается в том, что до тех пор, пока создается хеш (который мы получаем из объединения хэша последней статьи и всех транзакций текущей бумаги, плюс случайный бит чисел и буквы) начинается с заданного количества нулей, это действительно. Например, если бумага 1 имеет хэш 0000000000000000058edcbb30df48d7fc920eeb75a28f883de4100f58a99b49

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

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

В блокчейне

На языке блокчейна:

  • Одна бумага — это блок .
  • Один блок содержит много транзакций .
  • Один блок всегда следует за предыдущим блоком, образуя цепочку — блокчейн . Проверенные блоки помещаются в бухгалтерскую книгу (синоним блокчейна ).
  • Компьютеры, угадающие комбинации, называются узлами . Узел, который угадывает хэш-комбинацию, получает награду в виде токенов блокчейна — в нашем конкретном примере — несколько биткойнов.
  • Догадка для комбинаций называется майнингом , потому что мы ищем новые значения в большой куче случайных догадок. Вместо мышц для усилий и кирок для инструментов мы используем электричество, время и вычислительную мощность компьютера. Все персонажи в нашей истории — в маленьких картах именно потому, что это все гонки: тот, кто первым подтвердит блок с действительным хешем, выигрывает и получает очень ценную награду. Аналогично в мире блокчейнов, наиболее мощные компьютеры (или пулы компьютеров) обычно получают награды за блок.
  • Существование нового действительного хэша считается доказательством работы . Это модель, которую сегодня использует большинство криптовалют, чтобы сделать предположения или мошенничество финансово нежизнеспособными из-за слишком высоких затрат на электроэнергию. Некоторые протоколы, такие как Ethereum, переходят к доказательству того, что бессмысленная трата электроэнергии сводится к минимуму, а наказание за недопустимое участие стало более строгим, но это тема для другого поста.

Вывод

Все криптовалюты основаны на технологии блокчейн . Блокчейн — это то, что позволяет им быть прозрачными, окончательными (их невозможно фальсифицировать или дублировать) и несколько ограничивать в максимальном объеме производства. В отличие от фиатной валюты (доллары США, евро и т. Д.), Криптовалюты не могут быть просто напечатаны их создателями, за исключением некоторых мошеннических валют, таких как Ripple (XRP) или OneCoin. (Подробнее об этом в другом посте.)

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

Что дальше?

Вот дальнейшее чтение: