Что такое Блокчейн? Простыми словами о технологии
Технологии децентрализованного хранения информации и распределенных вычислений были известны в конце прошлого века. Однако, слово «блокчейн» стало известно широким массам людей лишь после того, как в 2008 году появился Биткоин(Bitcoin), а вместе с ним началась эпоха развития блокчейна и приложений на его основе. Биткоин я разбирал в отдельной статье «Что такое Биткоин? Разбор криптовалюты», здесь речь пойдет больше о самой технологии и ее развитии.
Если пытаться понять суть Блокчейна, то начать стоит с его названия, «Blockchain» от английского «block» – блок и «chain» – цепь, дословно «цепочка блоков», т.е. простым языком блокчейн это информация хранящаяся в цепочке состоящей из блоков.
Блокчейн
Выстроенная по определённым правилам непрерывная последовательная цепочка блоков, содержащих информацию. Связь между блоками обеспечивается не только нумерацией, но и тем, что каждый блок содержит свою собственную хеш-сумму и хеш-сумму предыдущего блока. Изменение любой информации в блоке изменит его хеш-сумму. Чтобы соответствовать правилам построения цепочки, изменения хеш-суммы нужно будет записать в следующий блок, что вызовет изменения уже его собственной хеш-суммы.
Википедия
Определение из Википедии достаточно точно, но неподготовленный теоретически человек, от такого набора слов, получит больше вопросов, чем ответов. Буду разбирать простым языком.
Посредники в функции передачи денег
До появления Биткойна и других криптовалют, у людей было всего два способа передачи денег:
- передать деньги в руки, при личной встрече
- передать через посредников – использовать третью сторону (банки, платежные системы, почта и т.д)
Обычно третья сторона это целая совокупность сервисов и платформ, работающих по своим правилам. Например при оплате покупки в магазине картой, терминал продавца обращается в его банк, банк перенаправляет запрос в платежную систему, платежная система переадресует запрос к банку выдавшему карту покупателя, а после этого вся цепочка повторяется в обратную сторону. Понятно, что эта схема максимально упрощена, но и из нее мы видим, как много участников (посредников) в достаточно простой операции.
Посредники
Помимо самого перевода, посредники-банки могут выполнять дополнительные функции, например по требованию государства списывать задолженности и блокировать счета. Обычный платеж проверяется по многим параметрам:
- достаточно ли средств на счету пользователя;
- откуда эти средства появились;
- нет ли задолженностей;
- не наложен ли запрет на передвижение средств;
- какая сумма платежа, не превышен лимит покупок.
Это далеко не полный список всех проверок которые проходит обычный платеж, более подробную информацию о системе защиты банки и платежные системы хранят в секрете.
Но чем это плохо? спросите вы, а тем, что за поддержание работы всей системы, а именно: серверов, программистов, руководителей, юристов, экономистов и работы другого персонала надо платить, а платит всегда пользователь.
Что такое Блокчейн и как это работает
Еще недавно, передача стоимости происходила при помощи наличных, сегодня основные действующие лица в этом процессе это банки, возможно, завтра это сервисы построенные на технологии блокчейн.
Начнем с того, что блокчейн — это децентрализованная база данных, которая предназначена для хранения последовательных блоков с набором характеристик (версия, дата создания, информация о предыдущих действиях в сети). Аналоговым примером его структуры представляется бесконечно длинная металлическая цепь, в которой нельзя разорвать или поменять местами звенья.
Основными принципами технологии являются:
- децентрализация;
- распределенность;
- прозрачность;
- безопасность;
- неизменность.
Всю цепочку блокчейна можно представить как книгу с возможностью добавлять страницы, но каждая новая страница пишется после уже существующей , а остальные нельзя отредактировать, удалить или менять местами.
Новые «страницы» в такую книгу добавляются при помощи транзакций, но транзакций не как денежный перевод, а как выполнение скрипта программыПомимо основных данных, каждый блок имеет уникальный набор параметров: nonce, хеш предыдущего блока, хеш текущего блока и список транзакций.
В пределах одного блока может храниться несколько тысяч таких записей. Когда память в блоке заканчивается — он закрывается, подписывается и переходит на новый блок в виде хеша или «отпечатка».
Хеш — это некий набор символов, несущий в себе уникальный отпечаток. Он формируется исходя из того, какие транзакции и в каком количестве хранит в себе каждый блок.
При обработке транзакций в блокчейне постоянно проверяются хеши, после чего, система поднимается к последнему хешу, где подтверждается целостность и верность всех предыдущих кодов, чтобы блок закрылся.
Это постоянная проверка исключает возможность того, чтобы кто-то добавил себе «лишние» монеты и отправил недостоверную информацию в сеть – такой блок не пройдет проверку и не будет добавлен в сеть. От сюда и название — цепочка которая работает непрерывно и добавляет звенья.
Что делают майнеры и зачем они нужны
Если сеть блокчейна выступает как третья сторона в передачи стоимости, то и как у банковской системы, в сети есть обслуживающий персонал, в блокчейне этим персоналом является «Ноды» — программный код установленный на специальном оборудовании, а люди владеющие и обслуживающие такие системы это майнеры.
Для проведения транзакции в блокчейне, необходимо ее создать и поместить в mempool — специальный накопитель в котором собираются транзакции ожидающие добавления в блок и цепь.
Что делают майнеры
Майнеры подключаются к mempool и начинают обрабатывать все транзакции находящиеся в очереди. Если посмотреть на процесс глобально, он выглядит так: система узнает о всех транзакциях в мемпуле, обрабатывает их, записывает в блок, высчитывает хеши. Чтобы подтвердить правильность блока, майнеру необходимо предоставить решение в сеть, которое проверяют другие майнеры и, если все хорошо, и большинство участников принимают результат вычисления хешей, блок считается правильным и уже потом добавляется в блокчейн.
Получается для добавления нового блока, всем участникам сети нужно договориться, и если большинство майнеров поддерживает решение и соглашаются с ним блок появляется в сети. То есть блокчейну необходим консенсус или решение поддерживаемое большинством. Именно этим и занимаются майнеры получая за свою работу награду от сети.
Существуют два основных типа майнинга: доказательство работы (proof-of-work) и доказательство владения (prood-of-stake), но большинство блокчейн проектов сейчас работает по принципу доказательства работы, именно для этого майнерам необходимо высокоэффективное и производительное оборудование.
Как происходят транзакции в блокчейне
Для того чтобы провести банковский перевод пользователю необходимо открыть счет используя свои персональные данные, внести на него средства и только после этого можно проводить транзакции, которые ко всему должны соответствовать требованиям финансовых организаций о которых я писал выше.
Для совершения транзакции в блокчейне пользователю необходимо всего два ключа: Публичный ключ и Приватный ключ.
«Публичный ключ» — это набор из цифр и символов, доступная к просмотру всем желающим в сети биткоин — это номер кошелька, его адрес используемый для перевода средств.
«Приватный ключ» — это самое ценное. С его помощью подписываются все транзакции в кошельке, поэтому его нужно бережно хранить в надежном месте.
Помните: кто владеет приватным ключом – владеет всеми средствами на кошельке.
Всю информация, зашифрованную приватным ключом пользователя, любой человек может расшифровать при помощи своего публичного ключа, но он не может открыть кошелек или перевести средства. Таким образом можно узнать информацию по каждой транзакции любого счета, такая система полностью прозрачна, но при этом она анонимна т.к. блокчейн не хранит никакой личной информации и выявить владельцев приватных ключей затруднительно.
Зачем нужен Блокчейн
Технология блокчейна сегодня у многих ассоциируется с Биткоином, но это не совсем верная ассоциация, так как блокчейн это просто способ распределенного хранения данных, у которого может быть множество применений, например:
- выборы и голосования;
- продажи;
- страхование;
- документооборот;
- логистика;
- кредитование;
- недвижимость.
Еще много всего, что требует надежной защиты и может быть сохранено в виде данных. Биткоин это лишь один из множества проектов который получил огромную известность благодаря сумасшедшему росту стоимости, весь этот «хайп» скрывает под собой великолепную технологию способную сделать мир лучше.
Полезный пост? Отблагодарить автора можно здесь.
Если вам понравилась эта инструкция – подписывайтесь. В своих постах разбираю интересные проекты, такие как Polkadot и Cosmos, рассматриваю кошельки для криптовалют, например Метамаск, ну и просто пишу как лучше купить биткоин и другую криптовалюту.
Что такое смарт контракты на блокчейне
Смарт-контракты — это своего рода алгоритм определенных действий, интегрированный в код блокчейна. При соблюдении установленных договоренностей, которые в нем прописаны, выполняется автоматический запуск последовательности.
Для примера возьмем самую простую операцию — процесс купли продажи криптовалюты между пользователями. Это транзакция происходит по требованиям анонимности и не регулируется посредническими организациями, выполняющими контроль ее проведения. Такая модель стала возможной, благодаря смарт-контрактам, в которые прописан подробный алгоритм проведения операции между двумя пользователям. Это позволяет исключить возможность мошенничества с обеих сторон и провести транзакцию в конкретном алгоритме последовательных действий.
Предназначение смарт-контрактов
Смарт- контракты — это необходимый элемент для обеспечения функционирования децентрализованных проектов (DeFi, DApps и т.д.), так как это системы без поддержки контролирующих органов. В данном случае, смарт-контракты применяются для обеспечения гарантии соблюдения обусловленных договоренностей в правильной алгоритмической последовательности.
Сам алгоритм прописан внутри блокчейна, потому правила осуществления сделок и прочих манипуляций не поддаются изменению и являются обязательными для всех участников.
Как появились смарт-контракты
Самое первое упоминание о цифровых договорах появилось еще в 1996 году. Ник Сабо, американский ученый в сфере криптографии, предложил использовать подобие смарт-контрактов. Результатом его идеи стал прописанный алгоритм цифровой валюты Bit Gold, которая считается предшественником всеми известной монеты BTC.
В то время идея была слишком футуристична и не сыскала достойного применения. Так продолжалось до 2008 года, в котором миру был представлен Bitcoin со своим блокчейном.
Полностью концепт Ника Сабо был реализован в 2013 году на блокчейне Ethereum, в основу которого легла современная технология смарт-контрактов. Он позволял разрабатывать и запускать приложения без новых распределительных реестров. Благодаря этому, ETH получил титул первого блокчейна с полноценной интеграцией технологии смарт-контрактов.
Как работают смарт-контракты
Смарт-являются частью программного кода блокчейна и работают непосредственно внутри сети. Они выполняют функцию привычных нам бумажных договоров, только в цифровом поле. Условия прописываются не ручкой на бумаге, а с применением математических алгоритмов и языков программирования.
Как и в бумажном договоре, условия подлежат обязательному выполнению. Только в таком случае сделка будет реализована и пользователи получат обусловленный результат. После завершения алгоритма и корректного проведения операции, смарт-контракты становятся частью реестра, попадая в саму цепочку блоков блокчейна.
Основной принцип смарт-контракта — полное исполнение обусловленного алгоритма последовательных действий.
Виды смарт-контрактов
Существует несколько основных видов смарт-контрактов, которые классифицируются по разным критериям:
- Среда выполнения. По среде выполнения смарт-контракты бывают централизованными и распределенными
- Степень анонимности. По степени анонимности смарт-контракты бывают конфиденциальными, частично открытыми и полностью открытыми.
- Механизм инициирования. По механизму инициирования смарт-контракты бывают ограниченными и предустановленными
Также, важную роль играет степень автоматизации смарт-контракта. Она показывает, может ли цифровой договор функционировать самостоятельно или потребуется дополнительный бумажный носитель информации.
- Полностью автоматизированные — бумажный носитель не требуется.
- Частично автоматизированные — необходима копия смарт-контракта на бумажном носителе
- Автоматизированные преимущественно в хранилище.
Смарт-контракты на блокчейнах Ethereum и Bitcoin
На этапе разработки и после официальной реализации монеты Bitcoin, блокчейн не предполагал интеграцию технологии смарт-контрактов. Его использовали для обработки данных о проведенных транзакция.
Однако, в блокчейне BTC частично можно реализовать технологию смарт-контрактов в некоторых сферах деятельности. Такие цифровые договора будут прописаны на основе упрощенных логических функциях.
- Эскроу. Во время обработки транзакций монеты сначала депонируются у посредника, который выступает в качестве гаранта и осуществлять контроль за корректным выполнением операции.
- Сейф. Доступ к счету блокируется до достижения определенного временного промежутка.
- Мультиподпись. Подтверждение корректного выполнения операции производится с привлечением нескольких заранее установленных участников.
- Завещание. Если возникает проблема отсутствия функционирования кошелька по истечению установленного временного промежутка, то средства, участвующие в проведении операции, переводятся на другой адрес, так называемым “наследникам”. Счетчик установленного времени обнуляется при использовании хранилища владельцам счета.
Это нельзя назвать полноценными смарт-контрактами. В блокчейне Ethereum потребовалось применение более сложных технологий смарт-контрактов, которые легли в основу платформы.
У блокчейнов Ethereum и Bitcoin есть еще несколько основополагающих различий. Во-первых, язык программирования Solidity. Во-вторых, разные статус определения транзакции. Блокчейн ETH идентифицирует операцию как полноценную часть экосистемы сети, в то время как блокчейн BTC определяет транзакцию как обособленный элемент.
В-третьих, Ethereum позволяет разрабатывать смарт-контракты, которые в дальнейшем будут осуществлять процесс генерирования новых токенов по стандарту ERC-20.
Во многом, нововведения блокчейна Ethereum позволили заметно упростить взаимодействие между различными платформами, сервисами и крипто-кошельками.
Где применяются смарт-контракты
Смарт-контракты получили активное распространение по всему миру и с каждым днем набирают обороты. Во многом, такой расклад обуславливается рядом преимуществ, которые дают умные цифровые договоры. Они позволяют оптимизировать и ускорить множество рутинных процессов и снизить (или полностью исключить) участие посреднической стороны, что существенно уменьшает сопутствующие расходы.
Также, использование технологии смарт-контрактов позволяет исключить ошибки, которые были возможны из-за человеческого фактора. Потому, в последние годы, цифровые договора стали применяться в различных сферах деятельности, помимо криптовалюты.
Смарт-контракты в сфере здравоохранения
В медицине используется огромное количество разнообразной информации, которая может быть потеряна, перемешана или использована не по своему назначению: медицинские карты пациентов, результаты обследований и анализов, прописание и назначение лекарственных препаратов и многое другое.
Все эти данные используются для лечения людей, страдающих от заболеваний с различной степенью тяжести, потому любые ошибки могут стоить человеческой жизни. Такой огромный объем информации трудно структурировать и обрабатывать обычным людям.
Технология блокчейна с интеграцией смарт-контрактов позволяет создать единую информационную базу с возможностью полной автоматизации процессов передачи и согласования материалов, в том числе и конфиденциальных.
Смарт-контракты в сфере кредитования
Операций, связанных с процессами выдачи и погашением кредитных средств огромное количество. Применение технологий блокчейна на основе смарт-контрактов позволяет прописать алгоритмы в коде сети. Таким образом, история платежей, система безопасности и обнаружения фактов мошенничества, автоматическое кредитование и т.д. значительно облегчается.
Помимо этого, технология смарт-контрактов с сфере кредитования обеспечивает оптимизацию контроля за передвижением активов с возможностью постоянного мониторинга и выявления статусов имущества, которое оставляют в качестве залога при оформлении ипотеке.
Все эти факторы, в совокупности, могут значительно упросить банковскую сферу и снизить сопутствующие накладные расходы.
Примером интеграции блокчейна с технологией смарт-контрактов в банковской сфере является испанский банк BBVA (Banco Bilbao Vizcaya Argentaria.
Смарт-контракты в избирательных процессах
Аналитики из компании Horizon State высказали свое мнение о том, что интеграция технологий блокчейна на основе смарт-контрактов смогут обеспечить максимальную объективность выборов и беспристрастно оценивать голоса избирателей. Это довольно острый вопрос, который часто возникает во время проведения выборов с их механизмами голосований.
Использование умных договоров, основанных на децентрализованных реестрах смогут решить многие проблемы во время избирательных процессов. Их нельзя изменить, нарушить или пренебречь алгоритмом в свою пользу. Потому у людей появится больше уверенности в прозрачности и необходимости участия в выборах.
Смарт-контракты в медиа-сфере.
Люди, которые производят свой контент в сфере искусства и интеллектуальной собственности (музыка, живопись, видео съемка, фотография, поэзия, фильмы и т.д.) должны получать достойное вознаграждение за свои труды, которые, в свою очередь, должны обладать авторским правом.
Применение блокчейн-технологий с интеграцией смарт-контрактов могут автоматизировать большую часть рутинных процессов в медиа пространстве. Они позволят корректно осуществлять зачисление платежных средств, распределение долей прибыли между автором и продакшн-компанией. Это во многом ускорить процессы и сделает их менее затратными.
Смарт-контракты в интернете вещей
IoT (Internet of Things) — новое, перспективное направление с быстрым развитием, которое набирает обороты с каждым днем. Для его корректного функционирования необходима единая система, позволяющая объединить в себе электронные устройства и персональные гаджеты. Технология блокчейна на основе смарт-контрактов может стать идеальным решения для осуществления этих процессов.
Смарт-контракты в сфере арендования
Процесс выдачи имущества во временное пользование (аренду), будь то машина, дом или чайник, состоит из нескольких простых последовательностей единого алгоритма:
- Выбор движимого или недвижимого объекта для получения во временное пользование
- Внесение залоговых средств в качестве гарантии соблюдения договоренностей
- Оплата пользование объектом в определенном промежутке времени с возможностью его дальнейшего продления.
Этот простой, рутинный процесс можно с легкостью прописать в коде блокчейна на основе смарт-контрактов. Такое решение позволит значительно сократить сопутствующие расходы и сэкономить время.
Смарт-контракты в сфере поставок
Система логистики поставок подразумевает обработку огромного количества информации о поставщиках, получателях, перевозке, маршрутах и т.д. Если все эти материалы объединить в одну общую систему блокчейна, то это значительно облегчит процесс обработки материалов, что приведет к исключению возможных ошибок и путанницы, связанных с человеческим фактором.
Если же во время планирования произойдут какие-либо изменения, то в цепочку поставок будет добавлено новое звено или последует изменение стоимость той или иной составляющей системы.
Одним из примеров успешной интеграции технологии смарт-контрактов с сферой поставок стал цифровой договор между авиакомпанией S7 и Газпромнефть-Аэро. Умный контракт на предмет заправки воздушного транспорта позволил полность автоматизировать процессы планирования поставки горючего и сопутствующие расчеты.
Смарт-контракты в сфере клиринга
Клиринг представляет собой сложную систему взаимодействия физических или юридических лиц на предмет проведения безналичных расчетов с соблюдением обусловленных обязательств с обеих сторон. На обработку всех процессов уходит большое количество времени и сил людей, а также значительные траты на оплату комиссий за осуществление переводов. Все эти процессы сопровождаются большим количеством сопутствующей документации, в которой часто возникают ошибки.
Интеграция технологии блокчейна на основе смарт-контрактов позволит автоматизировать все расчеты и фиксировать полученные результаты в доступном для всех участников реестре.
Аналитики компании Santander InnoVentures заявили, что внедрение технологии смарт-контрактов в банковскую сферу позволит сократить накладные расходы на 15 — 20 миллиардов долларов США в 2022 году.
Смарт-контракты в азартных играх
Индустрия азартных игры (казино, слоты, покер и т.д.) имеет довольно низкий кредит доверия пользователей. Многие сомневаются, что система работает честно и подозревают компании в откровенном мошенничестве.
Внедрение блокчейна в гемблинг позволит создать четкий алгоритм последовательных действий, который будет исполняться в 100% случаях без возможности корректировки или изменения. Такое решение позволит полностью исключить человеческий фактор и, как следствие, махинации в азартных играх.
Примером успешной интеграции технологии смарт-контрактов в гемблинг является платформа Xether, которая позволяет своим пользователям участвовать, имея ETH.
Смарт контракты с ICO
Направление ICO является одним из самых лучших примеров использования смарт-контрактов, за счет того, что данные проекты осуществляют запуск первичного предложения монеты для новой криптовалюты.
Алгоритмы смарт-контрактов прописывается еще на стадии разработки приложения и включает в себя следующее:
- Фиксация всех инвесторов. Алгоритм системы самостоятельно определяет пользователей, которые инвестировали в проект свои активы и вносит их в общий реестр.
- Начисления. Пользователи получают необходимое количество токенов автоматически, благодаря работе смарт-контракта
- Контроль легитимности. Алгоритмы автономно контролируют отклик пользователей о проведение сделки.
Кто может создать смарт-контракт
В наше время самостоятельно разработать смарт-контракт может любой желающий пользователь, который хоть немного разбирается в теме. Однако, такой проект, по понятным причинам, будет простым и его алгоритм будет содержать малое число последовательных действий легкого уровня.
Для разработки сложных алгоритмов цифровых документов необходимо углубленное изучение языков программирования, математических законов и архитектуры смарт-контрактов. В идеале еще и обзавестись командой высококвалифицированных специалистов.
Плюсы смарт-контрактов
Технология смарт-контракт — это очень полезная система, которая позволяет упростить множество рутинных процессов, доведя их до полной автоматизации без участия человека. Она активно используется в большинстве существующих блокчейнах, благодаря своим весомым преимуществам:
- Отказ от посредников. Смарт-контракты позволяют полностью (или частично) отказаться от участия 3-х лиц для контроля сделки. Это исключает влияние человеческого фактора, делает операции более безопасными и прозрачными, а также существенно сокращает накладные расходы.
- Безопасность. Вся информация об условиях осуществления договора и порядке их соблюдений находится в распределительном виде (в реестре). Это позволяет снизить риск мошенничества и других махинаций в отношение выполнения сторонами оговоренных моментов.
- Прозрачность. Любой участник может провести аудит и проверить корректность выполнения условий смарт-контракта в любое удобное для него время.
- Развитие сфер. Технология Smart Contract позволяет не только улучшить уже имеющиеся компании в разных сферах деятельности, но и создавать новые бизнес-модели и услуги финансирования.
Минусы смарт-контрактов
Несмотря на существенные плюсы технологии Smart Contract, это достаточно новая сфера, которая имеет свои недостатки.
- Недоверие пользователей. Достаточно актуальная проблема — низкий кредит доверия. К сожалению, не все могут поверить, что технология может полностью автоматизировать рутинные процессы и полностью исключить человеческий фактор в виде посредника.
- Отсутствие юридического обоснования. Смарт-контракты не имеют определенного юридического статуса, что сильно затрудняет правовой процесс в этой сфере деятельности.
- Расчет в криптовалюте. Все расчеты в умных контрактах производятся в цифровых активах. Такой момент привлекает не всех пользователей, т.к. существуют определенные классы населения, которые не интересуются криптовалютой и не понимают, как она работает.
- Слабая система оракулов. Технологии смарт-контрактов необходимо обзавестись более развитой системой оракулов. Это можно сделать, улучшив качество внешних информационных источников.
- Риск ошибки. В юридической составляющей смарт-контрактов можно допустить серьезную ошибку при переводе правовых нормативов в программный код, что повлечет за собой очень негативные последствия при обработке сделки.
Перспективы смарт-контрактов в будущем
Уже сейчас множество организаций ведут активную работу над исправлением существующих недочетов технологии смарт-контрактов. Аналитики говорят о том, что в ближайшее время технология сможет получить полное юридическое обоснование, что в значительной сфере усилит кредит доверия людей.
В ближайшие годы смарт-контракты смогут заменить большую часть операций с документооборотом в сфере финансов. Многие ведущие банки мира экспериментируют с технологиями блокчейнов и переводят на них свои рутинные действия.
Не далеко и то время, когда смарт-контракты будут использоваться и на уровне государства для оптимизации процессов отчетности, документации и т.д.
Урок № 1. Что такое блокчейн, транзакции, хэш, мемпул
Как правило, блокчейн представляют в виде нескольких связанных блоков.
Блокчейн в виде блоков
Но наиболее удобным для восприятия было бы представление блокчейна в виде сети, которая поддерживается множеством компьютеров.
На каждый компьютер в этой сети установлена определенная программа. Она соединяется с другими компьютерами, синхронизируется, и таким образом на всех компьютерах хранятся синхронные данные. Все установленные программы содержат одни и те же данные и соединены с другими компьютерами синхронно.
Что это за программа, что она делает и почему она создает некий блокчейн?
Блокчейн как книга
Эту программу можно представить в виде книги, где одна страница — это один блок, и каждая страница имеет нумерацию. Каждый блок содержит в себе определенную информацию:
Хеш предыдущего блока. Хеш – это шифрование информации, результат которого представлен в виде набора символов. На каждой странице указан хеш текущего и предыдущего блока. Это нужно для того, чтобы каждая страница имела последовательность и синхронность.
Mempool — это буфер транзакций, которые ожидают своего исполнения. Так как блокчейн — это последовательность данных, то все переводы в нем должны исполняться последовательно. Когда первый в очереди перевод уходит на исполнение, остальные помещаются в Mempool, где они ожидают своей очереди на исполнение.
— Транзакция — это любое взаимодействие с блокчейном (перевод, стейкинг и т.д.)
Транзакция
— Неизменные данные. Они не фиксируются в рамках одного блока, но они предполагаются. На соответствие этим данным блокчейн проверяет информацию.
— Хеш блока. В нем зашифрована вся информация из конкретного блока.
— Номер блока. Блоки в книге имеют прямую последовательность и нумерацию.
Таким образом, программа, которую мы только что представили в виде книги, установлена на всех компьютерах в блокчейне. Она одинакова на всех компьютерах в рамках одного блокчейна и синхронна. Это позволяет защититься от ложной информации. Так как если бы на одном из компьютеров удалось изменить данные, например, о сумме на его кошельке, то во всех остальных компьютерах в блокчейне эти данные все равно не будут записаны и благодаря синхронизации эта информация не будет принята во внимание.
Схема работы блокчейна:
1) Новые транзакции рассылаются всем узлам (компьютерам).
2) Каждый узел (компьютер) объединяет пришедшие транзакции в блок.
3) Каждый узел (компьютер) пытается подобрать хэш блока.
4) Как только хэш найден, этот блок отправляется в сеть.
5) Узлы (компьютеры) принимают блок, только если все транзакции в нем корректны и не используют уже потраченные средства (т.е. комиссии – об этом позже).
6) Свое согласие с новыми данными узлы выражают, начиная работу над следующим блоком и используя хэш предыдущего в качестве новых исходных данных.
Зачем нужен блокчейн?
Блокчейн создан для того, чтобы упростить движение финансов между пользователями.
Как сейчас совершаются переводы? Большинство пользователей хранят деньги в банках. И для того, чтобы перевести определенную сумму от одного пользователя другому, в банк отправляется заявка. Затем она рассматривается банком и совершается перевод. То есть банк выступает в роли посредника и таким образом он имеет возможность заблокировать перевод или счет пользователя. Но пользователь вынужден обращаться к посреднику в виде банка для того, чтобы провести какие-либо операции со своими денежными средствами.
Как совершаются переводы через банк
Как совершаются переводы через блокчейн? Допустим, есть некий блокчейн, в котором хранится сумма 10 000 000$. Вася имеет в этом блокчейне 200$ и Маша тоже имеет 200$. Стоит отметить, что денежные средства пользователя хранятся не на его кошельке, а в блокчейне. Кошелек же служит ключом к этим средствам и подтверждает, что пользователь имеет определенную долю средств из всей эмиссии (например, Маша и Вася имеют доступ к сумме в 200$).
Как совершаются переводы через блокчейн
Представим, что Вася перевел Маше 100$. И теперь в блокчейне появилась запись об этой транзакции и о доступной сумме для каждого пользователя. Теперь Вася имеет доступ к 100$, а Маша — к 300$. Таким образом, средства в блокчейне никуда не перемещаются, меняется лишь информация о доступных для каждого пользователя средствах. В блокчейне не существует посредников, пользователю для перевода не нужно отправлять заявку, он просто напрямую переводит средства. При переводе пользователь отдает доступ на часть своих средств другому пользователю.
Блокчейн — это исключительно финансовый инструмент, который позволяет переводить средства напрямую между пользователями. Он как раз и создан для того, чтобы упростить переводы между лицами и отбросить посредников в виде банков. Вся информация о транзакциях хранится непосредственно в блокчейне и для переводов между пользователями не нужно поддерживать громоздкую банковскую структуру с её менеджерами, бухгалтерами, аналитиками и прочими.
Да, в такой системе все зависит от блокчейна. И если с ним что-то случится, то пользователь может потерять все свои средства. Но в следующих статьях мы расскажем про наиболее безопасные и устойчивые блокчейны для хранения средств.
ОБРАТИТЕ ВНИМАНИЕ!
В блокчейне нет информации, что именно “Вася” или “Маша” сделали перевод. В этой статье имена используются для простоты понимания. В блокчейне отражается только адрес кошелька, а кому он принадлежит – неизвестно (это можно вычислить, но об этом позже).
Данная статья написана командой DAO Crypto. Подписывайтесь на нас в Youtube https://www.youtube.com/c/DAOCrypto и Telegram https://t.me/dao_crypto!
Этот урок в видео формате можно посмотреть по ссылке
Блокчейн для самых маленьких [part.1]

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

