Bitcoin — это одновременно набор публичных правил, всемирная сеть компьютеров и денежная единица с обозначением BTC. Он позволяет передавать ценность напрямую между людьми без единого банка или компании, ведущих общий реестр. Кошелёк готовит и подписывает платёж, узлы независимо проверяют его, а майнинг помогает включать действительные транзакции в общую историю. Один bitcoin делится на 100 000 000 satoshi.
Bitcoin — это не одно приложение, сайт или компания. Это открытый протокол — публично описанные правила, по которым взаимодействуют тысячи независимых компьютеров. Тем же словом называют эту сеть и её денежную единицу. Поэтому, говоря «я использую Bitcoin», человек может иметь в виду сеть; говоря «я отправляю bitcoin», он обычно имеет в виду единицу BTC. Никому не нужно разрешение центрального оператора, чтобы скачать программу, проверять историю или принять платёж. Это не означает, что в сети нет правил. Наоборот: правила точны, и каждый Full Node проверяет их самостоятельно. [1] [3]
Bitcoin не хранится в телефоне как файл и не лежит внутри кошелька как монета. Сеть содержит общую историю транзакций, а в ней — записи о суммах, которые ещё можно потратить. Эти записи называются UTXO. Кошелёк находит их, складывает и показывает результат как баланс. Тот, у кого есть необходимые криптографические ключи, может выполнить условия их следующей траты. На этом основано самостоятельное хранение: пользователь сам владеет средствами авторизации платежа. Если bitcoin остаётся на бирже или в другом сервисе, пользователь обычно не контролирует ключи напрямую, а его баланс представляет собой требование к оператору. Технический контроль ключа и юридическое право собственности — разные вопросы. [5] [7]
Кошелёк помогает создавать адреса, следить за доступными средствами и подписывать транзакции. Адрес — это информация, которую можно безопасно передать плательщику: она говорит, как заблокировать новую сумму для получателя. Это не имя пользователя, не банковский счёт и не секретный пароль. Приватный ключ, напротив, является тайной, которой нельзя делиться. Кошелёк создаёт с его помощью цифровую подпись, а сеть может проверить, что подпись соответствует условиям траты, не узнавая сам ключ. Некоторые условия могут требовать нескольких подписей или ожидания до определённого времени. Получив нужные ключи, человек может создать действительную транзакцию; сеть не определит, подписал ли её владелец, вор или тот, кого заставили подписать. [5] [7]
Получатель сначала отправляет адрес или платёжный запрос. Кошелёк отправителя выбирает подходящие UTXO, создаёт выход для получателя, а возможную сдачу возвращает на новый адрес под контролем отправителя. Например, имея выход на 100 000 satoshi, он может создать 60 000 satoshi для получателя, 39 000 satoshi как сдачу и оставить 1 000 satoshi в качестве комиссии; это лишь наглядный пример, а не рекомендуемая ставка. После проверки суммы, получателя и комиссии кошелёк подписывает транзакцию и передаёт её в сеть. Узлы проверяют её и могут переслать дальше. Действительная транзакция обычно ждёт в локальном Mempool узла, пока майнер не включит её в блок. [5] [8]
Цифровые данные легко копировать. Поэтому одной правильной подписи недостаточно: владелец ключа может подписать две разные транзакции, которые пытаются потратить один и тот же UTXO. Один узел может первым получить первый платёж, другой — второй. Обе подписи могут быть действительными, но в одну действительную историю может войти не более одной транзакции. Это попытка двойной траты. Bitcoin решает проблему не тем, что помечает файлы монет как некопируемые. Участники проверяют совместно упорядоченную историю блоков. Какая из конфликтующих транзакций в итоге сохранится, решают не картинка в кошельке, не число узлов, только что увидевших её, и не центральный администратор. [1]
Каждый Full Node проверяет полученные транзакции и блоки по правилам программного обеспечения, выбранного его оператором. Например, он убеждается, что входы действительно существуют и ещё не были потрачены, подписи выполняют условия, а транзакция не создаёт новые единицы из ничего. Разработчики могут предложить и опубликовать новый код, но не могут удалённо включить его на чужих узлах. Майнеры могут предлагать блоки, однако узлы отклонят недействительный блок. Биржи, кошельки и другие компании могут влиять на своих клиентов, но не могут единолично переписать правила всей сети. Поэтому у Bitcoin нет одного директора; он работает благодаря тому, что многие участники снова и снова выполняют одинаковые независимые проверки. [2] [4]
Майнеры собирают действительные транзакции в блоки-кандидаты и соревнуются в поиске Proof of Work — результата трудоёмких повторяющихся вычислений. Успешный блок ссылается на предыдущий, и постепенно образуется связанная история. Узел сначала проверяет, соблюдает ли каждая ветвь правила, и только потом среди действительных ветвей предпочитает ту, где накоплено больше всего работы. Благодаря этому переписывать старые платежи становится всё дороже. Майнинг не даёт майнеру права тратить чужой bitcoin или создавать произвольную награду. Большая доля вычислительной мощности может нарушать порядок транзакций или подтверждений, но не сделает недействительный блок действительным для узла, который продолжает применять исходные правила. [4]
Пока транзакция ждёт вне блока, она не подтверждена. Включение в блок даёт ей первое подтверждение, а каждый следующий блок обычно увеличивает стоимость переписывания этой части истории. Поэтому подтверждения — не печать абсолютной необратимости, а растущая степень уверенности. Средний десятиминутный интервал — долгосрочная цель сети, а не расписание: иногда следующий блок появляется быстро, иногда ожидание намного дольше. В исключительных случаях реорганизация может удалить один из последних блоков, и транзакция снова станет неподтверждённой или будет заменена конфликтующей тратой. Разумное число подтверждений зависит от стоимости и риска операции. У Bitcoin нет централизованной отмены: добровольный возврат — это новая транзакция. [1] [4]
Каждый блок начинается с особой транзакции Coinbase Transaction. Она позволяет майнеру получить субсидию блока и комиссии включённых в него транзакций. Только субсидия создаёт новые единицы; комиссии — это уже существующий bitcoin, переданный пользователями. Субсидия начиналась с 50 BTC за блок и уменьшается вдвое каждые 210 000 блоков во время события Halving. Так правила задают предсказуемый график эмиссии, а округление до целых satoshi удерживает сумму всех субсидий ниже 21 миллиона BTC. Каждый Full Node проверяет, что майнер не присвоил больше, чем разрешают правила. Ограниченное число единиц само по себе не гарантирует цену, а потерянные ключи не вызывают замещающую эмиссию. [4]
Bitcoin позволяет хранить и передавать ценность без обязательного хранителя и проверять правила собственным узлом. Но эта возможность не снимает с пользователя ответственность. Нет органа, который сбросит потерянный или раскрытый ключ, исправит ошибочный адрес или автоматически отменит мошеннический платёж. Публичная история также не анонимна: адреса не содержат имён, но платежи можно связывать друг с другом, а иногда и с личностью, известной бирже или продавцу. Самостоятельное хранение, независимая проверка и защита приватности — три разные задачи. Bitcoin также не гарантирует рост цены, дешёвую комиссию в любой момент или мгновенное подтверждение. Он даёт пользователю инструменты и проверяемые правила; безопасное использование всё равно требует внимания, резервной копии и понимания конкретного риска. [6] [7]
Для полной картины прочитайте эту статью вместе с Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Proof of Work, Full Node, 21 Million. На эту статью также ссылаются Satoshi Nakamoto, Bitcoin Whitepaper, Genesis Block, Full Node.