что такое блоки в блокчейне
Технология Blockchain простыми словами
Содержание
Содержание
Технологии распределенных вычислений и децентрализованного хранения информации были представлены еще в 90-х годах. Однако, слово «блокчейн» стало известно лишь недавно — когда некий Сатоши Накамото показал, как эти технологии можно использовать для устройства новой финансовой системы. Так, в 2008 году появился биткоин, а вместе с этим началась история развития блокчейна.
В 2021 году популярность этих технологий оказалась настолько высока, что стоимость того самого биткоина уже превышает 40 000 долларов за штуку. И, если этим феноменом заинтересовался такой крупный игрок, как Tesla, то почему бы не приобщиться к технологии простым пользователям. Разбираемся пальцах, что такое блокчейн, децентрализованная сеть и криптовалюта.
Народная энциклопедия знает очень много, но это не всегда понятно и доступно простому человеку. Как и в случае с определением технологии блокчейн. Поэтому попробуем разобрать тему на части и узнать, что к чему относится в этих непонятных дебрях криптографии.
Простым языком
Давным-давно, когда еще не вышел десятый айфон, жили Роман и Антон. У Романа было несколько способов передать денежные средства Антону:
Обычно, третья сторона — это целая совокупность инстанций и сервисов. Поэтому мы имеем цепочку посредников, схема работы которых находится под грифом секретности. С одной стороны, это полезно в целях безопасности — даже если мы зайдем в банк и попросим рассказать технические детали нашего перевода — никто этого делать не станет. С другой стороны, безопасность легко превращается в незащищенность — не зная технических подробностей, остается лишь слепо доверять банковской системе и надеяться, что «третьи лица» окажутся добросовестными ребятами.
Дело в том, что, превращаясь из бумажных в электронные, деньги не меняют своей формы — актуальные системы просто формируют цифровой код с зашифрованной в нем информацией о типе валюты, ее стоимости и количестве, чтобы передать ее от одного хранилища другому. Физически бумажное подтверждение ценности остается на руках пользователя или в сейфе банкомата.
Другими словами, Роман может найти терминал, предложить ему наличные денежные средства и получить их у себя на карте или отправить Антону. Мы привыкли так работать и считаем это безопасным способом перемещать деньги. Но с появлением блокчейна теория безопасности принимает новый оборот.
Посредники
Как работает стандартная банковская система переводов: на специальных компьютерах хранится вся информация о клиентах, операциях, имена, фамилии, отчества, адреса проживания, номера лицевых счетов. Нет, это не база данных КГБ — просто мы сами даем разрешение на обработку этой информации, когда регистрируемся на сайте. И это одна из брешей безопасности, которую блокчейн легко устраняет.
Когда Роман переводит деньги Антону через банкомат или онлайн-банк, он, так или иначе, делает запрос в эту базу данных, в реестр, где программное обеспечение проверяет некоторые условия:
И еще много подобных проверок, производимых программным обеспечением банков.
После того, как системе безопасности все понравилось, у Романа списывают необходимую сумму и зачисляют на счет Антона. Это привычная система и она централизована: здесь есть свой регулятор, органы управления, но, самое главное, — в системе есть обслуживающий персонал, без которого ничего не будет работать.
Программисты, аудиторы, операционисты, бухгалтеры, руководители, и еще два десятка должностных лиц, с помощью которых вся эта система функционирует, косвенно или прямо работают с переводом денег от Романа к Антону. Это следующая брешь в безопасности, которую блокчейн тоже закрывает.
Что такое блокчейн и как это работает
Еще совсем недавно все расчеты производились наличными деньгами. С развитием всемирной паутины изменился и способ передачи ценностей. Сегодня, в эпоху распределенных вычислений и автономных систем, в сети стало удобнее и безопаснее работать с помощью новых технологий. Например, блокчейн, где информация двигается между различными людьми без участия обслуживающего персонала, а также минуя централизацию, где существует вероятность, что вредная ошибка в коде ПО поможет хакеру забрать деньги или ценную информацию.
Начнем с того, что блокчейн (Block — блок, chain — цепь) — это децентрализованная база данных, которая предназначена для хранения последовательных блоков с набором характеристик (версия, дата создания, информация о предыдущих действиях в сети). Аналоговым примером его структуры представляется бесконечно длинная металлическая цепь, в которой нельзя разорвать или поменять местами звенья.
А еще цепочку блокчейна можно представить как книгу с возможностью добавлять страницы. Каждая новая страница пишется в режиме «онлайн», а остальные нельзя отредактировать или удалить.
Основное движение в такой системе происходит с помощью транзакций. Во время транзакции может выполняться какой-то скрипт, либо прописываться некая заметка с данными. То есть слово «транзакция» не равно денежному переводу и скорее обозначает способ обработки информации внутри сети.
Помимо основных данных, каждый блок имеет уникальный набор параметров: nonce, хеш предыдущего блока, хеш текущего блока и список транзакций.
Чтобы лучше понять, как устроены переводы внутри сети, снова представим страницу книги, где есть такая информация:
В пределах одного блока может храниться несколько тысяч таких записей. Когда память в блоке заканчивается — он закрывается, подписывается и переходит на новый блок в виде хеша или «отпечатка».
Хеш — это некий набор символов, несущий в себе уникальный отпечаток. Он формируется исходя из того, какие транзакции и в каком количестве хранит в себе каждый блок.
В процессе обработки транзакций постоянно проверяются хеши, после чего, словно по пирамиде, система поднимается к последнему хешу, где подтверждается целостность и верность всех предыдущих кодов, чтобы блок закрылся.
Если вдруг кому-то захочется добавить себе в кошелек пару сотен долларов без подтверждения со стороны остальных участников сети, то такая транзакция будет считаться неверной и перезапишется теми хешами, что хранятся у большинства узлов. То есть, если изменить хоть один байт, хоть одну точку, запятую или ноль, то итоговый хеш изменится, и блокчейну придется проверять все эти суммы заново для того, чтобы понять, правда это или ложь.
Из всего этого можно сделать вывод: сеть состоит из блоков, которые можно менять здесь и сейчас, пока они не закрылись. Все записывается в виде транзакций с информацией, которая шифруется как хеши и постоянно хранится в сети в каждом последующем блоке. Если изменить что-то и не найти этому подтверждение у большинства участников, то такие изменения просто не применятся, а блок будет считаться невалидным.
Простыми словами — в системе больше не получится подделать документы задним числом, как бы этого не хотели даже сотни человек, если общая сеть контролируется миллионами участников.
Отсюда и название Blockchain — все работает по цепочке, последовательно и непрерывно.
Кто такие майнеры и зачем они нужны
Мы уже говорили, что основной фактор безопасности заключается в добросовестности третьих лиц, тех, кто занимается обработкой информации. Как и у банковской системы — у блокчейна есть свой обслуживающий персонал. Но это не люди, а программный код, установленный на системах с нодой (сетью) блокчейна, то есть, на компьютерах, которые поддерживают сеть блокчейн. Другими словами — с помощью майнеров.
Для того чтобы провести операцию в блокчейне, необходимо ее создать и поместить в mempool — некую область, где хранятся все транзакции, которые в данный момент хотят совершить люди в блокчейне.
Что делают майнеры: они подключаются к mempool и начинают обрабатывать всю очередь. В глобальном смысле это работает так: система узнает о всех транзакциях в мемпуле, обрабатывает их, записывает в блок, высчитывает хеши и переходит к обработке новых заявок. Чтобы подтвердить валидность (правильность) блока, майнеру необходимо предоставить решение в сеть, которое проверяют другие майнеры и, если все хорошо, и большинство участников принимают результат вычисления хешей, блок считается правильным. Или nonce.
Разберемся на жизненном примере:
За круглым столом сидят десять человек. У них есть пять слов, из которых нужно составить предложение, которое может быть единственно верным из всех вариантов, которые можно придумать. Так, один из участников составил предложение первым и записал его на бумагу. После того, как все закончили задание, полученные предложения сравниваются. Так получилось, что первому участнику удалось составить верное предложение, и остальные семеро подтвердили, что у них получилось то же самое. И только один участник представил другое решение — но, так как он является меньшинством, а его предложение отличается от остальных, этот вариант из пяти слов считают недействительным и выкидывают из системы.
Выходит, для подтверждения настоящей информации в сети нужно договориться, чье решение подходит всем участникам в сети. Этим и занимаются криптовалютные майнеры.
Именно поэтому, в момент появления блокчейна, началась гонка за производительностью распределенных вычислений. Ведь чем больше у майнера вычислительной мощности, тем быстрее и больше информации он обработает в сети. Соответственно, как и банковский персонал, майнеры получают вознаграждение за свою работу. Это и есть основная причина, по которой все стремятся принять участие в добыче криптовалюты.
Децентрализация и распределенность
Мы уже выяснили, что для поддержки сети требуется постоянная и непрерывная работа нескольких мощных компьютеров. На сегодняшний день блокчейн обладает самой большой вовлеченностью вычислительных систем на планете. Даже такие гиганты как Google, Amazon и Apple не могут соревноваться с этой сетью по мощности.
Чем больше людей используют блокчейн, тем мощнее и безопаснее он становится.
Участником сети может стать каждый: достаточно установить официальный кошелек и загрузить полную ноду к себе на диск. С этого момента компьютер станет полноправным узлом в сети.
Например, у одного человека на компьютере стоит копия блокчейна. Есть еще один компьютер, на котором есть еще одна копия блокчейна, и таких десятки тысяч по всему миру. Если какой-либо злоумышленник захочет взломать систему и «нарисовать» себе миллион, мало того, что ему придется пересчитывать все эти блоки самостоятельно, ему еще придется сделать это в каждом компьютере, на каждом узле. А это, конечно же, невозможно — система полностью децентрализована и не имеет управляющих узлов. И с каждым днем таких узлов становится все больше, а шансов на взлом все меньше.
В централизованной системе вся информация хранится на сервере, и, если с ним что-то произойдет — можно попрощаться с ценными данными. В случае с централизованной системой злоумышленникам также проще найти уязвимость, чтобы атаковать главные компьютеры. Это может быть простая брешь в программной безопасности или безответственная работа сотрудника безопасности банка.
Такой большой вопрос безопасности можно решить только с помощью такой же большой сети. А под эти критерии как раз подходит система блокчейн, где каждый блок с информацией копируется одновременно на тысячи устройств без главенствующих в структуре систем.
Транзакции в блокчейн
В отличие от банков и электронных счетов, где для работы требуется слишком много конфиденциальной информации, блокчейн не требует от пользователей ничего: для работы понадобятся лишь два ключа, которые система выдаст при регистрации.
У каждого человека, желающего принять участие в блокчейне, есть свой публичный ключ, которым он подписывает транзакцию (как бы замыкает на ключ и пишет «отправить Васе»), а также приватный ключ, которым он может открыть посылку, которую ему прислал Вася обратно.
Публичный ключ — это некая фраза из цифр и символов, доступная к просмотру всем желающим. Если провести аналогию с биткоином, то публичный ключ — это номер кошелька, который можно отправить кому угодно для перевода средств.
Приватный ключ — это самое ценное. С помощью него подписываются все транзакции в пределах личного кошелька, а поэтому его нужно хранить в конфиденциальном месте. Например, как пароли от онлайн-банков.
Например, у Романа и Антона есть кошельки и приватные ключи.
Все, что зашифровано приватным ключом пользователя, любой человек может расшифровать при помощи своего публичного ключа. Но не открыть! Так можно узнать информацию по каждому переводу, по каждой транзакции счета — система полностью прозрачна. И в то же время анонимна — ведь никакой личной информации о человеке ключи, кошельки и блоки не хранят.
Биткоин — это не деньги
Мы привыкли считать, что биткоин это какая-то разновидность валюты, денег. На самом деле, понятия баланса в блокчейне нет. Все потому, что блокчейн — это просто записная книга. Обратимся к примеру на картинке:
Понятно, что блокчейн собирает всю информацию о движениях Романа, Антона и Марины, а затем передает это в виде транзакций в мемпул блокчейна. А там все как по инструкции — майнеры подхватывают информацию, считают хеши и подписывают блоки, чтобы поддержать сеть и получить вознаграждение в виде комиссии, которую ребята заплатили во время своих переводов.
Блокчейн и его применение
Биткоин — это не золото и не деньги, а обобщенный и удачный пример работы децентрализованных сетей, где каждый может стать участником и следить за честным исполнением всех событий.
Стоимость таких технологий нельзя считать оправданной или наоборот, недостаточной — здесь все, как на настоящем фондовом рынке. Если продукт хороший и правда что-то из себя представляет, то и цифровой актив прибавит в капитализации и стоимости. Если наоборот — проект считается провалом.
Конечно, все, что связано с блокчейн и монетами, пока еще является сильно волатильными инструментами, которые порой неподвластны даже очень крутым игрокам на рынке. И все потому, что основной объем инвестиций в этой сфере делают обычные люди, а не профессиональные игроки с Уолл-стрит.
И все же, несмотря на сложность и непонятность некоторых вопросов в этой индустрии, многие уже понимают ценность, удобство и безопасность децентрализованных технологий. Каждый день появляются новости о том, как государства внедряют инновации в привычные для людей сферы. Например, учатся отслеживать подлинность паспортов здоровья с помощью блокчейна, а также разрешают проводить регистрацию ценных бумаг с помощью децентрализованных сетей.
С биткоином или любым другим проектом, децентрализованные технологии станут неотъемлемой частью жизни современных структур. Ведь люди хотят обезопасить себя от мошенников, коррупционеров, хотят научиться контролировать свою жизнь больше, чем когда-либо. А блокчейн — это первый и самый большой шаг к новой системе.
Материал обновлен пользователем Urik26
Что такое блокчейн: руководство для чайников в 2021 году
Знакомьтесь, это Вася и он — душнила. Главная цель жизни Васи — спорить с друзьям.
Вася запоминает, кто и что говорил, находит взаимоисключающие параграфы и тыкает в них людей носом.
Но память Васи несовершенна, поэтому Вася нашел технологию блокчейн, которая позволяет вести большой коллективный дневник с записями. Запись может добавить кто угодно, прочитать — тоже.
Прелесть системы в том, что изменять, редактировать или удалять добавленные записи нельзя. Окружение Васи в восторге от идеи — теперь коллективный дневник на блокчейне ведёт вся душная компания.
Во время корпоратива Вася сделал две записи: «Потратил 12 000 рублей в баре” и “целовался с барменшей».
Запись попала в дневничок, и наутро Вася вспомнил, что его жена Рита тоже пользуется книжечкой и решил заменить последнюю фразу на «скучал по жене».
Но у него ничего не вышло и вот почему.
«Blockchain” переводится как “цепочка из блоков». Продолжая аналогию с дневником, блок — это некоторое количество дневниковых записей, собранных, запакованных вместе в блок и верифицированных.
Хранятся блоки в последовательной цепочке, одна за другой, в порядке добавления.
Каждый блок содержит информацию не только о самом себе, но и о предыдущем блоке. Так можно добраться от последнего блока до самого первого и восстановить всю цепочку.
Упрощенно блок состоит из двух частей: заголовка и списка транзакций.
Список транзакций — это наши дневниковые записи. В заголовке хранится служебная информация: время создания, хеш этого блока и хеш предыдущего.
Тут надо сделать краткое отступление и понять, что такое хеш.
Хеш (хеш-сумма, хеш-код) — это ничего не значащая последовательность чисел и букв, проще говоря, кракозябра. Например:
Это — хеш, который создала хеш-функция из сообщения «позвони мне! мой номер +79807529891» на визитке
Хеш-функция — программа, которая берет нормальные данные и создает из них уникальную кракозябру.
В случае с блокчейном, функция принимает строчку любой длины (даже огромную) и каждый раз выдает кракозябру длиной в 64 символа.
У хешей есть три приятных особенности:
Хеш-суммы очень полезны в случае, когда у двух людей есть какая-то секретная информация и они хотели бы убедиться, что она у них совпадает, не раскрывая саму информацию.
Например, к Васе подходит коллега Коля и говорит «оо, барменша только что дала мне номер телефона, прикинь».
Вася хочет убедиться, что бармен — ветреная женщина, и Коля тоже получил корректный номер телефона. Но раскрывать номер, который указан на его визитке, он бы не хотел, поэтому он просто попросит Колю показать хеш.
И если хеши совпадут — то Коля не врет, он тоже получил ее личную визитку (а не рекламный буклет доставки еды из бара), и особо надеяться на эксклюзивность не стоит.
В дневнике душнил блоки связаны друг с другом через хеш-суммы.
Заголовок каждого нового блока содержит хеш-сумму предыдущего, стоит изменить хотя бы один символ — и все полетит к чертям.
Давайте посмотрим, что будет, если Вася попытается влететь в блокчейн и изменить хотя бы один символ в записи «целовался с барменом».
Чтобы разобраться, почему Вася физически не может поменять запись, давайте разберемся, как добавляются блоки в цепочку.
Вот блок №233, в котором хранится запись, которую Вася хотел бы поменять.
Когда блок № 233 сформировался и добавился в блокчейн, произошло три вещи:
Стоит Васе изменить хотя бы один символ в своей записи «целовал барменшу», хеш его блока №223 неузнаваемо изменится.
И система верификации отброс ит измененный блок как ложный.
Что это за система верификации? Кто проверяет блоки и кто отвечает за то, чтобы они все соответствовали друг другу?
Тут пора рассказать о том, кто такие майнеры.
Блоки не попадают в систему просто так, кто-то должен
Именно этим и занимаются майнеры — они добавляют новые блоки.
В случае с блокчейном добавление новых блоков искусственно ограничивают. Если этого не делать, то блоки будут добавляться хаотично и надежной последовательной цепочки не получится.
Чтобы добавить новый блок, майнеры наперебой решают сложную математическую загадку. Задачка рассчитана таким образом, чтобы решалась примерно каждые 10 минут. Кто первый решил, тот и добавил блок.
В случае с биткоином, а не душным Васей, после добавления блока чеканятся новые монеты биткоина и майнер получает их в вознаграждение за проделанную работу. Также майнер получает комиссию с людей, чьи транзакции вошли в блок.
Когда майнер пытается добавить новый блок, содержимое этого блока хешируется устройством, на котором майнят и получается хеш-сумма блока — как мы помним, это просто 64-значное число.
В игре «добавь блок» есть еще два важных числа.
К хешу блока добавляется случайный нонс, снова считается хеш.
И новый хеш сравнивается в таргетом.
Если он меньше таргета — то блок будет добавлен в цепочку.
Если нет — то майнер берет другой нонс, снова считает… и так пока не угадает подходящий.
Делать это вручную труд неблагодарный, поэтому за майнеров все считают алгоритмы.
Запускают алгоритмы на серверах, компьютерах и плейстейшенах (но только во влажных мечтах, пока взломать плойку под майнинг никому не удалось). Кстати за вечно-отсутствующие в магазинах PS5 тоже можно поблагодарить майнеров — они скупают все железо и на заводах буквально не хватает ресурсов быстро производить новые приставки.
Чем мощнее компьютер — тем быстрее он угадает нонс. Поэтому биткоин майнят на мега-мощностях, иначе просто нет шанса добавить блок.
Но вернемся к Васе и его душным друзьям. Каждому уважающему себя душниле важно, где хранится информация о блоках. Вдруг я помещу наш дневник на сервера Amazone, а они захотят удалить наши записи? Или, не дай Бог, что-то изменить?
Тут мы подходим ко второй важной вещи в блокчейне — децентрализации.
Обычно информация в интернете хранится на каком-либо сервере. Например, когда вы пишете документ в Google Docs, он хранится на серверах Google. Когда получаете письмо на Яндекс.Почту, оно сохраняется и открывается на серверах Яндекса.
Если бы Вася имел друга-сисадмина в Яндексе с доступом к серверу и полным отсутствием мозгов, он бы просил друга удалить письмо с компрометирующей информацией и никто бы ни о чем не узнал.
Запись изменена, Рита счастлива
Это полностью не устраивает душил — они не готовы доверять свой дневник ни гуглу, ни амазону, вообще никакому хостингу. Ведь они не знают, кто контролирует систему.
Поэтому друзья Васи решили доверить хранение блоков группе майнеров.
Допустим, майнеры хранят информацию на своих телефонах.
На каждом телефоне, который майнит блоки, хранятся данные о всех блоках.
При добавлении нового блока майнер отправляет информацию о нем соседним телефонам, а те — своим соседям и так пока у всех информация не обновится.
Друзья Васи в экстазе (почти)
Блокчейн долго был технологией, интересной лишь гикам. Когда анонимный создатель биткоина Сатоси Накамото в 2008 году придумал сделать на ее основе первую криптовалюту, ситуация резко изменилась.
Блокчейн в основе биткоина делает его первой децентрализованной валютой.
В случае с обычными деньгами центром контроля является государство — оно может выпускать столько денег, сколько захотят, и деньги будут обесцениваться. Это довольно неприятно.
Транзакциями классических валют управляют банки — и мы должны верить, что они не подделывают транзакции, их серверы не взломают хакеры, а бумажный архив с записями о транзакциях случайно не сгорит при пожаре. По сути, мы должны верить банкам на слово — а это довольно опасно.
Блокчейн защищен от взлома методами криптографии — проще говоря, наукой. Им никто не владеет, но в то же время, он полностью открыт и прозрачен. Неудивительно, что друзья Васи, страдающие душнотой, как побочным эффектом своего интеллекта, настолько в восторге от системы.
Блокчейн дарит криптовалюте еще одно свойство — анонимность.
В случае банковского перевода банк точно знает, кто, кому и сколько денег перевел. При желании они могут заблокировать перевод, либо поделиться с государством этой информацией.
В случае биткоина вместо дневниковых записей в блоке просто ведется запись списка транзакций: кошелек с номером А перевел кошельку B столько-то биткоинов. Кто стоит за этими кошельками не знает никто.
Появление криптовалюты — это событие в мире финансов, сопоставимое разве что появлением взаимозаменяемых монет вместо натурального обмена.
Наша команда создает первый удобный и легальный криптовалютный банк: с нормальным интерфейсом, лицензией Центробанка, прозрачной разработкой и командой.
Мы готовимся к запуску и до старта будем публиковать статьи про криптовалюту и финансовую грамотность простыми словами.
Дальше мы расскажем
Подписывайтесь, чтобы не пропустить новые статьи. Еще у нас есть твиттер «Потрачено» и телеграм-канал IT-бомж для людей, которые хотели бы научиться копить, инвестировать и отучиться тратить всю зарплату.
Спасибо огромное! Вот так и надо объяснять всё.
2) Почему для майнинга требуются в основном видеокарты, если рассчеты примерно математические?
1. Там не террабайты. За всю историю BTC его блокчейн весит всего
365гб. К тому же размер блока ограничен 1мб. В более «толстых» блокчейнах применяются некоторые методы оптимизации. Но обычно размер блока ограничен, а главной проблемой является место на диске. В эфире это решается «подрезанием» старых блоков, так-как они нужны не всегда.
2. GPU более эффективны в математических рассчётах, чем CPU.
3. Задача определена алгоритмом, у каждого участника сети есть нода, где в коде прописано повышение сложности и критерии, по которым блок считается смайненым. В случае битка это поиск «красивых» хешей, где вначале хэша должно быть определённое кол-во нулей. Майнер, добавляя новые транзакции в блок и меняя определённое число в блоке, постоянно хэширует этот блок. И когда хэш блока получается «красивым», он сообщает сети, что смайнил блок. Блок включается в цепь, а майнер получает награду.
Поиграться в блокчейном в браузере можно в этой демке: https://andersbrownworth.com/blockchain/ ред.
То есть блокчейн целиком получают только новые майнеры?
В: То есть блокчейн целиком получают только новые майнеры?
О: Да, верно. Ноды получившие блокчейн полностью, лишь догоняют всю сеть, получая обновления по одному блоку.
В: А как работает программа определения очередности записи?
О: Перед тем как транзакция попадёт в блок, она попадает в mempool, который синхронизируется между всеми нодами. Это что-то вроде чана с транзакциями, откуда майнеры берут их, чтобы включить в блок. Очередность записи определяется блоком, в который включена транзакция. Во всех сервисах принимающих криптовалюты средства считаются зачисленными после включения блока с транзакцией в блокчейн, правда, с некоторыми оговорками, требуется ещё n-ое кол-во подтверждений, чтобы избежать двойной траты из-за возможности образования вилки в блокчейне, но это уже тянет на отдельную статью. То есть, если майнера удовлетворяет комиссия транзакции(выставляется отправителем транзакции), он включает транзакцию в блок и пытается смайнить блок со всеми удовлетворяющими по комиссии транзакциями. То есть, если Вася и Коля купили биткоин одновременно, не факт что их транзакции попадут в один блок. Возможно что Васину транзакцию возьмут первой, из-за того что Вася поставил более высокую комиссию, в таком случае Вася сможет распоряжаться своими средствами раньше Коли.