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

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

Самые ранние модели блокчейна были созданы в начале 1990-х годов. В то время учёный-компьютерщик Стюарт Хабер и физик В. Скотт Сторнетта использовали технологию шифрования для защиты данных от подделки.​

Это достижение Хабера и Сторнетты вдохновило многих ученых-компьютерщиков и энтузиастов криптографии на изучение блокчейна, что также способствовало рождению Биткойна, первой в мире децентрализованной электронной денежной системы (первой криптовалюты).

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

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


Как работает блокчейн?

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

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

В основе почти всех блокчейнов лежит майнинг, который неотделим от алгоритмов хеширования. Биткойн использует алгоритм SHA-256 (256-битный алгоритм безопасного хеширования), который позволяет вводить строку любой длины для получения вывода той же длины. Выходной результат можно назвать «хеш-значением», которое всегда составляет 64 символа (256 бит).

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

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

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

Предположим, Алиса и Боб — два держателя биткойнов, и Алиса должна Бобу два биткойна.

Чтобы выплатить Бобу два биткойна, Алиса передает эту информацию о транзакции майнерам по всей сети.

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

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

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

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

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

Эта модель, которая требует компьютерных операций для создания новых блоков, называется Proof of Work (PoW). Существуют и другие механизмы, такие как Proof of Stake (PoS), которые не требуют огромных вычислительных мощностей, потребляют меньше энергии и привлекают к участию больше пользователей.