Это введение для тех, кто хочет наконец-то разобраться в блокчейне простым языком, без криптографии, протоколов, не сильно вникая в хэш-функции, зато с примерами из реальной жизни.
Технология, которая, по-видимому, окажет наибольшее влияние на развитие в различных областях экономики в ближайшие 10 лет, уже существует! И это не BigData, не соцсети, не робототехника и даже не Machine Learning. Это технология, лежащая в основе криптовалют, цепочка блоков транзакций- блокчейн. Сейчас именно блокчейн является инструментом для создания нового поколением интернета, и он несет огромный потенциал для любого бизнеса.
Скорее всего вы будете удивлены, узнав, что :
- Блокчейн != биткоин.
- Можно ли применить распределенный реестр в огороде у бабушки?
- Как одна технология переворачивает всю устоявшуюся индустрию бизнеса и экономики?
Так, теперь давайте определимся, что мы узнаем в part.1 :
- Как работает эта технология? Проблема централизации на Олегах
- Как работает магическая машина или же хэш-функция
- Что такое майнинг
- Алгоритм защиты от модификаций печатных номеров
- Настолько ли идеален блокчейн? Уязвимости идеальной системы
Как это работает?
Блок 1: Проблема централизации на Олегах

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

Банкир проверяет ваш текущий баланс на предмет наличия этой суммы и переводит деньги на счет Олега. Вы с чувством выполненного долга звоните Олежке и сообщаете, что лавэ перечислены.
И так, что сейчас произошло? Давайте рассмотрим ситуацию более детально.
Вы и Олег доверили банку управлять вашими деньгами. Не было никакой физической пересылки. Нужно всего лишь было изменить реестр, который не контролируешь ни ты, ни Олег. И это проблема существующих систем. Для установления доверия между людьми мы зависим от третьей стороны, которой может выступать банк. Мы зависимы от посредника для установления доверия друг с другом.
Блок 2: Какую угрозу несет централизация?
Такие системы подвержены взломам, и случай такого системного сбоя может привести к потери средств и личной информации пользователей этой системы, и это уже происходило не раз. Если приводить реальный пример из истории, то на ум сразу приходит развал СССР в 1991 и потери 40-ка млн вкладов пользователей банков.

