Статьи Брамы
  • 554
  • Биткойн для чайников. Часть I. Асимметричное Шифрование.

    Кроме колличественной концепции стоимости денег Биткойн объединяет в себе несколько компьютерных технологий, и начнём мы с криптографии, которая и определяет новый класс электронных денег как «крипто» — валюты.

    Часть I. АСИММЕТРИЧНЫЕ КЛЮЧИ

    В основе своей биткойн — открытый протокол. Под «протоколом» имеется ввиду набор правил, которым должно соответствовать все программное обеспечение Биткойна. Говоря «Открытый», подразумевается, что протокол, или набор правил, публично доступны для просмотра. Этот протокол позволяет всей совокупности программ сети Биткойна («клиентам биткойна») обмениваться информацией друг с другом через Интернет в стандартизованной форме.

    Здесь возникает первый же вопрос. Если биткойн базируется на программном обеспечении с открытым протоколом, или набором правил, то что мешает написать программное обеспечение, которое нарушает правила? Ответ — ничего. Любой программист может написать программное обеспечение, которое использует протокол биткойна и взаимодействует с другим программным обеспечением биткойна через Интернет, которое пытается «нарушить правила» в свою пользу, однако клиенты, которые не соответствуют протоколу биткойна, игнорируются другими клиентами.

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

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

    Прежде чем приступить к объяснению, что такое асимметричная криптография, давайте представим себе проблему. Скажем, Штирлиц из Берлина хочет отправить сообщение в Ставку Главнокомандования. Содержание письма совершенно секретно. Как ему отправить письмо, не рискуя тем, что кто-то еще по пути может его перехватить и ознакомиться с его содержанием? Без асимметричной криптографии единственный способ сделать это — и для Штирлица, и для Москвы иметь предварительное договорённость о способе его кодировки. Затем письмо может быть зашифровано и отослано, а в Ставке по полученнии его можно тут-же расшифровать с использованием условленного ключа. Но что, если у Штирлица и Ставки нет заранее подготовленного ключа шифрования; что если в Ставке объявился «крот» и сдал все ключи Абверу? В этом случае без асимметричной криптографии – железный провал резидентуры.

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

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

    Итак, теперь мы знаем, как Ставка может отправить письмо Штирлицу надежно, но когда Штирлиц получит письмо, как он может быть уверен, что письмо было отправлено Ставкой, а не Абвером? Оказывается, асимметричные ключи решают и эту проблему. Ставка так-же генерирует пару ключей: открытый и закрытый. Как и Штирлиц, Ставка раскрывает свой открытый ключ миру. Затем Ставка «подписывает» содержимое своего письма, используя свой секретный ключ. Получив письмо, Штирлиц, используя открытый ключ Ставки, может определить, что письмо действительно подписано Ставкой, поскольку никто другой не мог подписать письмо без доступа к её закрытому ключу.

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



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

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

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

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

    • нет
    • 0
    • +22

    21 комментарий

    avatar
    Не. В пятницу вечером мой мозг это не осилит. Попозже прочту.
    0
    avatar
    Красяво можно положить весь механизм.
    Не тем майнеры занимаются.
    Но это просто не может не произойти. Вопрос как быстро.
    0
    avatar
    Как-то вы, пане Зиг, так крепко зашифровали свой камент, что я голову сломал в попытках его понять.
    0
    avatar
    +2
    avatar
    :) ну да. Херачь открытым текстом и не бойся, что де нить в тирольских селениях хоть один навахо затерялся. Тем более грамотный.
    0
    avatar
    Спасибо. Очень интересно.
    0
    avatar
    Я так понимаю, что квантовые компьютеры смогут взломать асимметричное шифрование (и любую задачу, сводящуюся к перебору) — когда их реально делать научатся и не на 50 кубитах.
    0
    avatar
    Да, это так.
    0
    avatar
    Это ж сколько мне надо выпить, чтобы врубиться в эту хренотень. Ушел в замчивости. Без собутыльника Пела нам тут не обойтись. А он, падлюка, сбежал из Беларуси.
    0
    avatar
    Главное не паниковать и не спешить. Если с первого раза не зашло, — повторить заход. Было бы желание разобраться…

    Кстати, в какие края подался пане Пел?
    0
    avatar
    Кстати, в какие края подался пане Пел?
    Насколько я понял, он вроде как моряк. Мот в море вышел. Кстати, а на кораблях есть инет? Через спутник? Дорого наверное.
    0
    avatar
    С кодировкой то всё понятно. Хотел уточнить только на счёт протокола. В моей юности, когда я немножко работал программером, протоколом назывались не правила всего ПО, а правила обмена информацией. Стандарт, так сказать кусочка передаваемой информации. Правила, по которым он кодируется для передачи и правила восстановления потерянной инфы при передаче.
    0
    avatar
    Я в упор не пойму, где этот биткойн приобретает стоимость. Видимо это во второй части.
    +1
    avatar
    Я в упор не пойму, где этот биткойн приобретает стоимость.
    И я тоже в задумчивости. Да, это вроде как работает. Везде, где ни читал про него, приводится куча всяких формул, схем на фоне задумчивой аутичной рожи виталика с модемом, а как вот этот блокчейн приобретает конкретную стоимость — вопрос.

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

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

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

    Срабатывает обезьяний эффект — народ ломанулся потому, что все ломанулись. В общем чисто МММ.
    +1
    avatar
    Стоимость приобретается как и во всём остальном — умозрительно. Всё стоит ровно столько, сколько мы считаем что оно стоит. Сегодня, когда биткойн в реальной экономике практически не используется (за исключением покупок на Dark NET) его стоимость — чистейшая, как слеза, спекуляция.

    Т.е. его ценность в возможности хорошо и быстро погреть ручки. Пока за кадром то, что и опалить их можно ровно с таким же успехом.
    +1
    avatar
    Таки да. Когда то мавродиевки много стоили, а потом люди с крыши вниз головой сигали.

    0
    avatar
    1 февраля 1994 года акции поступили в свободную продажу. Продавались они сначала по номиналу в одну тысячу рублей.

    4 августа 1994 года цены на билеты выросли в 127 раз (по сравнению с первоначальной стоимостью)

    Та же байда, что и с биткойном. Хто не успеет потом волосы на жопе рвать будет.

    Шурык стопудова вляпается. Потом обвинит во всём 5 колонну, буржуев, плафоны, Россию, народец и подымет коммуналку.

    А мот и не полезет. Шота на Теслу запал. Построим завод, будем закупать детали у Теслы, собирать тут с кривыми зазорами и по цене будет как полторы Теслы. Короче, сё равно подымет коммуналку.
    +1
    avatar
    Та же байда, что и с биткойном
    Тут такой момент, если нахаляву намайнить — та и флаг с ними.
    А вот если за реальные деньги покупать фантик(вернее намагниченность на НМЖД, считающуюся фантиком), можно и свинцом самоотравиться.
    0
    avatar
    Концептуально слишком серьёзная штука. Для описания придётся вывешивать ещё минимум пару глав. Поэтому не думаю, что всё это закручено на 5 минут.
    0
    avatar
    В данном случае протокол передачи — старый добрый TCP/IP.
    0
    avatar
    — Один «Газпром», пожалуйста
    — С вас 1,5 биткоина
    — С 2-х будет сдачи?
    — «Роснефть» на сдачу возьмёте?
    — Не надо. Постройте дорогу в Питер. (Via Санкционный фрукт)

    с просторов Фейсбука
    +2
    У нас вот как принято: только зарегистрированные и авторизованные пользователи могут делиться своим мнением, извините.