Блокчейн криптовалюты что это
Перейти к содержимому

Блокчейн криптовалюты что это

  • автор:

Введение в блокчейн — основу криптовалют

Anastasia Uvarova

Вы ещё помните то время, когда курс криптовалют вырос более чем в 50 раз всего за 1 год?! Вот наглядный график произошедшего:

А затем случилось это:

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

Сначала расшифруем само понятие, а потом разберёмся, как влияние блокчейна может оказаться ещё больше.

Что такое блокчейн?

Попробуем разобрать само слово:

Что в принципе передаёт суть термина. А вот, что узнаем, погрузившись в детали:

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

Воспринимайте блок как коробку для хранения некоторых данных. Например, данных о транзакции. У каждого блока есть свой уникальный хеш. Он складывается из текущего хеша блока и хеша предыдущего блока. Хеш в некотором смысле — это отпечаток пальца, который нужен для идентификации. Если говорить более формально, то это математический код, который присваивается каждому блоку. Вы можете встретить другие названия — хеш-сумма или хеш-функция. Здесь мы для краткости пишем просто “хеш”.

В блоке хранятся данные, хеш текущего блока и хеш предыдущего блока

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

Блокчейн — связанная информационная система, которая постоянно растёт. Для примера возьмём данные транзакции. Каждый раз, когда происходит новая транзакция, блокчейн удлиняется — добавляется новый блок. Но какие именно особенности делают блокчейн таким “могущественным”?

Причины потенциала блокчейна

1. Содержимое блокчейна неизменно

Что делает данные, которые хранятся в блокчейне, неизменными?

  • Хеши

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

Это значит, что изменение одного блока повлияет на все последующие. Они станут невалидными и тогда очевидно, что над данными произвели манипуляции.

Благодаря большой вычислительной мощности компьютеры могут просто пересчитывать все следующие хеши, чтобы сделать блокчейн валидным снова за несколько секунд!

  • Алгоритм консенсуса

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

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

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

Распространённые алгоритмы консенсуса: доказательство работы, доказательство доли владения и доказательство полномочий.

2. Применение децентрализованной и распределённой структуры

Блокчейн — децентрализованная и распределённая система. Это значит, что информация разделена между всеми в сети. Такое устройство противоположно централизованным системам, в которых информация хранится в одном месте. Пусть у всех и есть копия блокчейна, но при этом никто не может ничем манипулировать.

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

3. Блокчейн как одноранговая (пиринговая) сеть

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

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

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

Перспективные варианты применения блокчейна

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

1) Финансы — криптовалюты

Мы часто упоминаем вместе понятия блокчейн и криптовалюта, например, биткоин, но это не одно и то же. Блокчейн — это технология в основе криптовалют. А криптовалюта — это вид децентрализованной цифровой валюты с применением блокчейна. Запомните, чтобы не путать.

Впервые Сатоси Накамото описал биткоин в 2008 году. В документах он объяснил, как можно применять блокчейн для создания криптовалют.

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

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

2) Смарт-контракты

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

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

3) Защита данных для устройств IoT (Internet of Things/интернет вещей)

Устройства из интернета вещей собирают массу данных, а их приватность — это всегда зона сильного беспокойства. Быстро увеличивается количество используемых устройств, значит приходит больше данных, а хакеры и мошенники могут их украсть. Оценки исследования, которое провели в Mckinsey & Company, говорят, что к 2023 году будет работать 43 млрд девайсов интернета вещей.

Взаимосвязь между IoT и блокчейном позволяет создавать более высокий уровень защиты данных: предотвращение утечки, повышение прозрачности и обеспечение неуничтожимости данных.

Блокчейн затронет практически каждую сферу

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

Блокчейн простыми словами

Блокчейн простыми словами

Что такое блокчейн простыми словами? В предыдущей статье мы уже рассказывали о главной цели криптовалюты: создание цифровой валюты для обмена между пользователями без помощи банков, но при этом сохраняя должные уровни безопасности и анонимности. Такая система и называется блокчейн-технологией.

В чем разница между понятиями «блокчейн», «криптовалюта» и «биткоин»?

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

Преимущества блокчейн-технологии

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

  • Децентрализованность системы, которая помогает исключить из нее таких посредников, как банки, тем самым упрощая переводы между пользователями, даже если они находятся на разных концах Земли. А полная анонимность и необратимость всех транзакций обеспечивают безопасность для пользователей сети.
  • База данных всех транзакций, которая хранится на тысячах компьютеров по всей Земле. Это гарантирует безопасность сети от мошеннических манипуляций. Однако важно помнить, что ничто и никто не может гарантировать 100% защиту от злоумышленников.

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

Что такое блокчейн и как он работает

Рассказываем о том, как устроена самая популярная криптотехнология, где её применяют и какие у неё есть недостатки.

Иллюстрация: Катя Павловская для Skillbox Media