Централизованная / Децентрализованная системы
Блок 3: Какая система позволит решить эти проблемы?
Существует ли система, которая будет содержать реестр между юзерами этой системы, исключая посредников? Да, существует. И наверное, как вы уже догадались, это решение — блокчейн. Для существования P2P систем нужно достаточное количество пользователей желающих не зависить от третей стороны. И такое минимальное количество юзеров: 3 человека — для учета и содержания реестра.
Как это работает?
Блок 1: Давайте рассмотрим принцип работы на примере
Возьмем 10 людей, которые решили отказаться от банков и других систем третей стороны.

По общему согласию каждый из 10-и постоянно имеет все подробности счетов других участников, но без знаний их личности
Шаг 1: Пустая папка
Каждый из 10 участников будет иметь пустую папку, которая будет заполняться страницами. Эта коллекция страниц формирует реестр транзакций.
Шаг 2: Транзакции
Каждый сидит с пустым листом и ручкой в руке и готов записать любую транзакцию, которая произойдет внутри этой системы.


Для создания транзакции, номер 2 сообщает всем: « Я, номер #2 пересылаю #5 10$». Каждый из участников системы проверяет, имеет ли #2 достаточный баланс для произведения данной транзакции. В случае, если баланс номера #2 позволяет это сделать, то каждый делает запись у себя на странице. Это происходит до того момента, пока на странице не закончится место для записи новых транзакций
Предположим, что страница имеет вместимость 10 транзакций. Т.к. все заполняют одну и ту же информацию, место на страницах у всех кончится одновременно.
И вот настало время, всем отправить заполненную страницу в папку и создать новую страницу для ведения учета транзакций. И так повторять начиная с шага №2.
Шаг 4: Хранение страниц

Перед тем, как отправить страницу в папку на хранение, мы должны ее согласовать со всеми, идентифицируя ее уникальной печатью. Ставя такую печать на страницу, мы можем быть уверенны, что эту страницу никто не сможет изменить, отправляя ее в папку. Если все доверяют печати, значит и все доверяют содержимому страницы. И этот процесс самый затруднительный.
В терминологии блокчейна этот процесс называется «майнинг», но для простоты понимания на примере, обозначим его как процесс запечатывания.
Ранее посредник давал нам обещание, что написанное в реестре никогда не будет изменено. В распределенной и децентрализованной системе печать предоставляет доверие. Перед тем как понять, как мы будем продолжать это процесс дальше, нам надо ознакомиться с тем, как работает одна магическая машина.
Магия Хэш-фунцкий
Давайте представим, что у нас есть машина, которая защищена от внешнего воздействия. Если мы отправим коробку с неким содержимым на вход, то на выходе получим коробку с другим содержимым на выходе. Эта магическая машина называется хэш-функция.

Предположим, мы отправили на вход цифру 4, на выходе мы получим «cbaja». Как эта функция конвертировала цифру 4 в «cbaja»? Никто не знает. Более того, этот процесс необратимый. По конечному результату нельзя сказать, что было подано на вход. Но каждый раз, когда вы будете загружать цифру 4, на выходе вы будете всегда получать один и тот же результат.

