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

Хорошая новость заключается в том, что блокчейн — звучит сложно, но понять суть намного легче.

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

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

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

Хэш-функция

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

  1. Аня дала 3 монеты Маше
  2. Маша дала 5 монет Никите
  3. Никита дал 3 монеты Ане
  4. Аня дала 1 монету Диме

Один человек — например Никита — решил украсть деньги. Чтобы скрыть это, он изменил записи в дневнике:

  1. Аня дала 3 монеты Маше
  2. Маша дала 5 монет Никите
  3. Никита Маша дала 3 монеты Ане
  4. Аня дала 1 монету Диме

Саня заметил, что кто-то взял его дневник и изменил записи. Он решил больше не допускать этого.

Он нашел программу, называемую хэш-функцией, которая превращает текст в набор цифр и букв:

Исходный текстХэш
Компьютер474cc4efd4a92820bad2dbe61f076451

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

После каждой записи он вставлял хеш. Новый дневник выглядел следующим образом:

6. Аня дала 10 монет Маше
d51ca416731c328c6bb159cc30803659
7. Маша дала 5 монет Никите
312e2d9513f21b6d2456f6e52e06af0c

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

6. Аня дала 10 монет Маше
d51ca416731c328c6bb159cc30803659
7. Маша дала 5 7 монет Никите
312e2d9513f21b6d2456f6e52e06af0c
51c76b8cd70eb45a682d91ff4ad36f6c

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

ЗаписиХэш
Аня дала 10 монет Маше 312e2d9513f21b6d2456f6e52e06af0c
Маша дала 5 монет Никите
312e2d9513f21b6d2456f6e52e06af0c
493b5a47a0f2819b5b3edd104ac510cc
Маша дала 3 монеты Ане
493b5a47a0f2819b5b3edd104ac510cc
1a814dab1591d4714a0d6db73b9245c2
Аня дала 1 монету Диме
1a814dab1591d4714a0d6db73b9245c2
7c81a741f82ccd6e969625d3f4581ed5

Если Никита попытается изменить запись, ему придется изменить хэш во всех предыдущих записях.

Случайное число (nonce)

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

ЗаписиХэш
Аня дала 10 монет Маше 13312e2d9513f21b6d2456f6e52e06af00
Маша дала 5 монет Никите 451
312e2d9513f21b6d2456f6e52e06af00
493b5a47a0f2819b5b3edd104ac51p00
Маша дала 3 монеты Ане 183
493b5a47a0f2819b5b3edd104ac51p00
1a814dab1591d4714a0d6db73b924500
Аня дала 1 монету Диме 454
1a814dab1591d4714a0d6db73b924500
7c81a741f82ccd6e969625d3f4581e00

Теперь, чтобы подделать записи, Никите пришлось бы тратить часы на то, чтобы выбрать Nonce для каждой строки.

Что еще более важно, не только люди, но и компьютеры не могут быстро подобрать Nonce.

Узлы (ноды)

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

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

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

Теперь, если Никита изменит одну запись (из 5000 компьютеров), все остальные компьютеры будут иметь оригинальный хеш. Они не позволят изменениям произойти.

Блок

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

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

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

Важные моменты

  1. Блокчейн — это тип дневника или таблицы, содержащей информацию о транзакциях.
  2. Каждая транзакция генерирует хэш.
  3. Хеш — это запись из цифр и букв.
  4. Транзакции записываются в том порядке, в котором они произошли. Порядок очень важен.
  5. Хеш зависит не только от текущей транзакции, но и от предыдущей транзакции.
  6. Даже небольшое изменение в транзакции создает совершенно новый хэш.
  7. Узлы проверяют не была ли изменена транзакция, проверяя хэш.
  8. Если транзакция одобрена большинством узлов, она записывается в блок.
  9. Каждый блок ссылается на предыдущий блок и вместе образует блокчейн.
  10. Блокчейн эффективен, поскольку распространяется на множество компьютеров, на каждом из которых есть копия блокчейна.
  11. Эти компьютеры называются узлами.
  12. Блокчейн обновляется каждые 10 минут.

Кошельки, цифровые подписи, протоколы

Никита признался в своих грехах группе и глубоко извинился. Чтобы доказать свою искренность, он вернул Ане и Маше их монеты.

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

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

Кошелек — это строка из цифр и букв, например: 18c177926650e5550973303c300e136f22673b74. Это адрес, который будет отображаться в различных блоках внутри блокчейна по мере выполнения транзакций. Нет видимых записей о том, кто с кем совершил какую транзакцию, только номер кошелька. Адрес каждого конкретного кошелька также является открытым ключом.

Цифровая подпись

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

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

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

Протоколы

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

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

  • Входная информация для каждого хеш-номера должна включать хеш-номер предыдущего блока.
  • Награда за успешный майнинг блока уменьшается вдвое после того, когда каждые 210 000 блоков будут закрыты.
  • Чтобы сохранить количество времени, необходимое для майнинга одного блока, примерно на 10 минут, сложность майнинга пересчитывается каждые 2 016 блоков.

Доказательство работы (Proof of Work)

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

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

Что такое майнинг?

Майнеры в блокчейне — это узлы, которые производят блоки, решая проблемы с работой. Если майнер производит блок, который одобрен электронным консенсусом узлов, то майнер получает вознаграждение монетами. По состоянию на октябрь 2019 года, биткоин-майнеры получают 12,5 биткоинов за блок.

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

Важные моменты

  1. Если у вас есть цифровые деньги, вам нужен цифровой кошелек.
  2. Кошелек — это адрес в блокчейне.
  3. Кошелек — это открытый ключ.
  4. Для отправки транзакции, надо отправить сообщение с транзакцией, подписанной закрытым ключом.
  5. Перед утверждением транзакции она проверяется каждым узлом, который голосует за нее, специальным электронным способом.
  6. Майнеры, которые являются специальными узлами, размещают транзакцию в блоке.
  7. Компьютеры в сети, в которых находится блокчейн, называются узлами.
  8. Майнеры помещают транзакции в блоки в ответ на доказательство работы.
  9. После того, как майнеры успешно «заблокируют» блок транзакции, они получают вознаграждение, которое в настоящее время составляет 12,5 BTC, и они также получают комиссию за транзакцию, которую платят владельцы биткоинов.
  10. Взаимодействие осуществляется по блокчейну с использованием правил, встроенных в программу блокчейна, называемых протоколами.
  11. Криптография необходима для предотвращения взломов.
  12. Криптографические ключи изготавливаются генераторами ключей или кейгенами.
  13. Кейгены используют очень продвинутую математику с использованием простых чисел для создания ключей.
  14. Блок содержит метку времени, ссылку на предыдущий блок, транзакции и вычислительную проблему, которая должна быть решена до того, как блок перейдет в блокчейн.
  15. Распределенная сеть узлов, которым необходимо достичь консенсуса, делает мошенничество в блокчейне практически невозможным.

Ограничения и уязвимость

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

Более того, не существует блокчейн сети, которая могла бы поддерживать такое же количество транзакций, как крупные эмитенты карт, такие как Visa или MasterCard. Начиная с 2017 года, технологии блокчейн еще предстоит пройти долгий путь, прежде чем он сможет заменить гигантов финансового мира.

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

Добавить комментарий

Ваш e-mail не будет опубликован.