Как клиенты Bitcoin находят друг друга?

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

120 голосов | спросил Ning 1 Mayam12 2012, 09:31:52

2 ответа


90

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

В случае, если у вас нет ранее известных IP-адресов или они не используются, основным методом резервного копирования является использование DNS-семян. Поддерживаются несколько имен узлов (например, dnsseed.bluematt.me ), которые разрешают список IP-адресов, известных как запущенные узлы. Если это не удается, клиент имеет список IP-адресов, которые, как полагают, указывают на стабильные узлы, жестко закодированные в нем.

Один из методов, который использовался, но с тех пор был оставлен, заключался в том, что клиенты находили друг друга с помощью IRC-сервера. Это сработало похоже на трекер BitTorrent.

Как только вы подключитесь к сети, вы начнете получать списки IP-адресов и портов известных клиентов.

ответил David Schwartz 1 Mayam12 2012, 10:15:46
39

Существует несколько методов, которые клиент может использовать . Однако, в отличие от очень хорошего ответа Дэвида, я расскажу о них в хронологическом порядке:

  • Один из способов, которым клиенты узнают о других клиентах, - это подключение к другому клиенту и выдача команды «getaddr». У стандартного клиента всегда была эта способность. Однако есть проблема с этим - как вы узнаете о клиенте # 1?
  • Поселок IRC. Это то, что было с первой версии. Это было просто реализовать, но в конечном итоге не масштабировалось. Первая версия связана с freenode. Затем узлы биткойнов начали получать k-lined . Более поздние версии подключены к lfnet. Затем lfnet опустился, и полностью отключена поддержка IRC. DNS был вокруг этого момента, так что это было хорошо .
  • IP-адреса известных узлов. Это было в клиенте с июня 2010 года. Все еще в клиенте Bitcoin, хотя точные IP-адреса меняются каждый раз часто.
  • Поселение DNS. Это было с клиентом с марта 2011 года. Это проще масштабировать, потому что DNS уже построен для обработки десятков из тысяч подключений.
ответил Nick ODell 28 Mayam13 2013, 10:41:39

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132