Активируйте JavaScript для полноценного использования elitetrader.ru Проверьте настройки браузера.
Блокчейн: руководство для начинающих — как все объяснить 5-летнему ребенку » Элитный трейдер
Элитный трейдер
Искать автора

Блокчейн: руководство для начинающих — как все объяснить 5-летнему ребенку

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

Исторический экскурс
31 октября 2008 года анонимное лицо или группа людей под псевдонимом Сатоши Накамото опубликовали техническое описание (white paper), в котором представили новаторский подход к отправке денег напрямую от отправителя к получателю, минуя любых финансовых посредников. Документ также дает название этой концепции — «биткоин». Поскольку биткоин использует некоторые из основополагающих концепций криптографии, этот новый способ обмена деньгами был классифицирован как криптовалюта. Единственным объектом применения биткоина были финансовые операции, но ученые и исследователи осознали, что лежащая в его основе технология может быть полезна в создании других безопасных и надежных приложений, способных революционно изменить то, как эти системы функционируют сейчас.

Эта основополагающая технология была названа «блокчейном». Много технических словечек? Давайте упростим!

Что такое блокчейн? Пример из реальной жизни
Давайте представим, что вы живете в городе, где есть большая стоянка на 200 автомобилей (предположим, что это одноэтажная стоянка). У этой стоянки есть основные ворота, которые закрыты всегда, кроме тех моментов, когда машина въезжает или выезжает. А теперь давайте проанализируем эту стоянку в несколько другом ракурсе:

Цена: поскольку какая-то частная компания построила эту стоянку непосредственно с целью сдачи парковочных мест в аренду и несет все расходы, связанные с ее обслуживанием, стоимость аренды места на стоянке будет высокой.
Безопасность: Если грабители получат доступ к основным воротам, они легко смогут добраться до вашей машины (снять колеса, слить топливо, сломать тормоза — все, что угодно!)
Ограниченное количество мест: Скажем, количество автомобилей в городе выросло с 200 до 300 — мест на парковке будет недостаточно, и какой-то другой частной компании придется построить новую автостоянку.
Доверие: Вы доверяете компании-владельцу стоянки, а она отвечает за ее безопасность и надежность.
Централизация: поскольку все машины находятся на одной территории, можно считать эту стоянку централизованной.
А сейчас давайте поменяем текущий сценарий. Представим, что в вашем городе есть 200 домов и в каждом из них есть гараж на два места. Но чтобы упростить объяснение, мы предположим, что в каждом доме есть только одна машина (все автомобили с нашей большой стоянки выше). Таким образом, в гараже каждого дома есть одно свободное место из двух доступных. Дальше представим, что жители города решили сдавать свободные места в своих гаражах в аренду тем, кому нужно парковочное место. Эта модель распределения парковочных мест в городе решает проблему размещения дополнительных 200 или более автомобилей (когда люди переезжают в наш город или уезжают из него) без необходимости строительства еще одной, более вместительной парковки. Как и в предыдущем сценарии, давайте проанализируем следующие факторы:

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

От модели парковки к технической модели
Модель парковки дает базовое описание блокчейна на примере из реальной жизни. Давайте теперь сопоставим элементы парковки из нашего примера и фактическую техническую модель:

Большая автостоянка — это централизованная система, аналогичная AWS, Google Cloud и т.д. (эти облачные платформы также являются распределенными на некотором уровне, но для простоты мы будем рассматривать их как единую структуру).
Автомобили — это данные и приложения.
Распределенный паркинг — это децентрализованная система, блокчейн.
Подождите, мы кое-что упускаем.

Все децентрализованные системы — это не блокчейн! Да, блокчейн — это конкретный тип децентрализованной системы с уникальными характеристиками. Какими? Давайте поговорим о них.

Блокчейн состоит из блоков
Снова обратимся к нашему примеру с распределенным паркингом и внесем в него небольшое изменение. Давайте предположим, что замок в каждом конкретном гараже создается в момент, когда машина стоит внутри гаража (мы предполагаем, что одна и та же машина использует один и тот же гараж каждый день). Также предположим, что мы пронумеровали все распределенные гаражи в последовательном порядке. Ключ от замка к гаражу №50 основан на ключе от замка к гаражу №49, а также на характеристиках (таких как цвет, масса, номер двигателя и т.д.) машины, которая стоит в гараже №50, и весь этот процесс начинается с гаража №1 и продолжается до гаража №200 и далее.

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

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

Что происходит при изменении пары замок-ключ?
Надеюсь, вы помните, что мы говорили: все владельцы гаражей придерживаются каких-то правил? Одно из таких правил — валидация (проверка действительности) гаража. Гараж будет действительным, если ключ от гаража совпадает с его замком. В случае каких-либо изменений в паре ключ-замок, пары ключ-замок для всех последующих гаражей в списке станут недействительными, поскольку каждая последующая такая пара зависит от предыдущей. (Процесс валидации одной пары ключ-замок для конкретного гаража происходит очень быстро в отличие от процесса генерации ключа).

Такая зависимость одной пары от предыдущей приводит к созданию цепи из гаражей, а говоря техническим языком, эти гаражи представляют собой блоки в такой цепи — отсюда и название «блокчейн» (цепь из блоков).

Блокчейн: руководство для начинающих — как все объяснить 5-летнему ребенку


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

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



