Биткоин для «чайников»: лучшее руководство для непрограммистов, часть I

10 июня

Не все люди, знакомые с биткоином, понимают, как он работает. В серии из двух частей мы расскажем простыми словами о сложных механизмах работы биткоина.

ВОСР 1917 года, Вторая мировая война и ВОВ, конфискационная денежная реформа в СССР в 1991, деноминации, дефолт в России в 1998, мировой финансовый кризис в 2008 году… Каждый раз цена национальной валюты нашей страны терпела серьёзные изменения. В каждый период люди работали и накапливали валюту, а затем теряли её -  частично, либо полностью.

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

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

Иначе дело обстоит с золотом - металлом, который ценен в любом государстве.  Экономика страны может рухнуть, но стоимость золота не изменится. За 100 лет случалось множество кризисов и дефолтов в разных странах, но ценность золота только увеличилась:

Курс золота за последние 47 лет

Но золото нужно где-то хранить и его не так-то просто отправить кому-то в другой город, не говоря уже о другом государстве. Поэтому биткоин стал электронным золотом: вы контролируете своё богатство и можете легко его передать человеку, будь он хоть на Луне.

Узлы биткоина

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

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

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

Узлы, которые взаимодействуют с сетью, бывают двух типов: “полные” и “лёгкие”. “Полные” узлы хранят блокчейн от первого Genesis-блока до последнего, со всеми транзакциями. Зная историю транзакций от первого до последнего блока, легко определить, сколько у кого монет и предотвратить двойные расходы. Каждые 10 минут в биткоин-сети появляется новый блок и добавляется в базу. В новом блоке указывают хэш предыдущего блока и, таким образом, привязывают его к цепочке. Проверяя каждую транзакцию, проверяются все блоки: откуда монеты пришли и к кому переходили. "Полные" клиенты выполняют эти правила и гарантируют целостность, неизменность и безопасность сети. Для "полного клиента потребуется почти 200 GB, но после загрузки информация будет поступать только каждые 10 минут.

“Лёгкие” клиенты проще тем, что им не нужно хранить всю информацию блоков и не потребуется столько места для хранения. Правда, такие клиенты не могут полностью проверить транзакцию, а способны лишь транслировать её в сеть, где проверкой займутся “полные” клиенты. “Лёгкие” клиенты сохраняют только заголовки каждого блока, а не сами блоки. По заголовкам клиент проверяет транзакцию и транслирует. Каждый блок связан друг с другом, поэтому без заголовка будет непонятно, с чем связана эта транзакция. Чтобы идентифицировать транзакцию, клиент проверяет ключи.

Как проверяются транзакции?

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

Личный ключ (Private Key)

Личный ключ - доступ к адресу и всем биткоинам на нём. Состоит он из случайной комбинации чисел и латинских букв. Количество случайных символов зависит от формата: используя WIF, ключ начинается с цифры 5 и состоит из 51 символа, при стандарте Base64 у ключа будет 44 знака.

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

Публичный ключ

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

Адрес

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

Получить из публичного ключа личный ключ невозможно

Безопасность средств на адресе гарантирует односторонняя математическая функция. Функция легко получает публичный ключ из личного, а после этого - адрес. Для того, чтобы выполнить процесс в обратном порядке и получить из публичного ключа личный, потребуется вся энергия Солнца.

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

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

Итог

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

ДЗ
Зубов Денис
@zubovd
Войдите на сайт, чтобы оставить комментарий
0 комментариев
Популярные
Новые

Рассылка

Подписывайтесь на обновления и анонсы

18+
Москва, Берсеневская набережная 6/2
+7 (495) 118-41-48
2018 © Blockchain.ru, Сделано в Charmer
  • Дисклеймер
  • Пользовательское соглашение
  • Политика конфиденциальности

К сожалению, браузер, которым вы пользуйтесь, устарел и не позволяет корректно отображать сайт. Пожалуйста, установите любой из современных браузеров, например:

Google Chrome Firefox Opera