Цепи будущего или оковы кибернетики?
Чтобы разобраться, что такое блокчейн, предлагаем понять, зачем он нужен. Представим, что ваш друг попросил вас одолжить ему 1000 рублей. Вы за несколько секунд переводите нужную сумму в онлайн-банке – и вскоре она появляется на счету вашего друга. Физически никакие банкноты никто и никуда, конечно, не перемещал. Что же произошло?
Вы обратились в банк с просьбой перевести 1000 рублей на другой счет. Банк сначала проверяет, есть ли эта сумма у вас на счету, а затем делает запись: «От клиента А клиенту Б переведена 1000 рублей». Вы с другом доверили банку распорядиться деньгами, но этой записью никто из вас управлять не может. Как быть, если эти записи пропадут? Что, если банк ошибётся и запишет «1500 рублей» вместо «1000»? А если не по ошибке, а специально? Как отправить деньги другу, не поручая это третьим лицам?
Ответ на эти вопросы – блокчейн. Для создания цепочки блокчейна нужно минимум трое участников – тех, кто хочет вести учёт самостоятельно. Представим, что у каждого есть пустая папка – туда будут добавляться записи. Когда один решит отправить кому-то 1000 рублей, он объявляет об этом всем участникам. Они сначала проверяют, есть ли у него столько денег на счету, а затем записывают транзакцию на чистой странице. Теперь она считается исполненной. Все начинают совершать переводы, а также обязательно проверять и записывать транзакции других. Когда страница заполнена, её складывают в папку и берут новую, чистую.
Но перед тем, как отложить страницу, её снова проверяют все участники – чтобы не было допущено ошибок. На неё нужно поставить уникальную печать, которая гарантирует, что в эту архивную страницу никто и никогда не сможет внести никакие изменения. В банковской системе эту функцию выполняет банк – он гарантирует, что все записи в книге учёта останутся неизменны.
Такое «опечатывание» в блокчейне называется майнинг. У каждой печати есть свой номер. При компьютерной обработке этот номер создаётся особым, сложным образом – все участники подбирают его одновременно. Когда одному удается вычислить нужный номер, другие участники проверяют его – и если нужное итоговое число совпадает, все записывают этот номер-печать и убирают страницу в папку. Если у кого-то на выходе получилось неправильное число, он может только выбросить свою страницу и скопировать записи соседа. В ином случае он больше не сможет быть частью этой системы.
Зачем же подсчеты вести всем вместе? Ведь кто-то один рано или поздно подберет правильный номер. Мотивация в вознаграждении – первый, кто нашел число для подписи, получает за свои усилия криптовалюту. Причём деньги просто появляются на балансе – не пропадая со счетов ни у кого другого. Так появился биткоин – первая валюта в системе блокчейн.
А что, если кто-то захочет внести изменения в одну из страниц? Он ведь может пересчитать номер после изменений и записать его. Тут есть небольшая хитрость: помимо цифр в печать входят еще и данные о предыдущей странице. То есть чтобы изменить старую страницу, нужно также поменять содержание и номера для всех последующих страниц, а пересчитывать эти номера долго и сложно. Так что нечестный участник системы не поспеет за другими.
Единственное уязвимое место блокчейна – «атака 51%». Если больше половины участников сети решать объединиться и обмануть остальных, система сломается. Так что основополагающий принцип блокчейна – честность большинства участников. Пока подобных прецедентов еще не происходило.
Кратко:
Как используется блокчейн? Технология применяется во всех сферах, где необходима быстрота передачи информации с высокой степенью её защиты. Это запуск и работа криптовалют и цифровых активов, заключение смарт-контрактов на поставку товаров, генерация токенов (non-fungible tokens, NFT), банковская и правовая сферы, администрирование сетей и игровая индустрия. Технологии блокчейна находят применение в работе органов государственной власти (например, при проведении и обработке результатов референдумов и голосований), в деятельности публичных и непубличных корпораций, общественных организаций и частных лиц.