Если большинство нодов (компьютеров) в сети поймут, что измененная цепь является недействительной, то она будет заменена на действительную цепь, сохранившуюся на других нодах. Это делает блокчейн-сети уязвимыми перед так называемой «атакой 51%». Проще говоря, если более 50% нодов в сети являются вредоносными (или хранят измененную цепочку), то это угрожает всей сети.

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

Как объяснить блокчейн шестилетнему ребенку

В этой статье мы продолжим объяснять концепцию криптовалют, майнинга и смарт-контрактов на примере гаражей и парковки.

Вот сравнение из первой статьи, вспоминаем:

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

Но как регулировать эту парковку? Как передавать ключи от владельцев автомобилистам?
Ответы — в первой части, а мы поехали дальше.

Как взимать плату на этой децентрализованной парковке?
Как следить, чтобы никто не уехал, не заплатив?


Ethereum, Bitcoin и любая другая монета
Каждый из вас хотя бы раз слышал о каком-нибудь «коине» — биткоине, Litecoin, Ethereum или любой другой монете. Что это? Это криптовалюты, названия которых заимствованы из криптографии — концепции, лежащей в основе этих монет. Но зачем нам эти цифровые монеты? Помимо отправки денег друзьям или получения денег от них, эти монеты используются, чтобы стимулировать компьютеры подключаться к блокчейн-сети и продолжать в ней работать. Вау! Слишком много сложных слов!! Давайте вернемся назад к простому примеру с парковкой.

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

Давайте решим эту проблему с помощью PayPal (или любого другого цифрового кошелька). Владелец гаража использует свой адрес электронной почты PayPal для получения платежей. Таким образом, ему не придется раскрывать свои банковские реквизиты незнакомым людям. Заметили ли вы в этой ситуации что-нибудь, кроме конфиденциальности данных? Да! Анонимность. Используя адрес электронной почты для получения платежей, владелец гаража может оставаться абсолютно анонимным для арендатора, а арендаторы для арендодателя, поскольку они тоже будут переводить деньги со своего счета Paypal.

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

Если вы дочитали до этого момента, то наверняка, думаете, что знаете, как перевести деньги из банка в Paypal, но как это происходит в мире криптографии? Давайте посмотрим!

Как появляется первая монета и новые монеты
Ровно так же, как деньги переводятся из банка в Paypal, вы можете перевести деньги из банка на свой криптокошелек, купив монеты на какой-нибудь зарегистрированной бирже. Но нас интересует вопрос, как появилась самая первая монета и как в системе появляются новые? Прежде чем ответить на него, давайте рассмотрим еще один термин «майнинг».

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

Итак, правило этой игры в вычисления звучит так: выигрывает тот, кто первым вычислит верное значение. (Прямо как вопрос викторины, на который вы знаете ответ!) Весь этот процесс вычисления правильной пары замок-ключ называется «майнинг».

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

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

Майнинг в криптомире
Как вы знаете из предыдущей статьи, все блоки в цепочке блоков защищены хэшами, которые вычисляются на основе хэшей предыдущего блока и данных текущего блока, таким образом, связывая все блоки в цепочку. Это вычисление хэша является ресурсоемким, потому что оно требует от вас «перебрать» все возможные значения, чтобы получить правильный хэш (точно так же, как это делали владельцы гаража). Таким образом, чем больше значений вы можете попробовать в секунду, тем быстрее вы сможете рассчитать правильный хэш. (Именно поэтому вы могли видеть, как ваши друзья покупали большие устройства для добычи биткоина или любых других криптовалют).

Но снова возникает тот же вопрос: зачем кому-то одалживать ресурсы своего компьютера какой-то криптовалютной сети для выполнения этих вычислений? Правильно! Ответ все тот же — заинтересованность в вознаграждении. Компьютер, который сможет вычислить правильный хэш первым, получает вознаграждение в виде новой монеты. Этой новой монеты раньше не существовало. Именно так они и попадают в систему.

Почему монеты «добывают»?
Дословно «майнинг» — это «добыча полезных ископаемых». Все криптовалюты считаются цифровыми активами или товарами — такими же как золото или серебро или любой другой металл или минеральное сырье. А схожесть процесса их добычи дала название этому новому явлению.

Теперь давайте уйдем из мира криптовалют и погрузимся в разработку блокчейн-приложений!

Децентрализованные приложения (DApps) и смарт-контракты
Если вы помните, в первой части этой статьи я упоминал об исследователях, которые используют преимущества лежащей в основе биткоина технологии (биткоин построен на блокчейне) не только для создания криптовалют, но и для создания различных приложений. Здесь будет уместно рассказать, что такое смарт-контракты. Прежде чем мы перейдем к техническим аспектам, давайте вернемся к нашему примеру с парковкой. На секунду предположим, что победители в процессе майнинга не получают призовых денег (Почему? Об этом мы поговорим в следующем разделе).

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

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

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

Но смарт-контракты предназначены не только для денежных транзакций — вы можете использовать их для хранения или изменения данных в цепочке блоков, которая может быть чем угодно: аналогом Youtube для видео (например, Viuly), аналогом Dropbox для хранения файлов (например, Storj.io или SiaTech) или даже игрой типа Cryptokitties. Список вариантов использования бесконечен!

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

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

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