Начинаем знакомство с тем, как устроена и как работает децентрализованная электронная денежная система Биткоин. Начало смотрите здесь: Введение в Биткоин: Краткое техническое руководство
Предметом этой публикации будет собственно сеть Биткоина или Биткоин-сеть.
Что такое сеть Bitcoin?
Сеть Bitcoin или Биткоин-сеть состоит из всех, кто работает с программным обеспечением Bitcoin (более известным как «биткоин-клиент»).
Фактически, Биткоин — это сеть людей (компьютеров), работающих с одной и той же компьютерной программой.
Что делает сеть Bitcoin?
Люди (точнее — биткоин-клиенты) в сети общаются друг с другом. Под «общением» подразумевается передача информации о том, что происходит в других частях сети. Это делается путем отправки друг другу сообщений.
Например, сообщение может быть информацией о новой транзакции. Обмен информацией (например, о транзакции) — это то, что позволяет всем в сети поддерживать актуальность, что очень важно, если вы хотите использовать цифровую валюту в Интернете. В конце концов, все в сети знают о новой сделке. Это хорошая сеть!
Сеть Bitcoin описывается как «одноранговая» или peer-to-peer (p2p) сеть (пиринговая сеть), потому что:
- Все связаны друг с другом, так что это действительно сеть.
- Все в сети равноправны, т.е. все одного ранга (peer — равный, одноранговый).
Кто является участником сети?
Как уже упоминалось, любой, у кого есть активное подключение к Интернету и работает биткоин-клиент.
Действительно, любой может присоединиться к сети Bitcoin. Все что нужно для этого — это подключение к интернету и биткоин-клиент, который является частью программного обеспечения, как и любая другая программа.
И как только вы начнете работать, ваш компьютер будут называть узлом (node) в сети Биткоин.
Как присоединиться к сети?
Всё, что вам нужно сделать, это загрузить (и запустить) биткоин-клиент. При запуске клиент подключится к другим узлам сети и начнет загрузку полной копии блокчейна (файла, содержащего все проверенные транзакции). После этого клиент начнет получать транзакции с других узлов и ретранслировать их по сети.
Поздравляю, вы создали полный узел (full node) в сети Биткоин.
Узлы
(компьютеры с запущенной программой биткоин-клиент)
Что такое узел (node)?
Узел (node) — это просто компьютер, на котором запущена программа Bitcoin (биткоин-клиент). Что еще более важно, узел подключен к другим компьютерам (под управлением той же программы) для создания сети Bitcoin. Другими словами, сеть Bitcoin состоит из узлов (node).
Что делает узел?
Узел имеет три назначения:
- Следовать правилам.
- Делиться информацией.
- Хранить копию подтвержденных транзакций.
Рассмотрим все три задания узла подробнее.
1. Следовать правилам
Каждый узел (биткоин-клиент) запрограммирован на выполнение набора правил. Следуя этим правилам, узел может проверять транзакции, которые он получает, и ретранслировать их, если с ними всё в порядке. При возникновении каких-либо проблем транзакция не передается далее в сеть Bitcoin.
Например, одно из правил заключается в том, что человек (владелец биткоин-адреса) должен владеть равным или большим количеством биткоинов, чем он пытается отправить. Поэтому, если узел получает транзакцию, в которой кто-то пытался отправить больше биткоинов, чем у него есть, транзакция не будет передана другим узлам.
2. Делиться информацией
Основная работа узла заключается в обмене информацией с другими узлами, и квинтэссенцией информации, которую узел передает, являются транзакции.
Есть два типа транзакций, которые передают узлы:
- Новые (свежие) транзакции — транзакции, которые недавно поступили в сеть.
- Подтвержденные транзакции — транзакции, которые были «подтверждены» и записаны в файл. Они совместно используются в блоках транзакций, а не по отдельности.
Не беспокойтесь сейчас о разнице между этими двумя типами транзакций. Все станет ясно в главах о Майнинге и Блоках.
3. Хранить копию подтвержденных транзакций
Как уже упоминалось, каждый узел также хранит блоки подтвержденных транзакций. Они хранятся вместе в файле (базе данных) под названием блокчейн (blockchain).
Каждый узел также хранит копию блокчейна.
Новые транзакции передаются по сети до тех пор, пока они не будут вставлены в цепочку блоков, которая является регистром (ledger) подтвержденных транзакций.
Каждый узел имеет копию блокчейна для безопасного хранения и делится ею с другими узлами, если их копия не обновлена.
Процесс добавления новых транзакций в блокчейн называется Майнинг (Mining).
Следует упомянуть, что каждый узел является автономным.
Имеется ввиду, что когда вы запускаете биткоин-клиент, сеть не «говорит вам, что делать». Вместо этого ваш биткоин-клиент уже знает, что делать, и он сам принимает решения.
Таким образом, вся Биткоин-сеть состоит из узлов, принимающих свои собственные решения, но каждый из них принимает те же решения, что и другие, что делает её полностью децентрализованной, но мощной сетью.
Даже если бы все остальные узлы были бы отключены, ваш единственный узел поддерживал бы всю Биткоин-сеть.
Нужно ли быть узлом, чтобы пользоваться биткоинами?
Нет! Вы можете отправлять и получать биткоины, не будучи узлом. Вам просто нужно отправить транзакцию в Биткоин-сеть, и всё готово.
Если вы отправите сообщение о транзакции одному узлу, оно в конечном итоге распространится по всей сети.
Например, если вы используете веб-кошелек, он будет передавать ваши транзакции в Биткоин-сеть, не будучи узлом.
* * *
В следующей публикации будет рассмотрено, как работает Майнинг.
Подписывайтесь на мой аккаунт @uanix и голосуйте за меня, как делегата Голоса: https://golos.id/~witnesses
Hello, @uanix. You received 100% upvote from UPRomo for burned GBG. Promoted this post in the queue: @ms-boss.
Service added about 19.033 GBG to your post.
The instruction for burning, for promotion or a drop of posts.
Invest in UPRomo and promote increase in number of the burned GBG.
Agreement on the use of service UPRomo.
Здравствуйте, @uanix. Вы получили 100% апвот от UPRomo за сожженные GBG. Продвигали этот пост в очереди: @ms-boss.
Сервис прибавил к вашему посту примерно 19.033 GBG.
Инструкция по сжиганию для продвижения или задвигания постов.
Инвестируйте в UPRomo и способствуйте увеличению количества сжигаемых GBG.
Соглашение об использовании UPRomo.
Хорошо написано!
Искренне ваш @fomka
@fomka поддержите меня, как делегата Голоса: https://golos.id/~witnesses