Домой Новости Разделение сети

Разделение сети

30
0

Команда Bitcoin Core недавно полностью переключилась на запрос Мета Коралло, который призывает отсоединить определенные узлы в сети Биткоина. Это серьезно заинтересовало некоторых влиятельных экспертов. В этой статье я объясню, что значит «пул реквест».

Сеть Биткоина

До того, как переходить к объяснению самого понятия, необходимо немного отвлечься и вспомнить, или узнать, как функционирует сеть биткоина.

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

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

Связь с другими компьютерами

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

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

Сервисы

Через хендшейк, компьютеры показывают следующее: сетевой идентификатор («сетевую магию», используя язык специалистов) и сервисы, которыми они владеют.

Сетевой идентификатор нужен для того, чтобы знать наверняка, к одной ли сеть подключены разные компьютеры. Чаще всего, каждая криптовалюта имеет неповторимый сетевой идентификатор. Вот почему программное обеспечение лайткоина подключается только к Лайткоину, а никак не к Монеро.

К несчастью, биткоин ABC и Segwit2x, имеют одинаковый сетевой идентификатор (вероятно потому, что каждый хочет заменить биткоин).

Они оба хотят показать отличие от Bitcoin Core, демонстрируя программное обеспечение как собственный сервис. Биткоин ABC работает с бит 5, чтобы подтвердить, что на компьютере функционирует Bitcoin Cash. Программное обеспечение Segwit2x, btc1, работает с бит 7, чтобы уточнить, что он поддерживает Segwit2x.

Пулл Реквест так меняет Bitcoin Core 0.15, что все компьютеры с сервисами в битах 5 или 7 (6 или 8, если учитывать пиар и начало отсчета Мэтта как 1), будут автоматически отсоединены. В результате, компьютеры, с блоками ABC или btc1, будут отрезаны от компьютеров Биткоин Core 0.15.

Как следствие: компьютеры с Bitcoin Core будут в одной группе, а компьютеры с Bitcoin ABC/btc1 – в другой. Это и называется разделение сети.  Вместо одной, практически, получилось две сети.

Биткоин Cash/Биткоин ABC

Как известно, в целях защити от копирования, блоки и транзакции Bitcoin Cash являются недействительными для биткоина, и наоборот.

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

Поэтому, отключение компьютеров, работающих под управлением Bitcoin ABC (клиент Bitcoin Cash) и разделение сети, начинает обретать свой смысл.

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

Segwit2x/btc1

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

Мы знаем, что существует план, по которому уже в ноябре, лимит размера блока будет увеличен в два раза.  Это может привести к существованию двух монет: Bitcoin Core и Segwit2x.

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

Ну а если представить, что мы имеем две монеты, то раскол сети и вовсе становится положительным вариантом. В Segwit2x встроена защита от вытеснения, из-за чего Биткоин не будет воспринимать блоки btc1, и наоборот. Система такова, что при получении «нежелательного» блока компьютеры будут автоматически отсоединены.

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

Учитывая все выше перечисленное, разработчики Core считают, что недостатки такого сценария никак не могут превысить его сильные стороны.

Выводы

Что же это все значит? Bitcoin Core 0.15 сможет немного обезопасить сеть. Но сеть не станет абсолютно безопасной, так как другие реализации могут не последовать этому примеру и не принять обновление для своих компьютеров, из-за чего сеть, которую стоило бы отключить, может остаться подключенной.

Если Segwit2x делит сеть, то Bitcoin Core может сделать этот раскол полезным.

Источник: cryptocurrency.tech