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

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

Команда 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 может сделать этот раскол полезным.

Источник



Categories: Безопасность, Инвестиции, Прилoжения, Теория, Технологии

Tags: , , ,

Leave a Reply

4 Комментарий на "Разделение сети"

Notify of
avatar
ы
Гость

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

Asd_Skala
Гость

Так что может сделать коре? Игнорировать транзакции и блоки от узлов с другими битами?

arvicco
Администратор

Да, если пир передает блоки с «неправильными» битами, Bitcoin Core 0.15+ заносит его в черный список и больше с ним не обменивается данными. К сожалению, этого все же недостаточно для полного разделения сетей, потому что необновленные ноды 0.14 и ниже не имеют такого механизма и будут продолжать транслировать блоки S2X после форка. А поскольку S2X/btc1 не имеет защиты транзакций от воспроизведения, можно ожидать атак повторения транзакций и того, что люди будут терять на них деньги. Как это было после ETH/ETC сплита.

Участник

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

wpDiscuz