что такое блоки в блокчейне
Что такое блок в блокчейне?
Технология «блокчейн» становится всё более популярной. В основном это связано с ростом цены на биткоин и популяризацией криптовалют среди широких масс. Начиная изучать эту, новую для себя технологию, у большинства новичков возникает множество трудностей с пониманием всех нюансов её работы. В этой статье мы не будем разбирать все нюансы работы блокчейна, а сосредоточимся на том, из чего состоит блокчейн – на блоках.
Вначале, для того чтобы лучше понять, что такое блок в блокчейне, давайте посмотрим на дословный перевод этого слова. Слово «blockchain» состоит из двух разных слов: «block», которое переводится на русский как «блок», и «chain», дословный перевод которого означает «цепочка». Лишь по одному этому переводу можно сделать вывод, что блок – это базовая составляющая блокчейна. А все блоки, созданные ранее и создаваемые прямо сейчас, формируют цепочку блоков.
Именно в этом и заключается главная фишка блокчейна. Все блоки связаны между собой и в каждый следующий блок записывается информация о предыдущем блоке. То есть, например, в блоке №1000 хранится информация о блоке №999, и так до самого первого блока. Это делает любую попытку изменить информацию в каком-либо блоке невозможной, так как для этого нужно изменить информацию во всех последующих блоках.
Если говорить простыми словами, то блок – это то же самое, что и станица в учётной книге. Но только он нематериален и более защищён. В нём можно записать любую информацию, которую нельзя подделать или украсть.
Как создаётся блок и из чего он состоит?
Формируются новые блоки с помощью майнинга. Транзакции, проводимые внутри в сети, записываются в блоки, а затем, множество майнеров проверяют их подлинность и проводят множество вычислений над блоком. Если все данные правильные, то майнер, который быстрее всех завершит эти вычисления, закрывает блок и получает награду.
Рассмотрев, как формируется блок в блокчейне, нужно узнать и то, из чего он состоит. А состоит он из множества составляющих. Мы рассмотрим не все из них, так как структура блоков в блокчейн очень сложная. И не все её составляющие являются важными для того, чтобы понять, что такое блок.
Итак, блок состоит из множества данных, которые записываются в виде набора символов. Начинается каждый блок с «заголовка», в котором записывается информация как о текущем, так и о предыдущем блоке. Помимо этого в блок вносится информация о каждой транзакции, записываемой в блоке.
Транзакции в блоке записываются по такой системе:
Когда всё это выполнено и проверено, что данные достоверны, работа над блоком завершается, майнер получает свою награду и начинает работать над следующим блоком.
Мнение из сети:
Блоки – это прекрасная особенность блокчейна. Спасибо Сатоши Никамото за то, что он додумался обеднять транзакции в блок. Это сэкономило нам майнерам много ресурсов. А представьте, если бы каждая транзакция проходила отдельно. Это было бы ужасом для всех майнеров…
Блокчейн как структура данных
Сегодня мы хотели бы обозначить новую тему для обсуждения, кратко рассмотрев блокчейн с точки зрения computer science — как одну из структур данных. В последнее время блокчейн все активнее применяется за пределами криптовалютного сегмента, и эта тенденция, безусловно, заслуживает внимания. Давайте об этом поговорим!
Технологию блокчейна можно объяснить по-разному. До недавнего времени блокчейн рассматривался преимущественно с точки зрения криптовалют. Биткойн – первая ассоциация с блокчейном, возникающая у многих из нас. Но хранение криптовалютных транзакций – лишь один из многих вариантов использования блокчейна. В этой статье мы отступим от такой точки зрения и рассмотрим блокчейн в более общем контексте computer science.
Блокчейн – это структура данных
Структура данных – это способ хранения и организации данных, а также управления ими. Структура данных позволяет обращаться к этим данным, добавлять их, изменять и искать данные, содержащиеся в этой структуре. В числе наиболее распространенных и базовых структур данных – массивы и связные списки.
Массив
Массив включает некоторое количество перечислимых элементов. Это могут быть числа, буквы, слова или даже целые файлы. Благодаря индексам, можно обращаться к каждому отдельному элементу в массиве. Таким образом, если вы хотите изменить запись в массиве и знаете, где она находится, то можете мгновенно к ней обратиться.
Одномерный массив с шестью элементами
Связные списки
Узлы – это элементы с данными, входящие в связный список. В узле находится как минимум один объект данных и указатель на следующий элемент. Функция указателя – сообщить компьютеру, где находится следующий элемент данного списка.
Если вы просмотрите первый элемент данных в списке и захотите обратиться ко второму, то посмотрите на указатель, который направит вас к следующему узлу. Добавить данные в связный список проще, чем в массив, так как его нужно расширить на один узел, а при добавлении данных в массив количество элементов в этом массиве увеличится. Но при работе со связными списками у вас нет мгновенного доступа к данным.
Если вы ищете в связном списке конкретный элемент данных, то сначала просматриваете первый узел в этом списке, его голову. Если это не тот элемент, который вы искали, то вы проходите по указателю, который приводит вас к следующему узлу. Если и в этом узле нет тех данных, которые вы ищете, то вы продолжаете проходить по ссылкам от узла к узлу, пока не найдете нужные данные.
Связный список с тремя узлами
Блокчейн
В контексте структур данных блокчейн наиболее напоминает связный список. Также в блокчейне данные разделяются по контейнерам, именуемым блоками. Блоки вполне аналогичны узлам связного списка. В каждом блоке содержится ссылка, представляющая собой хэш предыдущего блока. Она служит связкой с предыдущим блоком и помогает поддерживать порядок в цепочке блоков.
Ключевое отличие между блокчейном и связным списком заключается в том, что каждая ссылка в блокчейне криптографически защищена. Возможно, вы слышали применительно к блокчейну термин «append only» — «только для добавления». Он означает, что вносить новые данные в блокчейн можно, лишь достраивая цепочку спереди. Валидность защищенных связей постоянно проверяется. Если бы можно было вставить в середину блокчейна вредоносный блок, например, между блоками 1 и 3 на схеме ниже, то можно было бы поставить ссылку на предшествующий ему блок 1, но не на следующий за ним блок 3.
Каждый новый блок надстраивается над уже имеющимся, и такая процедура обычно именуется подтверждением. Чем старше блок, тем больше подтверждений у него будет. Каждое подтверждение осложняет подделку данных в блоке. На следующей схеме у блока 2 одно подтверждение. Чтобы подделать данные в блоке 2, вам придется воссоздать один валидный блок, в котором будет новая валидная ссылка. После каждого следующего подтверждения придется воссоздавать еще один блок. Таким образом, чем старше блок, тем выше уверенность, что никаких изменений в этот блок внесено не будет.
Ссылки между блоками зависят не только от порядка блоков, но и от того, какие данные содержатся в каждом блоке. Невозможно добавить или удалить данные из блока в блокчейне. Именно на этом свойстве базируется уверенность, что с данными, помещенными в блокчейн, ничего не случится. Естественно, в структуре данных блокчейна любая подделка очевидна. Любое изменение, вносимое в данные, ломает ссылки на все последующие блоки.
Притом, что удалить или изменить данные в блокчейне невозможно, легко добавить данные в новый блок, прикрепляемый к цепочке. Например, к криптовалютному блокчейну можно добавить новую транзакцию. Транзакцию легко проверить, поскольку все предыдущие транзакции, записанные в сети, неизменяемы. Когда с адреса Y требуется потратить сумму X, на балансе этого адреса должна быть сумма не менее X.
Криптовалюты – лишь частный вариант применения технологии блокчейна. Блокчейн стремительно становится все более жизнеспособной возможностью для управления цепочками поставок, транспортным парком и для других целей.
Заключение
Блокчейн – это метод хранения данных, применимый в computer science. Элементы блокчейна – его блоки – криптографически связаны друг с другом. Невозможно изменить данные после того, как они были записаны в блок. В этом и заключается ценность блокчейна. Это неизменяемый реестр, в котором можно безопасно хранить данные, работая в недоверенной среде.
Эту статью хотелось бы завершить твитом, содержащим квинтэссенцию свойств технологии блокчейна и иллюстрирующим его место среди других структур данных.
Блокчейн не гарантирует истину, а предохраняет как истину, так и ложь от внесения изменений.
Таким образом, содержащиеся в блокчейне данные всегда можно спокойно проанализировать и чувствовать себя увереннее, занимаясь раскрытием лжи. Если обычный компьютер можно сравнить с вычислительной грифельной доской, то блокчейн – с вычислительным янтарем — @NickSzabo4
Блок в цепи BlockChain: значение, содержание, генерация
Прежде чем перейти к основной теме, напомним понятным языком, что такое технология BlockChain в целом. Итак, блокчейн – это, если употребить бухгалтерский сленг, «гроссбух», где до скончания времен отражены и зафиксированы все финансовые операции (транзакции) когда-либо совершенные и осуществляемые. Равно, как аналог, электронный журнал учета имеет собственные страницы.
Блок в блокчейне и является именно такой страницей – информационной единицей, в которой заключены данные о транзакциях. В качестве скрепляющей нити, не позволяющей электронному журналу развалиться, выступают хэш-коды заголовков цифровых объектов.
Другими словами, в каждом заголовке информационной единицы отображается хэш-код предыдущего блока транзакций. На первый взгляд нехитрая технология, которая является фундаментом виртуальной архитектуры Bitcoin.
Важно! Удалить, изменить или предпринять другие противоестественные действия с электронными страницами цифрового «гроссбуха» неосуществимо в принципе. Ведь в противном случае произойдет «цепная реакция»: видоизменение всех заголовков последующих цифровых единиц. Такого «произвола» не допустит сама система, которая надежней любой реальной учетной записи, так как его информация хранится сразу во всех функционирующих компьютерах дифференцированной одноранговой системы.
Строение блока: понятия «Head» и «Payload»
В свою очередь сама информационная единица состоит из нескольких частей – «Head» и «Payload». Под термином «Head» подразумевается «верхняя» часть блока, который подвергается исследованию. А именно та часть, где содержится «инфа» служебного характера. В частности, заголовок транзакции объединяет следующие данные:
Из параметров, перечисленных выше, стоит заострить внимание на хэш-коде заголовка, который, по сути, является связующим элементом между всеми непрерывными последовательными цепочками блоков BlockChain, отображаясь в каждой сгенерированной информационной единице. Кроме этих данных, в заголовке нового блока находится хэш созданного цифрового объекта. Его расчет осуществляется на базе алгоритма, именуемого «бинарное (двойное) дерево хэшей» или «Merkle tree».
Важно! На практике алгоритм функционирует в следующем порядке: осуществляется подсчет хэшей всех финансовых операций в отдельно взятом блоке. Затем определяется число (хэш) от суммы хэшей пар транзакций. Процедура дублируется до тех пор, пока не находится единственно верный результат, который станет хэш-кодом финансовой операции в блоке. Каждый шаг подразумевает подсчет парных элементов – ведь дерево бинарное. Нечетный результат исправляется дублированием хэша для образования полновесной пары. Таким образом, заголовки позволяют установить целостность носителя «инфы» – блока.
Разобравшись с «верхней» частью блока, переходим непосредственно к его «телу». Часть информационной единицы, куда вписываются транзакции, называется термином «Payload». Непосредственно сама транзакция в блоке имеет следующую запись: адрес отправителя, сумма перевода, координаты получателя. Однако в реальности все несколько сложнее. Дело в том, что алгоритм «битка» включает в себя термины «Inputs» (входы) и «Outputs» (выходы). Входы – это операции пополняющие счет. Соответственно, выходы – перевод средств на другие счета. Как следствие, транзакция в расширенном виде выглядит следующим образом:
Такая структура отображает реальный круговорот виртуальной денежной массы между участниками виртуальной платежной конструкции и позволяет оперативно вычислить баланс любого адресата, учитывая задействованные входы и выходы.
Генерация блока
Пройдя все необходимые проверки и подтверждения, любая транзакция готова к отправке с предварительной записью в электронном «гроссбухе». Однако чтобы платежка отправилась к обозначенному адресату, нужно создать контейнер – сгенерировать блок. Тут вступают в игру майнеры. Будучи децентрализованной одноранговой экосистемой, обработка платежек единовременно осуществляется на различных серверах (компьютерах), разбросанных по всем уголкам планеты. Их именуют термином «node» – узел. Вполне логично, что при таком подходе к делу, может возникнуть проблема двойной траты одних и тех же средств, а также наступить настоящий хаос. Решением проблемы стал интегрированный в цифровую архитектуру протокол Proof of Work (PoW) – доказательство работы.
Этот протокол определяет и дает право неоспоримой подписи транзакции тому узлу, который первый справился с решением сложнейшего математического уравнения – то есть, «запечатал» блок. Другие участники майнинга имеют возможность оперативно проверить истинность решения, а также «расписаться» под тем, что все платежки в конкретно взятом информационном объекте валидны.
Собственно, «сложнейшим математическим уравнением» является не что иное, как задача по подбору параметра – nonce. Этот параметр, присовокупленный к заголовку сгенерированной информационной единицы, выдает тот самый пресловутый хэш-код с необходимым количеством нулевых битов (bits).
Проще говоря, необходимо прописать в сгенерированном цифровом объекте такую информационную строчку (nonce), чтобы в итоге получился хэш-код, впереди которого стоят нули. Задача, конечно же, решаема, но только путем перебора nonce, что осуществимо лишь с привлечением серьезного оборудования (отсюда «навороченные» видеокарты и асик-чипы). В тоже время, проверка конечного результата – достаточно элементарная операция. Используя алгоритм хэширования (SHA-256), нужно вычислить хэш-код сгенерированной информационной единицы, в заголовке которого уже добавлен обнаруженный nonce. Именно так достигается полное взаимопонимание между множеством нод в экосистеме «битка». Как следствие, сгенерированный блок «запечатывается» в цепочке таких же цифровых объектов.
Факт! Мероприятие по подбору nonce, вычисления хэш, проверки итогового результата, а затем повторения всего круга действий до тех пор, пока не обнаружится искомое значение с несколькими нулями впереди, называется загадочным для многих словом майнинг.
В заключении…
Добавим, сложность математического уравнения растет пропорционально относительно увеличению количества задействованного для майнинга специального оборудования. Увеличение производственных мощностей влияет на рост количества нулевых битов в искомом значении так, чтобы на обнаружение nonce не тратилось более 10 минут. Такая политика изменения сложности изначально имплементирована в протокол «битка».
Обновление осуществляется автоматически каждые 2016 «запечатанных» блоков – приблизительно, один раз в две недели. Именно по этой причине майнеры всех стран объединяются в сообщества – пулы, чтобы увеличить свои шансы на успех и заработать положенное вознаграждение за сгенерированный блок.
Как работает блок в блокчейне Биткойн?
В этом руководстве мы расскажем о принципах работы ключевых компонентов отдельных блоков блокчейна, составляющего сеть Биткойн.
Резюме
Транзакции сети блокчейн состоят из последовательных групп данных, которые упакованы вместе в «блоки», связанные линейно. Каждый блок также содержит набор данных транзакции, которые обрабатываются после завершения блока.
Отдельные блоки, составляющие большую цепочку блоков (блокчейн), содержат важную информацию для функционирования сети. Каждый новый блок содержит криптографически проверяемые данные о транзакциях, а также числовой запрос, который необходимо выполнить, чтобы текущий блок был одобрен и добавлен в блокчейн.
Здесь мы исследуем структуру блока в блокчейне Биткойн и соответствующие роли его отдельных компонентов.
Введение в биткойн-блоки
Сеть Биткойн поддерживает распределенный публичный реестр, в котором регистрируются права собственности и транзакции всех Биткойнов (BTC), собственного цифрового актива сети Биткойн.
Каждый блок также должен содержать определенную конкретную информацию, чтобы быть распознанным сетью и впоследствии должным образом проверяться и добавляться в блокчейн.
Общая структура блока Биткойн всегда включает в себя следующие элементы:
Заголовок блока и данные транзакции представляют две основные категории данных в любом данном блоке, к тому же, они разбиты на отдельные компоненты, которые мы обсудим более подробно для лучшего понимания процесса генерирования блока.
Заголовки блоков BTC и майнинг
Сеть Биткойн в основном полагается на децентрализованную сеть узлов, которые поддерживают распределенный публичный реестр всех транзакций Биткойнов. Сетевые узлы также могут участвовать в процессе, называемом майнингом, который защищает сеть и гарантирует подлинность новых блоков и транзакций, которые они содержат.
Майнеры несут ответственность за запись новых блоков в блокчейн, поэтому их роль в проверке целостности информации, содержащейся в предлагаемом блоке, имеет первостепенное значение.
Время создания блока Биткойнов составляет десять минут (в среднем), поэтому каждый час в блокчейн Биткойн записывается около шести новых блоков.
Заголовок блока содержит 80 байтов криптографически проверяемой информации:
Биткойн-майнеры соревнуются за решение ресурсоемкой задачи Proof-of-Work (PoW). Головоломка требует взятия всех сетевых транзакций, а также информации из предыдущего блока (то есть его заголовка блока), и их «хеширования» с использованием алгоритма SHA-256.
Первому майнеру, который решит эту головоломку, разрешается создать новый блок, а взамен он получает вознаграждение в виде недавно выпущенных в обращение BTC.
Майнер должен взять эти данные и угадать число, называемое «nonce», которое при вводе в хэш SHA-256 будет генерировать один вывод, который соответствует другому выводу, установленному протоколом Биткойн.
Майнинг сводится к тому, чтобы как можно быстрее угадать «nonce». Если майнер достигает указанного порогового значения вывода, он будет транслировать новый блок (который включает их одноразовый номер) другим майнерам в сети, чтобы они могли сами хешировать его и проверить предложенное решение.
Высота блока Биткойн измеряет, сколько блоков предшествовало ему в протоколе Биткойн. Например, следующее сокращение вдвое блока Биткойн (вознаграждений за майнинг) произойдет на высоте блока 840 000 в 2024 году.
Другими словами, эта веха произойдет, когда количество блоков Биткойн, записанных в протокол с момента возникновения блока в 2009 году, будет равно 840 000.
Данные транзакции в блоке Биткойнов
Первая транзакция, содержащаяся в каждом новом блоке, известна как транзакция генерации или транзакция Coinbase (не путать с Coinbase – площадкой торговли криптовалютой) и отвечает за генерацию новых BTC как часть вознаграждения за блок для успешного майнера.
Эта первоначальная транзакция четко указывает, какие биткойн-адреса имеют право на получение вознаграждения за блок.
В то время как традиционные транзакции Биткойнов содержат как входы, так и выходы, транзакция генерации создает новые Биткойны из самого протокола.
Остальная часть данных транзакции блока включает в себя адреса отправителей и получателей, количества BTC в каждой сделке, подписи приватного ключа, разрешающие отправку BTC, а также временные метки, которые криптографически подтверждают точное время совершения каждой транзакции.
Как упоминалось ранее, размер блока Биткойнов исторически ограничивался 1 МБ данных. Однако сеть Биткойн также поддерживает функцию под названием «Segregated Witness» (SegWit).
Для каждой отдельной транзакции включены следующие данные:
Отправители транслируют данные своих транзакций в сеть, а майнеры, соревнующиеся за создание новых блоков Биткойнов, заинтересованы в добавлении отдельных транзакций в свои блоки из-за включенных комиссий за транзакции.
Будущее производства биткойн-блоков
Реализация технологии блокчейн в Биткойне основана на относительно простой, но элегантной системе чеканки новых блоков и поддержания сетевой безопасности.
Хотя это конкретное исследование анатомии блока специфично для блокчейна Биткойн, многие другие сети PoW используют очень похожую структуру данных блока блокчейна.
Эти сети могут иметь некоторые различия, такие как имеют разные размеры блоков или время блокировки, но их общие системы майнеров, блоков и архитектура блокчейна в целом одинаковы.
Технология Blockchain простыми словами
Содержание
Содержание
Технологии распределенных вычислений и децентрализованного хранения информации были представлены еще в 90-х годах. Однако, слово «блокчейн» стало известно лишь недавно — когда некий Сатоши Накамото показал, как эти технологии можно использовать для устройства новой финансовой системы. Так, в 2008 году появился биткоин, а вместе с этим началась история развития блокчейна.
В 2021 году популярность этих технологий оказалась настолько высока, что стоимость того самого биткоина уже превышает 40 000 долларов за штуку. И, если этим феноменом заинтересовался такой крупный игрок, как Tesla, то почему бы не приобщиться к технологии простым пользователям. Разбираемся пальцах, что такое блокчейн, децентрализованная сеть и криптовалюта.
Народная энциклопедия знает очень много, но это не всегда понятно и доступно простому человеку. Как и в случае с определением технологии блокчейн. Поэтому попробуем разобрать тему на части и узнать, что к чему относится в этих непонятных дебрях криптографии.
Простым языком
Давным-давно, когда еще не вышел десятый айфон, жили Роман и Антон. У Романа было несколько способов передать денежные средства Антону:
Обычно, третья сторона — это целая совокупность инстанций и сервисов. Поэтому мы имеем цепочку посредников, схема работы которых находится под грифом секретности. С одной стороны, это полезно в целях безопасности — даже если мы зайдем в банк и попросим рассказать технические детали нашего перевода — никто этого делать не станет. С другой стороны, безопасность легко превращается в незащищенность — не зная технических подробностей, остается лишь слепо доверять банковской системе и надеяться, что «третьи лица» окажутся добросовестными ребятами.
Дело в том, что, превращаясь из бумажных в электронные, деньги не меняют своей формы — актуальные системы просто формируют цифровой код с зашифрованной в нем информацией о типе валюты, ее стоимости и количестве, чтобы передать ее от одного хранилища другому. Физически бумажное подтверждение ценности остается на руках пользователя или в сейфе банкомата.
Другими словами, Роман может найти терминал, предложить ему наличные денежные средства и получить их у себя на карте или отправить Антону. Мы привыкли так работать и считаем это безопасным способом перемещать деньги. Но с появлением блокчейна теория безопасности принимает новый оборот.
Посредники
Как работает стандартная банковская система переводов: на специальных компьютерах хранится вся информация о клиентах, операциях, имена, фамилии, отчества, адреса проживания, номера лицевых счетов. Нет, это не база данных КГБ — просто мы сами даем разрешение на обработку этой информации, когда регистрируемся на сайте. И это одна из брешей безопасности, которую блокчейн легко устраняет.
Когда Роман переводит деньги Антону через банкомат или онлайн-банк, он, так или иначе, делает запрос в эту базу данных, в реестр, где программное обеспечение проверяет некоторые условия:
И еще много подобных проверок, производимых программным обеспечением банков.
После того, как системе безопасности все понравилось, у Романа списывают необходимую сумму и зачисляют на счет Антона. Это привычная система и она централизована: здесь есть свой регулятор, органы управления, но, самое главное, — в системе есть обслуживающий персонал, без которого ничего не будет работать.
Программисты, аудиторы, операционисты, бухгалтеры, руководители, и еще два десятка должностных лиц, с помощью которых вся эта система функционирует, косвенно или прямо работают с переводом денег от Романа к Антону. Это следующая брешь в безопасности, которую блокчейн тоже закрывает.
Что такое блокчейн и как это работает
Еще совсем недавно все расчеты производились наличными деньгами. С развитием всемирной паутины изменился и способ передачи ценностей. Сегодня, в эпоху распределенных вычислений и автономных систем, в сети стало удобнее и безопаснее работать с помощью новых технологий. Например, блокчейн, где информация двигается между различными людьми без участия обслуживающего персонала, а также минуя централизацию, где существует вероятность, что вредная ошибка в коде ПО поможет хакеру забрать деньги или ценную информацию.
Начнем с того, что блокчейн (Block — блок, chain — цепь) — это децентрализованная база данных, которая предназначена для хранения последовательных блоков с набором характеристик (версия, дата создания, информация о предыдущих действиях в сети). Аналоговым примером его структуры представляется бесконечно длинная металлическая цепь, в которой нельзя разорвать или поменять местами звенья.
А еще цепочку блокчейна можно представить как книгу с возможностью добавлять страницы. Каждая новая страница пишется в режиме «онлайн», а остальные нельзя отредактировать или удалить.
Основное движение в такой системе происходит с помощью транзакций. Во время транзакции может выполняться какой-то скрипт, либо прописываться некая заметка с данными. То есть слово «транзакция» не равно денежному переводу и скорее обозначает способ обработки информации внутри сети.
Помимо основных данных, каждый блок имеет уникальный набор параметров: nonce, хеш предыдущего блока, хеш текущего блока и список транзакций.
Чтобы лучше понять, как устроены переводы внутри сети, снова представим страницу книги, где есть такая информация:
В пределах одного блока может храниться несколько тысяч таких записей. Когда память в блоке заканчивается — он закрывается, подписывается и переходит на новый блок в виде хеша или «отпечатка».
Хеш — это некий набор символов, несущий в себе уникальный отпечаток. Он формируется исходя из того, какие транзакции и в каком количестве хранит в себе каждый блок.
В процессе обработки транзакций постоянно проверяются хеши, после чего, словно по пирамиде, система поднимается к последнему хешу, где подтверждается целостность и верность всех предыдущих кодов, чтобы блок закрылся.
Если вдруг кому-то захочется добавить себе в кошелек пару сотен долларов без подтверждения со стороны остальных участников сети, то такая транзакция будет считаться неверной и перезапишется теми хешами, что хранятся у большинства узлов. То есть, если изменить хоть один байт, хоть одну точку, запятую или ноль, то итоговый хеш изменится, и блокчейну придется проверять все эти суммы заново для того, чтобы понять, правда это или ложь.
Из всего этого можно сделать вывод: сеть состоит из блоков, которые можно менять здесь и сейчас, пока они не закрылись. Все записывается в виде транзакций с информацией, которая шифруется как хеши и постоянно хранится в сети в каждом последующем блоке. Если изменить что-то и не найти этому подтверждение у большинства участников, то такие изменения просто не применятся, а блок будет считаться невалидным.
Простыми словами — в системе больше не получится подделать документы задним числом, как бы этого не хотели даже сотни человек, если общая сеть контролируется миллионами участников.
Отсюда и название Blockchain — все работает по цепочке, последовательно и непрерывно.
Кто такие майнеры и зачем они нужны
Мы уже говорили, что основной фактор безопасности заключается в добросовестности третьих лиц, тех, кто занимается обработкой информации. Как и у банковской системы — у блокчейна есть свой обслуживающий персонал. Но это не люди, а программный код, установленный на системах с нодой (сетью) блокчейна, то есть, на компьютерах, которые поддерживают сеть блокчейн. Другими словами — с помощью майнеров.
Для того чтобы провести операцию в блокчейне, необходимо ее создать и поместить в mempool — некую область, где хранятся все транзакции, которые в данный момент хотят совершить люди в блокчейне.
Что делают майнеры: они подключаются к mempool и начинают обрабатывать всю очередь. В глобальном смысле это работает так: система узнает о всех транзакциях в мемпуле, обрабатывает их, записывает в блок, высчитывает хеши и переходит к обработке новых заявок. Чтобы подтвердить валидность (правильность) блока, майнеру необходимо предоставить решение в сеть, которое проверяют другие майнеры и, если все хорошо, и большинство участников принимают результат вычисления хешей, блок считается правильным. Или nonce.
Разберемся на жизненном примере:
За круглым столом сидят десять человек. У них есть пять слов, из которых нужно составить предложение, которое может быть единственно верным из всех вариантов, которые можно придумать. Так, один из участников составил предложение первым и записал его на бумагу. После того, как все закончили задание, полученные предложения сравниваются. Так получилось, что первому участнику удалось составить верное предложение, и остальные семеро подтвердили, что у них получилось то же самое. И только один участник представил другое решение — но, так как он является меньшинством, а его предложение отличается от остальных, этот вариант из пяти слов считают недействительным и выкидывают из системы.
Выходит, для подтверждения настоящей информации в сети нужно договориться, чье решение подходит всем участникам в сети. Этим и занимаются криптовалютные майнеры.
Именно поэтому, в момент появления блокчейна, началась гонка за производительностью распределенных вычислений. Ведь чем больше у майнера вычислительной мощности, тем быстрее и больше информации он обработает в сети. Соответственно, как и банковский персонал, майнеры получают вознаграждение за свою работу. Это и есть основная причина, по которой все стремятся принять участие в добыче криптовалюты.
Децентрализация и распределенность
Мы уже выяснили, что для поддержки сети требуется постоянная и непрерывная работа нескольких мощных компьютеров. На сегодняшний день блокчейн обладает самой большой вовлеченностью вычислительных систем на планете. Даже такие гиганты как Google, Amazon и Apple не могут соревноваться с этой сетью по мощности.
Чем больше людей используют блокчейн, тем мощнее и безопаснее он становится.
Участником сети может стать каждый: достаточно установить официальный кошелек и загрузить полную ноду к себе на диск. С этого момента компьютер станет полноправным узлом в сети.
Например, у одного человека на компьютере стоит копия блокчейна. Есть еще один компьютер, на котором есть еще одна копия блокчейна, и таких десятки тысяч по всему миру. Если какой-либо злоумышленник захочет взломать систему и «нарисовать» себе миллион, мало того, что ему придется пересчитывать все эти блоки самостоятельно, ему еще придется сделать это в каждом компьютере, на каждом узле. А это, конечно же, невозможно — система полностью децентрализована и не имеет управляющих узлов. И с каждым днем таких узлов становится все больше, а шансов на взлом все меньше.
В централизованной системе вся информация хранится на сервере, и, если с ним что-то произойдет — можно попрощаться с ценными данными. В случае с централизованной системой злоумышленникам также проще найти уязвимость, чтобы атаковать главные компьютеры. Это может быть простая брешь в программной безопасности или безответственная работа сотрудника безопасности банка.
Такой большой вопрос безопасности можно решить только с помощью такой же большой сети. А под эти критерии как раз подходит система блокчейн, где каждый блок с информацией копируется одновременно на тысячи устройств без главенствующих в структуре систем.
Транзакции в блокчейн
В отличие от банков и электронных счетов, где для работы требуется слишком много конфиденциальной информации, блокчейн не требует от пользователей ничего: для работы понадобятся лишь два ключа, которые система выдаст при регистрации.
У каждого человека, желающего принять участие в блокчейне, есть свой публичный ключ, которым он подписывает транзакцию (как бы замыкает на ключ и пишет «отправить Васе»), а также приватный ключ, которым он может открыть посылку, которую ему прислал Вася обратно.
Публичный ключ — это некая фраза из цифр и символов, доступная к просмотру всем желающим. Если провести аналогию с биткоином, то публичный ключ — это номер кошелька, который можно отправить кому угодно для перевода средств.
Приватный ключ — это самое ценное. С помощью него подписываются все транзакции в пределах личного кошелька, а поэтому его нужно хранить в конфиденциальном месте. Например, как пароли от онлайн-банков.
Например, у Романа и Антона есть кошельки и приватные ключи.
Все, что зашифровано приватным ключом пользователя, любой человек может расшифровать при помощи своего публичного ключа. Но не открыть! Так можно узнать информацию по каждому переводу, по каждой транзакции счета — система полностью прозрачна. И в то же время анонимна — ведь никакой личной информации о человеке ключи, кошельки и блоки не хранят.
Биткоин — это не деньги
Мы привыкли считать, что биткоин это какая-то разновидность валюты, денег. На самом деле, понятия баланса в блокчейне нет. Все потому, что блокчейн — это просто записная книга. Обратимся к примеру на картинке:
Понятно, что блокчейн собирает всю информацию о движениях Романа, Антона и Марины, а затем передает это в виде транзакций в мемпул блокчейна. А там все как по инструкции — майнеры подхватывают информацию, считают хеши и подписывают блоки, чтобы поддержать сеть и получить вознаграждение в виде комиссии, которую ребята заплатили во время своих переводов.
Блокчейн и его применение
Биткоин — это не золото и не деньги, а обобщенный и удачный пример работы децентрализованных сетей, где каждый может стать участником и следить за честным исполнением всех событий.
Стоимость таких технологий нельзя считать оправданной или наоборот, недостаточной — здесь все, как на настоящем фондовом рынке. Если продукт хороший и правда что-то из себя представляет, то и цифровой актив прибавит в капитализации и стоимости. Если наоборот — проект считается провалом.
Конечно, все, что связано с блокчейн и монетами, пока еще является сильно волатильными инструментами, которые порой неподвластны даже очень крутым игрокам на рынке. И все потому, что основной объем инвестиций в этой сфере делают обычные люди, а не профессиональные игроки с Уолл-стрит.
И все же, несмотря на сложность и непонятность некоторых вопросов в этой индустрии, многие уже понимают ценность, удобство и безопасность децентрализованных технологий. Каждый день появляются новости о том, как государства внедряют инновации в привычные для людей сферы. Например, учатся отслеживать подлинность паспортов здоровья с помощью блокчейна, а также разрешают проводить регистрацию ценных бумаг с помощью децентрализованных сетей.
С биткоином или любым другим проектом, децентрализованные технологии станут неотъемлемой частью жизни современных структур. Ведь люди хотят обезопасить себя от мошенников, коррупционеров, хотят научиться контролировать свою жизнь больше, чем когда-либо. А блокчейн — это первый и самый большой шаг к новой системе.
Материал обновлен пользователем Urik26