В чём разница?
Ищем и находим разницу во всём

На чём Основывается Технология Блокчейн, Просто и Доступно

Блокчейн - это больше, чем просто криптовалюта
Блокчейн — это больше, чем просто криптовалюта

Если вы слышали о Биткойне или любой другой криптовалюте, то, вероятно, слышали слово «блокчейн» или термин «технология блокчейна». Но что такое блокчейн? Как это применимо к цифровым валютам? Есть ли у него другое применение? Как это работает? Пожалуйста, позвольте мне объяснить!

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

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

Теперь, прежде чем продолжить, я просто хочу упомянуть, что, когда я говорю о доверии, я говорю о доверии, необходимом на уровне транзакции. Если лицу X заплатит лицо Y, произойдет ли эта транзакция на самом деле? Это будет где-нибудь записано? Есть ли учреждение, которое будет контролировать эту транзакцию?

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

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

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

Блокчейн — это большой длинный список записей, который общедоступен для просмотра, проверки и (в некоторой степени) добавления.

Что такое Хеш?

Теперь, когда у нас есть ответ на вопрос «Что такое блокчейн?», Мы переходим к другому термину, связанному с ним, — хешу. Хэш — это, по сути, способ сокращения большого объема данных в более управляемый фрагмент для ссылки, сортировки и сравнения. Хэши бывают двух видов: уникальные и неуникальные. Возьмем, к примеру, эти два блока данных, которые на самом деле являются предложениями, но могут быть любыми данными:

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

Неуникальный хэш может быть длиной данных: 70 для первых и 92 для вторых. Быстрый способ сравнить, чтобы увидеть, совпадают ли данные, — это сравнить этот неуникальный хэш. 70 равно 92? Нет. Следовательно, струны разные. Или другой неуникальный хеш может быть первой буквой «A» и «S». Они одинаковы? Нет. Поэтому струны разные. Неуникальные хэши имеют множество применений в разработке программного обеспечения, однако, поскольку их уникальность не гарантируется, есть много случаев, когда вы получаете конфликт хешей, когда сгенерированный вами хеш одинаков для обеих строк.

«Хэши бывают двух видов: уникальные и неуникальные»

Например, это предложение: «Примите, что некоторые данные будут иметь одинаковую длину, но не будут равными». имеет длину 70 и также начинается с буквы «А». Таким образом, он генерирует те же неуникальные хэши, что и первый хеш-код выше. Использование уникальной хеш-системы позволит избежать этого,  создав уникальное значение для любых данных. Даже малейшее изменение создаст другой хеш.

Чаще всего используются хэши этого типа из семейства алгоритмов безопасного хеширования. До недавнего времени фаворитом был SHA-1 (первый хэш в этом семействе), однако теперь SHA-256, вариант SHA-2, является предпочтением месяца.

Вот хеши SHA-256 для наших двух примеров предложений:

КОД

732ad8cdeb3ae98c2b0fde562ea8bec7575598124d23c7210fc18d6160ddcf11
КОД

d6528063a9ff5e594f80d3fe5ea05f836c6fcc7bc417cb0819a5cf03e339635c

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

Если мы изменим наше первое предложение так, чтобы слово «сердце» начиналось с заглавной буквы «H», тогда SHA-256 будет выглядеть так:

КОД

876e261f40b13f1e5a1b8e45db976a54db628d61f14a1f66697996049c48e587

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

«Уникальные хэши всегда имеют одинаковую длину, а хеш-значения всегда одинаковы для одних и тех же данных.»

Какая Роль Хешей?

Итак, теперь мы знаем, что такое блокчейн и что такое хеш, но как они работают вместе? Способ поддержания целостности цепочки блоков заключается в том, что для каждого блока создается уникальный хэш. Затем этот хеш вставляется в следующий блок. Это означает, что хэш для блока 101 является частью данных, используемых для генерации хеш-кода для блока 102, хеш-код для блока 102 является частью данных, используемых для генерации хеш-значения для блока 103 и так далее. Если изменить блок 101, то его хеш изменится, что также будет означать, что хеш для 102 изменится. Это вызывает цепную реакцию, и каждый блок становится недействительным.

Все это звучит хорошо, но проблема в том, что вычисление хэша не занимает много времени. На одноядерном Raspberry Pi Zero это занимает менее 0,02 секунды. Даже маленький компьютер может вычислить тысячи хэшей за 1 секунду. Это означает, что будет нетрудно пересчитать все хэши в цепочке блоков всего за несколько секунд, даже если цепочка блоков имеет длину в десятки тысяч блоков.

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

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

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

Вы обратили внимание на цифру 62 в конце предложения?

Если вместо этого мы сделаем nonce 63: «Прежде всего, берегите свое сердце, потому что все, что вы делаете, вытекает из него. 63», мы получим 00 501a8b6e96e47ee1f76a2735fa19775224981317f39c24835d06b9e5f77422, хэш с двумя ведущими нулями.

Даже с двумя ведущими нулями Pi потребовалось всего 0,2 секунды, чтобы найти хеш. А как насчет трех ведущих нулей? Для этого нужен 1811-й в конце, но все же на его поиск потребовалось всего 0,3 секунды. Четыре ведущих нуля занимают около 3,2 секунды, а пять ведущих нулей — около 12 секунд. Все эти расчеты основаны на очень доступном Raspberry Pi, поэтому, чтобы убедиться, что он безопасен, нам явно понадобится больше нулей!

На вычисление хэша всего с шестью ведущими нулями у моего скромного Raspberry Pi Zero уходит 9 минут 38 секунд. Конечно, довольно долго, но это без какой-либо специальной оптимизации с графическим процессором или чем-то подобным. Пи потребовалось 9,5 миллионов попыток найти хеш. В настоящее время количество ведущих нулей, необходимых для блока биткойнов, составляет 17!

«Расчет хэша с шестью ведущими нулями занимает у Raspberry Pi Zero 9 минут и 38 секунд — в настоящее время в блоке Биткойн используется 17 ведущих нулей!»

Proof-of-Work и P2P

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

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

Хранить блокчейн на централизованном сервере проблематично. Кому принадлежит сервер? Кто им управляет? Кто отвечает за безопасность сервера? Что происходит, когда сервер отключен? Частью роли трастовых учреждений  является запуск и обслуживание серверов, необходимых для повседневной работы. Однако с помощью блокчейна данные распределяются. Центрального сервера нет. Данные распространены повсюду. Некоторые одноранговые узлы в этой распределенной сети могут иметь полную копию блокчейна, другие могут иметь фрагменты, но в целом существует несколько копий данных, доступных в нескольких точках. Например, вы можете полностью просмотреть блокчейн Биткойн на blockchain.info.

Блокчейн — это больше, чем просто криптовалюта

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

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

Заключение

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *