Каковы минимальные системные требования для запуска полноценного узла Биткойн?

Я хочу построить низкопрофильную систему, работающую как полноценный биткойн-узел, т. е. просто работающую с Bitcoin Core 0.9+ и почти ничего больше. Какая минимальная система (с точки зрения энергопотребления) подойдет для этой задачи? Подойдет только биткойн, интерфейс или визуальное взаимодействие не нужны.

Я бы действительно предпочел что-то, где мне не нужно собирать все программное обеспечение вручную.

Думаю, подойдет простой маленький нетбук. Но могу ли я даже использовать что-то вроде Raspberry Pi? Или, может быть, какой-нибудь другой одноплатный компьютер ?

Я предполагаю, что для этого потребуется не менее 20-30 ГБ дискового пространства (для ОС + Bitcoin Core со всей цепочкой блоков). Есть ли минимальный объем оперативной памяти, необходимый для биткойнов?

Любопытно услышать, какую систему и ОС вы, ребята, порекомендуете для этого!

(PS во избежание путаницы: я имею в виду только запуск полного узла Биткойн , а не майнинг)

Ответы (2)

Просто некоторые мысли:

  • На момент написания полный размер блокчейна основной сети составляет 21 670 092 800 байт, то есть чуть больше 20 ГБ. Таким образом, у вас должно быть намного больше места на диске, чем всего 20-30 ГБ.

  • Raspberry Pi работает с SD. SD известен своими ограниченными возможностями перезаписи (это не сверхмощное решение для хранения данных, оно через некоторое время устанет), и, кроме того, есть еще очень важный фактор скорости передачи данных. Тип верхней модели SD (класс U3) имеет максимальную скорость 30 МБ/с, в то время как типичный диск SATA-3 будет максимальной скоростью 750 МБ/с, что, кстати, может достигать 2 ГБ/с с SATA Express, подключенным к двойному PCI Express. 3,2 полосы, но я думаю, что это уже не компьютер с низкими характеристиками. И да, я знаю, вы можете подключить внешний USB HD к R-Pi, но даже в этом случае вы никогда не получите таких скоростей.

  • Некоторые из лучших одноплатных компьютеров могут работать хорошо, и я думаю, что это лучшее решение для полного узла с низким энергопотреблением. Например, если вы подключите жесткий диск SATA к полной версии IGEPv5 , вы, скорее всего, получите неплохую производительность при очень низких затратах, как на приобретение, так и на эксплуатацию.

  • Компьютер с низкими характеристиками может дать отличные результаты с некоторыми легкими дистрибутивами Linux, мой личный фаворит — Lubuntu , который поставляется с пользовательским интерфейсом LX11DE, а затем установка биткойнов будет такой же простой, как:

    Menu > Accessories > LXTerminal > $

    • sudo add-apt-repository ppa:bitcoin/bitcoin
    • sudo apt-get update
    • sudo apt-get install bitcoind

Редактировать 1: изображения говорят громче, чем слова (в ответ на комментарий Яннеса , поэтому я прилагаю несколько скриншотов производительности с полного узла, работающего в Windows, который только что получил новый блок, а также через пару минут после этого) как анализ индекса ввода/вывода:

Проверка входящего блока:

Проверка блока

Один из всплесков ввода-вывода проверки блока на уровне 3 (по умолчанию для всех клиентов):

Один из пиков ввода/вывода

Анализ ввода-вывода для приведенных выше графиков:

Анализ ввода/вывода