Максим Сафронов

Блокчейн сейчас везде — на нём работают криптовалюты, мессенджеры, сложные банковские системы и модные токены с собачками. Выпускникам МФТИ выдают дипломы в виде NFT, а Эрмитаж продаёт виртуальные картины Ван Гога на блокчейн-аукционах. Самое время разобраться, что это за технология, как она устроена, зачем нужна и не пирамида ли это.

Технология блокчейн простыми словами

Блокчейн — это реестр для хранения и передачи цифровых активов. Активы могут быть любые: деньги, акции, игровые персонажи, произведения искусства — всё что угодно. Идея в том, что блокчейн позволяет взять какую-то вещь в Сети и сказать: «Это моё». И никто не сможет её у вас украсть, взломать или переписать.

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

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

Как работает блокчейн

Допустим, вы программист в европейской компании. Приближается Международный день пожилых людей, и вы решили поздравить свою бабушку, которая живёт в России, — отправить ей немного денег на новое пальто.

Можно сделать это по-старинке — через обычный банк:

  • Открываете приложение банка.
  • Отправляете деньги бабушке на карту.
  • Банк списывает деньги с вашего счёта.
  • Зачисляет на счёт бабушке.

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

А теперь посмотрите, как изящно все эти проблемы решает блокчейн:

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

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

Из чего состоит блокчейн

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

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

Например, в биткоине все операции хешируются алгоритмом SHA-256. Он превращает любую информацию в строку размером 256 бит. Без разницы, будет ли это «Война и мир» Толстого или строчка из песни Михаила Боярского — на выходе получится шифрованная колбаса весом в 256 бит. Выглядит она примерно так:

В нашем случае, если перевести эту колбасу на русский, выйдет что-то вроде: «Петя Иванов отправил Зинаиде Степановне Ивановой 5000 рублей 1 октября 2022 года в 14:30».

Тут есть нюанс: если Петю заменить, скажем, на Диму, получится совершенно другой хеш. Следующий блок заметит изменения и отправит сигнал всем участникам сети: «Что-то тут нечисто, нас хотят взломать». И если большинство компьютеров знать не знают никакого Диму, блок останется неизменным.

Вернёмся к нашей Зинаиде Степановне. Предположим, деньги ей не особо нужны, и она решает отправить их вашему брату, который учится на первом курсе в Москве. Вот как система будет работать в таком случае:

Шаг 1. Блокчейн возьмёт хеш предыдущего блока.

Шаг 2. Добавит к нему новые данные:

«Данные о сделке Зинаиды Степановны и Васи».

Шаг 3. В таком виде запись снова хешируется, и получится ещё один блок:

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

Кто создаёт новые блоки

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

Вот как выглядит день из жизни обычного майнера:

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

В награду за свой труд майнеры получают кусочек от общего цифрового пирога — например, в случае биткоина это, внезапно, биткоины. Но не стоит думать, что майнинг — золотое дно. Чтобы хоть что-то заработать на добыче цифровой валюты, нужны ресурсы — в основном электричество и графические процессоры.

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

Как и в каких крупных компаниях применяют блокчейн

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

Вот для чего используют блокчейн крупные российские и зарубежные компании:

  • Сбербанк — для учёта ипотечных закладных и других ценных бумаг.
  • S7 Airlines — для продажи авиабилетов без посредников.
  • «Норникель» — для выпуска токенов, обеспеченных полезными ископаемыми.
  • Maersk — для отслеживания морских перевозок.
  • Renault — для сертификации автомобильных запчастей.
  • IBM — для разработки системы межбанковских переводов (аналога Swift).

А вот наиболее распространённые сферы, которые без блокчейна уже трудно представить:

Криптовалюты. Если вы были в интернете в последние пять лет, то наверняка слышали про пиринговые валюты: Bitcoin, Litecoin, Ethereum и другие. Интерес к ним сейчас не шквальный, но их по-прежнему ценят фрилансеры, блогеры, программисты, цифровые кочевники и все, кому важен свободный обмен деньгами без посредников.

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

Государственное управление. После того как взлетел биткоин, блокчейн перестал быть забавой для гиков и технократов — теперь его внедряют банки, госкомпании и даже некоторые государства. Например, правительство Тайваня использует блокчейн на базе Ethereum для защиты от кибератак со стороны Китая.

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

Интернет вещей. Любое умное устройство работает в паре с каким-то сервером: передаёт данные, скачивает обновления, обращается к условной «Алисе». Если этот сервер взломает хакер, он может управлять устройством удалённо — например, установить во всём доме температуру 32 °C. Чтобы этого избежать, многие компании хранят данные пользователей децентрализованно — то есть в блокчейн-сетях.

Что такое блокчейн-платформа

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

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