Давайте рассмотрим другой случай. Что надо будет подать на вход это машине, что бы получить результат «c56c0ah»? Есть только один способ это узнать — перебрать все возможные значения, пока не получим данный результат.

Будем оптимистичны, и допустим через несколько тысяч попыток мы нашли это значение. В реальных условиях найти его экстремально сложно.
Основываясь на полученной информации, давайте сформулируем главные свойства этой машины.
- Невероятная сложность нахождения input по output (входящего значения по полученному результату)
- И простота проверки правильности входящего значения
Давайте запомним свойства этой машины или хэш-функции
Как использовать хэш-функцию для создания печатей?

Представим, что на вход мы подаем два значения. Первое значение «KEK», второе —рандомное значение, которое мы добавим к значению из первой коробки и направим на вход хэш-функции, а на выходе получим «Validol». Сможете ли вы угадать, какое значение содержится в второй коробке? Ситуация напоминает ранее рассматриваемый случай. Единственный способ вычислить это число — подбор всех чисел подряд.

Опять будем оптимистичны, и через сколько то тысяч попыток мы нашли значение второй коробки. Это значение было «LOL». Когда бы добавим «LOL» к значению «KEK» на выходе машины мы получим требуемое значение «Validol».
Т.е. значение «LOL» будет являться печатью к значению «KEK».