Я не знаю, что вам нужно «намного больше» дискового пространства. Помимо цепочки блоков, вам просто нужно еще несколько ГБ для операционной системы. Я также не считаю биткойн-клиент особо интенсивным вводом-выводом, поэтому ssd или флешка могут подойти. Сделайте резервную копию кошелька, конечно.
Что такое SATA-диск? SATA — это интерфейс, вы можете подключать жесткие диски и твердотельные накопители через SATA (по крайней мере, я так думал).
А скорость передачи SSD ниже, чем скорость передачи HDD? ...?
Предупреждения об ограничениях перезаписи предназначены для всех обычных практических целей: FUD! На практике не о чем беспокоиться, если только вы не занимаетесь тяжелыми делами. (К вашему сведению: биткойн не перезаписывает один и тот же блок снова и снова!) Это подводит меня к следующей критике этого ответа: запуск узла биткойн далеко не сверхмощный. Все эти опасения по поводу пропускной способности тоже ерунда. Вам не нужны сверхмощные жесткие диски для запуска простого полного узла.
@NateEldredge Блокчейн сегодня составляет 20 ГБ. Ограничение вашего нового компьютера общим объемом, скажем, 30 ГБ неизбежно приведет к тому, что в течение следующих нескольких месяцев на нем закончится свободное место и произойдет сбой. Имейте в виду, что в прошлом году в эту самую дату блокчейн был примерно в 3 раза меньше по размеру. Затем идут файлы операционной системы и, конечно же, мы не должны забывать о памяти подкачки, которая, в частности, для клонов Ubuntu должна составлять не менее 0,5–2 ГБ на жестком диске.
@ypercube — это доска для обмена знаниями и мнениями, поэтому бессмысленные и саркастические комментарии (например, этот: bitcoin.stackexchange.com/questions/24434/… ) не служат ни одной из целей сообщества и не приносят никакой пользы нашему разговору. Что касается вашего второго комментария, да, биткойн все время имеет дело с небольшим количеством байтов, и известно, что производительность передачи данных SSD значительно падает, когда одновременно осуществляется доступ к большому количеству отдельных небольших блоков SSD.
Я никогда не хотел быть саркастичным. Извините, если мой комментарий выглядит таким образом.
И в вашем ответе не упоминается малое количество байтов или вы имеете в виду скорость чтения или записи. Просьба уточнить. Вы действительно имеете в виду, что скорость передачи SSD в целом ниже, чем скорость HDD?
@ypercube спасибо, что разъяснили это. Биткойн-клиент обрабатывает постоянный поток текущих транзакций и за кулисами запускает LevelDB, который фильтрует ввод-вывод через zippy экземпляр, который постоянно сжимает и распаковывает данные ввода-вывода, тем самым делая операции чтения и записи еще меньше по размеру. Я сказал не то, что твердотельные накопители работают хуже, чем жесткие диски, а то, что их производительность ввода-вывода значительно падает, когда им приходится иметь дело со многими небольшими блоками данных, это упоминается во всех последних тестах в блогах, посвященных аппаратному обеспечению, а также в Википедии. : en.wikipedia.org/wiki/Solid-state_drive
Итак, вы говорите, что реализация (LevelDB, сжатие) биткойн-клиентов/узлов не может эффективно использовать все SSD, которые могут предложить, хорошо, тогда в этом есть какой-то смысл.
@ypercube точно, твердотельные накопители обычно превосходят жесткие диски в повседневных операциях, однако в некоторых случаях, таких как описанный выше, это может быть не так.
@Jannes Я добавил в свой ответ несколько графиков из полного узла. Вы говорите, что наши опасения по поводу пропускной способности — «ерунда», но боюсь, цифры говорят об обратном. Топовая модель SD достигает максимальной скорости 30 МБ/с, но взгляните на второй график, на котором показан узел, получающий блок, I/0 достигает 19 МБ/с, и это всего лишь случайный блок в еще маленьких блоках биткойна. Итак, в конце концов, я думаю, все сводится к тому, что мы на самом деле называем тяжелой задачей ввода-вывода.
Это должно быть sudo apt-get install bitcoind.
@ike имя пакета действительно изменилось с момента написания, обновил мой ответ, спасибо.

Вы можете без проблем запустить Raspberry Pi с биткойнами. У меня есть несколько Pi, работающих с биткойнами в разных местах, и у некоторых из них более 100 подключений. Используйте флэш-карту на 64 ГБ и убедитесь, что у вас есть файл подкачки размером 512 МБ. Единственным ограничением, которое вы обнаружите, является скорость вашей широкополосной загрузки, Pi или его флэш-карта не будут узким местом. Используйте флэш-карту хорошего качества, например Sandisk и т. д. Также скажите маршрутизатору, чтобы он перенаправлял входящие соединения через порт 8333 на IP-адрес вашего Pi. Единственным ограничением является скорость вашей широкополосной загрузки из-за паразитных нагрузок, таких как новые пользователи, пытающиеся загрузить весь блокчейн с вашего Pi. Если вы сделаете это, попробуйте настроить Pi с уже загруженным на флэш-память или твердотельный накопитель блокчейном, в противном случае синхронизация займет некоторое время.

Раздел подкачки нужно выделить. Мой использует подкачку 900MB~.