Криптовалюта: факты и заблуждения, или "мама, я купил 10 видеокарт и хочу биткойнтов!" part 3: Блокчейн
Добрый день! Подписчиков стало аж 41, и я рад, что мои статьи интересны людям!
Сегодняшняя тема поста - самое сложное, что есть в криптовалюте. И самое важное. Это технология blockchain, собственно, сделавшая криптовалюты возможными.
Итак, с чего бы начать...
А начать нужно с того, как сейчас работают денежные транзакции. Предположим, вы переводите со счета на счет деньги за работу. Пусть фрилансеру, живущему во Владивостоке, а вы сидите во Владикавказе. Физически наличные средства не передать, и вы прибегаете к посреднику - банку. Получается, что банк переложил свои деньги из одного кармана в другой, сказав Вам и фрилансеру, что у Вас денег стало меньше, а у него - больше.
Насколько комфортно наличие третьего лица, распоряжающегося вашими средствами? Не особо. А культ анонимности, развивавшийся в Интернете многие годы, такое вообще не приемлет. Да и в целом, сложно доверять тому, кто при собственном (или государства) желании может взять и забрать все ваши деньги.
И тогда неким Сатоши Накамото (причем неизвестно, реальная ли это личность, группа ученых под общим псевдонимом, или вообще госструктуры) было предложено обмениваться информацией между пользователями (плательщиками) посредством цепочки (важное условие - идеально синхронизированное время) из групп тразнакций - блоков.
Таким образом:
В блок 0 кодируются все самые старые транзакции (до предположим 1 МБ информации)
В блок 1 кодируются более новые транзакции плюс hash предыдущего блока
В блок 2 - еще более новые, и hash предыдущего блока, содержащий hash всех еще более ранних блоков. И так по цепочке.
Важно отметить, что транзакция считается подтвержденной, когда она заняла место в сформированном блоке (выпала монетка).
Это все хорошо, но найдется куча желающих, которые припишут в блок несуществующие транзакции - о том, как им дали кучу денег, например. Как определить, какие блоки зашифрованы правильно, а какие - нет?
Этот вопрос называется "задачей византийских генералов"
Картинка нагуглена в Интернетах, спасибо автору!
Соответственно, суть задачи в том, что нужно вычислить "предателей" - в нашем случае, некорректно зашифрованные блоки.
В случае с блокчейном решение очень простое: каждый пользователь сети передает информацию каждому другому. И по сути, голосованием, решается вопрос - "наступать" или "отступать", или является ли данный блок правильным.
Но! Число юзеров - это, конечно, хорошо, но любой мошенник может создать кучу фейковых айпи, и т.п. Однако доподлинно известно, что у честных юзеров больше мощности затрачивается на работу в сети. Таким образом, голосование происходит мощностями - 51% общей мощности системы однозначно определяет подлинность зашифрованного блока. Эта система называется proof of work.
В связи с этим, кстати, самый страшный кошмар биткоин-юзеров - это "атака 51" ситуация, когда 51% мощности сети будет контролироваться мошенниками. Но с учетом текущей мощности сети... Такое малореально, конечно =)
Итак, как же работает Proof of Work? А это и есть тот самый майнинг, на который уходят запасы видеокарт и все электричество (за которое, как известно, платит мамка).
В hash блока внедряется так называемый "NONCE" - четырехбайтное число. Это число нулей в начале hash'а.
Процесс майнинга - это процесс перебора значений "NONCE" в hash'е блока. По сути процесс аналогичен тому, когда вы, например, читаете договор и на каждой странице ставите подпись - доказываете, что вы с договором поработали и вообще всячески добросовестные ребята.
При этом реализуется защита от мошенничества - если, например, поверх хорошего блока, закодировался и честный, и нечестный блок, то, например, мошенники попытаются продолжить цепочку блоков из нечестных, а честные майнеры отбросят нечестный блок, т.к. у него в hash'е будет всякое нехорошее, и продолжат майнить поверх "честных" блоков.
Таким образом, более длинная цепь (в которую вложили больше работы) автоматически будет признана правильной. За всю историю биткоина, самая длинная мошенническая цепь составила... 5 блоков. А так-то в системе сейчас порядка 500.000 блоков (за каждый блок дается награда порядка 21 биткоина на данный момент).
Интересный факт, на поиск значения "NONCE" уходит всегда одно и то же время. Потому что сложность скалируется от числа участников поиска.
Собственно, процесс майнинга - процесс соревнования между участниками, кто быстрее соберет новый блок. Тот, кто собирает блок, сигнализирует остальной сети, что он молодец, и начинайте пользоваться новым блоком.
Таким образом, блокчейн - это не зависимая от внешних регуляторов система хранения и учета транзакций.
Майнинг криптовалюты - это эмиссия, одновременно поддерживающая систему транзакций.
А действия с намайненной в той или иной момент монеткой записываются также в блокчейн (оплата чего-то, например)
По одному блоку блокчейна можно определить всю историю блоков до него.
Вот как-то так, простенько и вкратце. Честно говоря, очень-очень сложно донести информацию в небольшом посте (вместо 2-3 часовой лекции). Поэтому жду много вопросов и споров в комментариях. Тем не менее, я надеюсь, что эта статья поможет лучше ориентироваться в том, что же такое блокчейн, почему он имеет ценность вне зависимости от хайпа вокруг крипт, и что он может применяться далеко не только в криптовалютах (чему нынче очень много примеров - финтех стартапов абсолютно разных направленностей).
В следующей статье (в пятницу) я постараюсь рассказать об организации фермы, а также бонусом - о том, как уязвимы бывают блокчейны на примере The DAO Attack (заодно расскажчу чем Эфир отличается от Биткоина). Stay tuned!
Картинки как всгеда натырены из интернетов, спасибо их создателям!
Лига Криптовалют
3.8K постов9.3K подписчик
Правила сообщества
- Будьте вежливы
- Не используйте реферальные ссылки при обсуждении сторонних ресурсов.
- Никаких ссылок на ТГ и другие соц.сети с вашими сигналами, ботами и инсайдами и тому подобных.
- Если ваш канал аналитический и/или с авторским контентом, то ссылку на ваши соц.сети в посте не запрещена. Только пусть ваш пост будет содержательным.