Найти тему
Вникаю в блокчейн

Блокчейн

Оглавление

Криптовалюта, майнинг, биткойн, блокчейн и прочие –многие о них слышали, но не особо представляют, что это такое. Говорят, кто-то сказочно разбогател, занимаясь майнингом и торговлей криптой, а кто-то спустил последнее. Сейчас тема криптовалюты кажется мне чем-то похожей на торговлю акциями в России 15 лет назад – авантюрная, доступная немногим и окутанная ореолом «тайны» 😁.

Месяц назад впервые прочёл про криптовалюту и всё – залип. Читаю, изучаю, готовлюсь вкладывать деньги – верю в то, что это реальный рынок, за которым будущее. Прежде чем вкладывать «кровные», решил вникнуть в теорию «степ бай степ». И начал с «блокчейна», поскольку это центральное понятие во всей криптовалютной теме.

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

Что это

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

Распределённая она, потому что у неё нет одного места хранения. Её копии хранятся на множестве компьютеров одновременно и информация доступна всем её пользователям. Эти копии постоянно сверяются всеми участниками системы и одновременно обновляются при создании нового блока.

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

Таким образом, блокчейн – это публичная, децентрализованная и постоянно растущая база данных.

Рис.1 Блокчейн – распределённая база данных (рисунок найден через Яндекс. Картинки на сайте https://prostocoin.com)
Рис.1 Блокчейн – распределённая база данных (рисунок найден через Яндекс. Картинки на сайте https://prostocoin.com)

Как появляются новые блоки?

Итак, база данных состоит из блоков. Как они появляются?

Предположим, вы участник некой сети блокчейн (например, Биткоин), у вас есть немного криптоденег этой сети (биткоинов), и вы хотите перевести их другу. Вы заполняете форму, указываете адрес друга, сумму, «подписываете» и нажимаете кнопку отправить – вы только что запустили транзакцию в сеть блокчейн.

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

-2

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

-3

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

Рис 2. Создание нового блока
Рис 2. Создание нового блока

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

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

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

Итак, новый блок данных создан, проверен и добавлен к существующей базе данных.

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

Майнеры

Дополнение 03.07.2021. Эта глава справедлива для блокчейнов, работающих на PoW (Proof-of-Work) алгоритме. В блокчейнах, работающих на PoS (Proof-of-Stake) алгоритме созданием новых блоков занимаются ноды-валидаторы (мастерноды, стейк-ноды и пр).
Принцип похож, отличие в том, что для PoW решающим при создании блока является вычислительная мощность устройства ноды-майнера, а для PoS – количество средств на счёте ноды.
PoS даёт возможность участвовать в создании новых блоков любому пользователю, обладающему гаджетом и несколькими баксами для первоначальных инвестиций. Подавляющее большинство новых криптовалют разрабатывают на PoS алгоритме.
Подробнее о нодах и алгоритмах работы можно прочесть в статье «Ноды в блокчейне».

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

Майнер, который первым подберёт случайное число и создаст новый блок получает вознаграждение от сети в виде криптовалюты. Криптовалюта генерируется самой системой – по сути «из ниоткуда».

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

Майнить криптовалюту в одиночку на сегодняшний день экономически бессмысленно, какая бы мощная техника у вас не была. Я пока не пробовал😁, но всё, что прочёл в один голос, заявляют, что это так. Чтобы повысить свои шансы на добычу, майнеры объединяют свои вычислительные мощности и создают группы – пулы. Чем мощнее пул, тем больше у него шансов первым вычислить случайное число и получить вознаграждение от блокчейн системы - криптовалюту. Далее вознаграждение делится между участниками пула.

Основные свойства блокчейна

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

Децентрализация означает и отсутствие контроля над системой со стороны государственного или финансового регулятора и вообще кого-либо.

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

Для большинства криптовалют и в том числе для биткоина – это верно. При желании у биткоина можно отследить любую транзакцию и даже «всю жизнь» любой монетки от её добычи (выпуска) до настоящего момента.

Но есть специальные анонимные криптовалюты (Monero, Zcash, Dash – самые известные), которые основаны на технологии блокчейн, но отследить их транзакции и идентифицировать монетки практически невозможно.

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

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

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

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

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

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

Таким образом, отсутствует некий «главный» который решает, как должно быть – какие транзакции проводить, а какие отклонить. Решение принимают большинство участников системы.

Слабые места блокчейна

Размер. Чем популярнее блокчейн проект (та или иная криптовалюта) тем больше в ней происходит транзакций и тем быстрее растёт база данных. Например, по состоянию на май 2020 года блокчейн Bitcoin весит 270 ГБ, а блокчейн Ethereum (2-я по популярности крипта) весит 135 ГБ. То есть каждая полная нода должна иметь столько свободного пространства для хранения базы данных – по сути гигантского архива всех транзакций, с момента создания первого блока.

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

«Атака 51%». Тот самый теоретический способ обмануть сеть. То есть если некий участник или группа участников сети сконцентрирует в своих руках 51% вычислительных мощностей они могут начать действовать в своих интересах – подтверждать только те транзакции, которые выгодны им.

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

Отсутствие единой законодательной базы. Не существует единого мирового законодательства о криптовалюте. Есть страны, где её признают и принимают к расчётам, а есть страны, где она запрещена.

Российские государственные деятели (Путин В.В., Медведев Д.А. Греф Г.О. и другие) заявляли о важности и перспективности технологии блокчейн. На сегодняшний день на рассмотрении в Госдуме находится законопроект «О цифровых финансовых активах», который регулирует операции с криптовалютой. Его принятие планируется в этом году.

Применение

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

Но где блокчейн реально и повсеместно используется на практике, так это создание криптовалюты! Любая криптовалюта основана на технологии блокчейн. Впервые технология реализована в 2009 г. как компонент сети Bitcoin, где блокчейн играет роль главного общего реестра для всех операций с биткоинами. А сегодня, помимо Bitcoin насчитывается несколько тысяч блокчейн-проектов, которые генерят свою криптовалюту – альткоины.

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

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

Если увидели ошибки в статье – пишите. Будем исправлять вместе 🙂

09.05.2020 г

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

Подписывайтесь на канал и читайте про криптовалюту