Мы создали страницу с значением «KEK». Что бы пропечатать эту страницу, т.е. защитить эту страницу от правок, мы ставим на ней печать с значением «LOL»
В терминологии блокчейна печатный номер это POW(Proof-of-Work). Он означает, что это значение есть доказательство проделанной работы для вычисления этого значения.
Если кто то из нашей группы захочет проверить было ли изменено содержимое страницы с транзакциями, все что ему требуется, это загрузить эту страницу и печатный номер этой страницы в магическую машину. Если на выходе будет требуемое значение, то содержимое страницы с транзакциями не изменено, но если output не соответствует требуемому результату, то эту страницу можно выкидывать, т.к. ее содержимое было изменено и ее больше нельзя использовать.
После определения печатного числа, на страницу ставится печать. Если кто нибудь когда нибудь попробует изменить страницы с транзакциями, то печатный номер позволит каждому проверить целостность информации на странице.
Теперь, когда мы знаем, как ставится печать на страницы, мы можем вернутся к тому моменту, когда у нас закончилось место на странице.
Майнинг
После того, как у всех закончилось место на странице, участники системы соревнуются между собой в вычислении печатного номера к странице, для того что бы ее вложить в папку. Как только первый участник вычислил этот номер, он уведомляет всех оставшихся. Все остальные в свою очередь проверяют правильность обнаруженного числа. Печатный номер, с которым соглашается большинство и будет являться подлинной печатью.
Тут перед нами встает логичный вопрос: почему же тогда каждый тратит ресурсы на вычисление, когда не знает, что кто то другой объявит его. Почему бы просто ждать объявления номера? Тут как раз таки в ход вступает стимулирование. Каждый, кто является частью системы блокчейна имеет возможность получать награду за проделанную работу. Первый, кто вычислит печатный номер будет награжден за потраченные ресурсы в виде вычислительной мощности и электроэнергии.
Допустим, один из участников сети, первым вычислил номер, за что будет награжден виртуальной валютой, за которую соревнуется каждый из участников сети, которая по большому счету берется из не откуда. То есть его счет увеличился на n-сумму виртуальной валюты без уменьшения баланса других участников. Награды способствуют продолжения работы сети.
А теперь давайте переведем нашу аналогию в реальные примеры. Страницы это блоки, а папка это цепочка страниц. Следовательно все это превращается в цепочку блоков — блокчейн.
Еще одно «НО»
Представим, что у нас уже есть 5 страниц с печатями в папке. Что если я вернусь назад к второй странице и изменю ее содержимое в свою пользу? Печатный номер позволит каждому определить несогласованность транзакций. Опять же, что если я подготовлюсь и заранее вычислю новый печатный номер для измененных транзакций и поставлю печать со своим выселенным номером на нем. Для предотвращения этой проблемы есть особенность в алгоритме вычисления печатного номера. Это есть защита от модификаций печатных номеров.
Вспомним пример с коробками. На деле мы подаем не две, а три коробки на вход магической машине. Одна содержит страницу с транзакциями, вторая печатный номер, который следует вычислить, а третья будет содержать печатный номер от предыдущей страницы.

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

