блокчейн

работа биткоина: страшная правда или сказка о структуре

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

работа биткоина: страшная правда или сказка о структуре

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

 А как же дело обстоит в биткоине?

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

Вход (in) это средства, которые нам кто-то направил. Выход (out) это средства которые мы отправили. Для входа и выхода существуют ряд важных правил.

  • Выходов, как и входов может быть сколько угодно.
  • Сумма выходов не должна превышать сумму входов.
  • Каждых вход может быть использован только один раз.

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

Итак, давай рассмотрим нашу транзакцию изнутри.

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

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

Ранее мы говорили, что скрипты это две части одной программы. Так вот магия начинается тогда, когда эти две части соединяются и начинают работать вместе.

Что же при этом происходит?

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

Если все соответствует, то получатель распоряжается полученными средствами по своему усмотрению.

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

Теперь давай вернемся к модели биткоина, которая отличается от модели основанной банком, потому что как только что мы выяснили биткоином в сущности никто не владеет. В данный момент весь блокчейн это набор «сейфов», которые не успели открыть. Это и есть модель биткоина.

История биткоина

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

Итак, начнем.

Собственно, ключ к ответу на вопрос почему же здесь все работает. Он и прост, и сложен одновременно. Заключается он в первой части слова криптовалюта. Kryptos- это в переводе от греческого есть тайный, скрытный. И родственная от него-криптография (шифрование). История криптографии насчитывает уже более четырех тысяч лет. А все потому что как только люди научились информацию записывать им понадобилось ее скрывать. Вот такой блин парадокс. Военные донесения, чертежи, изобретения, рецепты магических снадобий-все это требовало сокрытия от заклятого врага или конкурентов. Было изобретено множество способов шифрования информации: от самых простых до действительно сложных и заковыристых. Однако до середины 70 годов прошлого века не существовало способа, который мог бы обеспечить сто процентную надежность сохранения информации. Осенью 1974 года произошло событие, которое стало переломной точкой шифрографии и заложило основы появления нового метода шифрования, что в свою очередь сделало возможным появление криптовалюты. Молодой програмист Уилбфод  Дифи ожидал встречи с инженером-электронщиком Мартином Хэлмоном. Хелмон не очень-то хотел приходить на встречу, поскольку ни, а каком Дифи в научных кругах не слыхивал. Вот только назойливый программист просил встречу уже полгода, а темой встречи должна была стать криптография-давняя страсть Мартина. И он согласился попить кофе. Вот только сразу все пошло не по плану. Вместо получасового кофе-брейка получилась долгая много часовая беседа, которая постепенно перетекла в дом к Мартину. Благодаря этой встрече появилась криптография с открытым ключом. Ключ шифрования – это набор символов, который смешивается с исходным текстом сообщения особым образом называемым алгоритмом шифрования. В результате чего получается совершенно новый текст, прочитать который можно только если знать ключ и алгоритм.

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

Вот так это выглядит.

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

Этот принцип был распространен до встречи Дифи и Хелмона. Однако в нем была одна критическая проблема: как же передать новый ключ если всё-таки назойливый отец раскусил схему? Дифи и Хелмон придумали новый способ без необходимости передавания нового ключа для расшифрования который стал новым подходом в системе шифрования. И это была криптография с открытым ключом. Как же им это удалось? Вместо одного ключа они стали использовать пару. Один ключ секретный (он же приватный) служит для расшифрования сообщения получателем и никогда и никому не передается. Второй ключ-открытый (мы называем его публичным) служит для шифрования сообщения отправителем и может свободно передаваться по любым каналам связи. Такой подход шифрования называется шифрование с открытым ключом или ассиметричное шифрование.

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

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

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

работа биткоина  (страшная правда или сказка о структуре): заключение

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

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

На этом заканчиваю. Удачи.

Один комментарий

Leave a Reply

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