Итак, вы думаете, вам нужен блокчейн? (часть 1)

0_7dQbfTvMg98hpqwh

Путь к «блокчейн-просветлению»

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

Будучи ветераном¹ криптоиндустрии, я прошёл несколько стадий понимания блокчейн-технологии – своего рода «путь к блокчейн-просветлению».

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

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

Первое, что нужно разъяснить – это разницу между понятиями «блокчейна» и «Биткойна». Большинство людей ставят между ними знак равенства. Но в действительности блокчейн (буквально, «цепь блоков») является лишь одним из четырёх ключевых элементов, которые придают Биткойну его ценность и делают его тем, чем он является: свободной от цензуры, саморегулируемой электронной валютой.

[1] Под ветераном блокчейна я имею в виду человека, проработавшего в этой сфере не менее 9 месяцев. Не путать с блокчейн-экспертом, проработавшим в этой сфере от 9 недель. Мой опыт работы в области блокчейн-технологий составляет три года. И я постепенно начинаю понимать, что почти ничего не знаю об этой технологии.

Четыре свойства Биткойна

Как мы увидим, в самом блокчейне нет ничего особенного. Но в сочетании с тремя другими технологиями, лежащими в основе Биткойна, он обладает огромным потенциалом.

5

Свойства Биткойна

Блокчейны

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

0_n1a8_vDWeaoLkj4K_

Твоя база данных может быть быстрее и дешевле, зато моя – на блокчейне!

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

Каждая запись в базе данных содержит хэш (уникальный отпечаток данных) предыдущей записи. Даже при незначительном изменении исходной записи, этот хэш полностью меняется. Это значит, что никто не может незаметно от всех отредактировать внесённую в базу данных запись. Заподозрив неладное, можно пересчитать хэш записи и проверить, чтобы он совпадал с данными, зафиксированными в следующей записи в цепочке.

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

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

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

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

[1] Помните, что это не обеспечивает устойчивости к взлому. Чтобы её достичь, нам нужно добавить к блокчейну несколько дополнительных свойств, присущих Биткойну.

Открытые данные

Вторым столпом Биткойна является (распределённый) открытый реестр. Но сначала короткое отступление:

До того как Сатоши Накамото опубликовал свою «Белую книгу», основной проблемой цифровых валют была проблема двойной траты. Как обеспечить уникальность цифрового кода, если создание его абсолютной копии не составляет никакого труда? Что помешает Алисе создать копии своих цифровых долларов и на одни из них купить что-то у Боба, а на другие – у Чарли?

До появления Биткойна единственным способом решения этой проблемы было наличие доверенного посредника. Эти посредники (мы называем их банками) ведут учёт всех совершённых транзакций. Если Алиса попытается рассчитаться с Чарли копией цифрового доллара, банк может вмешаться и сказать: «Нет-нет, этот доллар уже принадлежит Бобу».

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

Но Сатоши понял, что можно обойтись без банков, если использовать в качестве системы учёта публичную или одноранговую (peer-to-peer) сеть.

Ко всеобщему удивлению оказалось, что распределённая система с публичными записями способствует добросовестности участников сети. Хороший пример такой системы – Википедия¹.

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

giphy.gif

Похожая идея заложена и в основу Биткойна. История транзакций (реестр) сети хранится на огромном количестве компьютеров (узлов) и каждый компьютер постоянно сверяет данные реестра с остальными узлами. Официальной признаётся та версия истории платежей, которая подтверждается более чем 50% копий реестра. До тех пор, пока более 50% узлов сети действуют добросовестно, система остаётся надёжной. Поэтому в ней нет надобности доверять посредникам и банкам, равно как и платить миллионы долларов их топ-менеджерам.

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

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

Цифровая подпись

Третья часть пазла Биткойна – это цифровая подпись. Она появилась ещё в 70-х гг. и получила широкое распространение в конце 80-х. Помните Lotus Notes? Значит, вы старше меня, потому что я не помню. Он был прототипом современных офисных приложений и имел возможность добавления автоматической подписи. Так вы могли быть уверены, что письмо с просьбой выйти на работу в субботу написал ваш начальник, а не шутник из бухгалтерии.

4.png

Да, это было бы отлично

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

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

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

К несчастью, Чарли из бухгалтерии перехватил сообщение Алисы и с помощью открытого ключа Боба (он ведь всё-таки публичный) изменил сообщение на следующее: «Компания решила отказаться от TPS». Это приведёт к печальным событиям начиная с того, что Боб расскажет всем, что отчёты TPS теперь можно использовать в качестве туалетной бумаги, и заканчивая тем, что он вылетит с работы.

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

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

К счастью, у Боба есть друг Дейв, который знаком и с Алисой. Он надёжный парень. В качестве независимого эксперта он проверяет и подтверждает подлинность открытого ключа Алисы, съездив к ней домой и попросив её показать свою копию ключа. Затем он возвращается к Бобу и за небольшую плату (он хороший парень, но не занимается благотворительностью!) подтверждает, что ключи на компьютерах Боба и Алисы одинаковые.

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

Цифровая подпись – отличная вещь, но её использование отдельно от других инструментов защиты данных обычно приводит к неприятностям. У компании Symantec возникли проблемы, когда они выпустили ошибочные сертификаты. Представьте, что Дейв обленился и, сказав, что едет проверить ключи Алисы, отправился в гольф-клуб.

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

А если механизм обнаружения взломов в базе данных будет работать при помощи цепочек взаимосвязанных сертификатов, можно получить примерно то, что пытается создать платформа keybase.io: сеть доверия для безопасного создания и поддержания цифровой идентичности в интернете.

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

 

Продолжение следует…

Источник



Рубрики:Новичкам, Теория

Метки: ,

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

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

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s