Атака 51%
Все системы имеют бэкдоры, и блокчейн не исключение. Самая известная уязвимость блокчейна это атака именуемая «Атака 51%».
Если пытаться объяснить ее простым языком, то рассматривая защиту от модификаций печатных номеров, которая приводилась выше, можно задать вопрос: А если у одного нечестного юзера вычислительная мощь будет больше, чем у остальных 9ых, то он сможет через n-ое время создать цепочку блоков начиная с 1-ого листа, которая сможет обогнать главную истинную цепь блоков.
Да, такая уязвимость есть. Сама идеология блокчейна подразумевает, что большинство участников сети не намерены «играть» не честно.
Для упрощения абстракции проблемы приведенной выше, скажем, что у каждого участника цепи вычислительные мощи одинаковые. Соответственно, когда 6/10 участников блокчейн системы сговорятся и захотят обмануть оставшихся 4ех юзеров, то через n-ое время они установят новую истинную цепочку блоков. Отсюда и идет название этой уязвимости. Как только количество нечестных юзеров станет 50%+, то блокчейн системе грозит опасность быть «обманутой».
Надо понимать, что в реальности сделать это практически нереально. Как говорится, время лучший показатель, и за все 11 лет существования BitCoin он ни разу не был «обманут» и не выводился из строя, при том, что на эту систему проводились атаки.
Так же, существует ещё пара теоретических уязвимостей блокчейна, с которыми вы сможете ознакомиться самостоятельно. Ссылка для ознакомления: Что угрожает блокчейн-сетям
Материала и мыслей, которые хочется донести очень много, и если все изложить в одну статью, будет скучно читать и может смешаться в кашу.