Биткойн – деньги для всех - [10]

Шрифт
Интервал

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


Рис. 2. Асимметричное шифрование. Алиса посылает подписанное зашифрованное сообщение Бобу


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

Давайте рассмотрим наш изначальный пример с чековой книжкой более подробно, поскольку теперь мы понимаем идею открытого ключа. У меня есть 50 биткойнов на моем мобильном телефоне, и я хотел бы отправить их на мобильный телефон моего друга Джо. Сперва Джо нажимает кнопку на своем телефоне, чтобы сгенерировать новый биткойн-адрес. Хотя, на самом деле, он создает пару асимметричных ключей. Закрытый ключ хранится на телефоне Джо, а производная от открытого ключа (биткойн-адрес) отображается на экране и затем пересылается мне. Используя биткойн-адрес Джо, я начинаю транзакцию на своем телефоне, указывая сумму, которую хочу отправить ему. Затем я подписываю эту транзакцию цифровой подписью, используя мой закрытый ключ, и отправляю транзакцию в интернет. Помните, мы говорили, что выписать чек – это то же самое, что написать в банк письмо, разрешающее банку выделить средства с моего счета указанному человеку. В случае с биткойном, транзакция, в сущности, является публичным объявлением о передаче контроля над XBT 50, зарегистрированными на мой адрес, биткойн-адресу, который я указываю. Только мой закрытый ключ позволяет мне разрешить передачу биткойнов на адрес Джо, и я даю это разрешение, когда подписываю транзакцию цифровой подписью.

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


Рис. 3. Адам посылает Джо биткойны через биткойн-сеть

Глава 7. Хеширование

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

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

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

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


Рекомендуем почитать
Инвестор за выходные. Руководство по созданию пассивного дохода

Вокруг инвестиций много мифов. Одни говорят, что это слишком сложно и 90 % инвесторов теряют деньги. Другие убеждают в обратном: инвестировать можно безопасно, никакие знания не нужны, а начать стоило еще вчера. Правда, как всегда, посередине: чтобы не прогореть в самом начале, стоит познакомиться с основными правилами в мире инвестиций. Но это действительно несложно – вы справитесь за несколько дней. Автор книги «Инвестор за выходные» Семён Кибало к 30 годам добился полной финансовой независимости благодаря пассивному инвестированию.


Предоплаченные инструменты розничных платежей – от дорожного чека до электронных денег

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


Банковское дело

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


Банковский учет и операционная техника

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


Банковские операции

В курсе в краткой и доступной форме рассмотрены все основные вопросы, предусмотренные государственным образовательным стандартом и учебной программой по дисциплине «Банковские операции». В курсе впервые в отечественной литературе по банковскому делу подробно освещены вопросы: кредитного консалтинга, ритэйла, элитного банковского обслуживания, карьеры в банке и технике трудоустройства, как получить кредит, схема создания кредитной организации и другие актуальные темы.Автор книги, Шевчук Денис, имеет опыт работы в банках, коммерческих и государственных структурах на руководящих должностях, курирует программу «Кредитный консалтинг» в должности Заместителя генерального директора «Кредитный брокер INTERFINANCE» (ИПОТЕКА КРЕДИТОВАНИЕ БИЗНЕСА) (www.denisсredit.ru), имеет высшее экономическое и юридическое образование.


Государственные и муниципальные финансы: конспект лекций

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