Самые известные платформы:

  • Ethereum — позволяет создавать приложения на основе смарт-контрактов в разных сферах: финансы, страхование, инвестфонды, онлайн-игры. Широко используется в России — например, Сбербанком и Минцифры.
  • Bitcoin — финансовая платформа для выпуска одноимённой криптовалюты. На механизмах Bitcoin работают и другие валюты — тот же Dogecoin, который активно поддерживает Илон Маск.
  • Hyperledger — блокчейн-платформа от Linux Foundation. Есть фреймворки для создания цифровых паспортов, облачных сервисов и бухгалтерских книг.
  • Corda — система для хранения и передачи активов между финансовыми организациями: акций, облигаций, кредитов и других обязательств.
  • Solana — блокчейн-фреймворк, нацеленный на скорость: может проводить 65 000 транзакций в секунду (для сравнения, Ethereum — всего 30). Из минусов — не всегда стабильная работа и ограниченная децентрализация.
  • Polkadot — позволяет объединять несколько блокчейнов в одну экосистему. Проект от создателя Ethereum Гэвина Вуда.

Далеко не у всех блокчейнов есть свои собственные платформы — к примеру, криптовалюта Litecoin работает на блокчейн-сети Bitcoin. Это не хорошо и не плохо, просто так сложилось. Если вы захотите сделать свой блокчейн, можете взять за основу готовый фреймворк — исходный код большинства платформ лежит на GitHub.

Если интересно узнать, как разрабатывают блокчейны, почитайте нашу статью про создание блокчейнов на языке C# — рассказываем, как всё устроено и пробуем запустить первый проект.

На каких языках программирования пишут блокчейны

Выбор зависит от конкретной задачи. Допустим, вам надо написать блокчейн-сеть с нуля. Для этого лучше использовать языки низкого уровня вроде Rust, Go и C++. Они дают программисту полный доступ к «железу» и памяти, поэтому хорошо подходят для создания высоконагруженных систем.

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

Языки общего назначения: Java, C#, Python или Kotlin. Это универсальный вариант: можно создать новую сеть, а можно написать приложение для какой-то платформы. Например, Java-код легко компилируется под Ethereum, Hyperledger и Quorum. При этом на базе Java работают некоторые известные платформы — скажем, NEM и IOTA.

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

Возьмём, к примеру, язык Solidity для платформы Ethereum. Так как создатели взяли синтаксис от JavaScript, внешне языки очень похожи:

Разница в том, что JavaScript исполняется в браузере, а Solidity — в виртуальной машине Ethereum. Если этой машины нет, код на Solidity работать не будет. Поэтому его редко запускают где-то кроме блокчейн-платформы — для этого пришлось бы под каждое «железо» писать свою машину. Проще взять язык вроде Java, чья виртуалка есть на любом утюге.

Solidity — не единственный язык программирования смарт-контрактов. Как минимум есть ещё Simplicity, Vyper и Rholang. Если интересно, как вся эта кухня устроена изнутри, читайте наше интервью с блокчейн-разработчиком.

Недостатки технологии

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

Атака 51%. Чтобы в блокчейне появился новый блок, его должны одобрить больше половины участников. Но если к сети подключится хакер с достаточно мощным «железом», он сможет проталкивать в неё фальшивые блоки и обналичивать их на криптовалютных биржах. На практике этим редко кто занимается, и вот почему:

  • Дорого — «железо» должно быть мощнее, чем у 50% всех майнеров вместе взятых. Например, в случае биткоина будет выгоднее майнить валюту, чем создавать поддельную.
  • Сложно — в большинстве блокчейнов есть механизмы защиты от хакерских атак: Proof of Work и Proof of Stake.

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

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

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

Что дальше

По словам экспертов, к 2027 году в блокчейне будет храниться до 10% мирового ВВП. Например, цифровые дистрибьюторы смогут лицензировать фильмы, музыку и книги через NFT-токены. А государства полностью переведут в блокчейн выборы, закупки, регистрацию недвижимости и другие процедуры.

Что из этого сбудется — сложно сказать. Если интересно, как технология будет развиваться дальше, подпишитесь на нашу рассылку — будем больше рассказывать о мире блокчейнов, токенов и криптовалют. А если хотите попробовать себя в роли блокчейн-разработчика, загляните на наш бесплатный интенсив — расскажем, как написать блокчейн на Python за три дня.

Читайте также:

Действительно, в этом году День пожилого человека приходится на 1 октября. Не забудьте поздравить близких!

Блокчейн для самых маленьких [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 send 10$ to #5#2 send 10$ to #5 TransactionTransaction’s registration page

Для создания транзакции, номер 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 он ни разу не был «обманут» и не выводился из строя, при том, что на эту систему проводились атаки.

Так же, существует ещё пара теоретических уязвимостей блокчейна, с которыми вы сможете ознакомиться самостоятельно. Ссылка для ознакомления: Что угрожает блокчейн-сетям

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *