Своя нода — это грань между «поверить кому-то на слово про цепочку» и «проверить самому». Ваша нода независимо применяет каждое правило консенсуса, а кошельки могут спрашивать вашу ноду вместо публичного сервера, который тихо логирует все ваши адреса. Стена, о которую спотыкаются: полной архивной ноде нужно 600 ГБ+ диска, и она только растёт. Pruned-нода это обходит — она всё так же валидирует всю цепочку, а затем выбрасывает старые блоки, которые больше не нужны, и укладывается примерно в 10–15 ГБ. Это влезает в небольшой VPS. Ниже — честное «как» и во что вам обходится прунинг.
Что реально даёт нода
- Независимая валидация. Правила применяете вы сами. Ничего невалидного не пройдёт через вашу ноду из-за того, что она поверила незнакомцу.
- Приватность собственных запросов. Кошелёк спрашивает вашу ноду, а не публичный обозреватель, который видит каждый адрес, который вы смотрите.
- База для остального. Нода — фундамент, на который потом встаёт другое: Lightning, обозреватели, ваши приложения.
Pruned против полной — честная суть
Во время начальной синхронизации нода скачивает и проверяет всю цепочку. Это примерно 600 ГБ трафика, один раз. Прунинг меняет только то, что происходит после: она держит свежие блоки и сбрасывает старые, поэтому итоговый диск остаётся маленьким.
То, чем вы жертвуете, реально: pruned-нода не может отдавать исторические блоки другим пирам и не может пересканировать произвольную старую историю кошелька. Так что если будете импортировать старый кошелёк с ранними транзакциями, нужна полная история — полная нода на большом диске, а не pruned. Для того чтобы просто валидировать и гонять текущие кошельки, pruned — ровно то, что надо.
Что нужно
- Диск: ~15–20 ГБ для pruned-ноды — маленькой машины хватает.
- Оперативка: 2–4 ГБ. Больше
dbcache— быстрее начальная синхронизация; потом можно снизить. - Канал: нормальная пропускная способность для разового полного скачивания.
- Доступный IP: чтобы принимать входящих пиров на порт 8333 и реально помогать сети, нужен публичный IP с открытым 8333 — тариф с выделенным IP. На NAT у вас один SSH-порт, и 8333 не открыть.
Установка
Поставьте bitcoind, затем минимальный bitcoin.conf:
prune=10000 # хранить ~10 ГБ свежих блоков
dbcache=2048 # быстрее начальная синхронизация; потом снизить
listen=1 # принимать входящих пиров
Запустите под systemd, чтобы рестартовал после падения и поднимался после ребута, и откройте порт 8333, чтобы пиры до вас достучались. Затем дайте синхронизироваться — это долгая часть, от часов до суток-двух, потому что цепочка проверяется от генезиса.
Закройте машину
- SSH только по ключам, фаервол на 8333 и ваш SSH-порт. (Чек-лист на десять минут.)
- Никогда не выставляйте RPC-порт в интернет. Привяжите его к localhost и ходите через SSH-тоннель или только из приложений на той же машине. Открытый RPC — открытая дверь.
Честные ограничения
- Первая синхронизация долгая и прожорливая по трафику. Это неизбежно — проверку цепочки с нуля не обойти конфигом.
- Pruned-нода не отдаёт старые блоки и не пересканирует старую историю. Нужно это? Тогда полная нода и большой диск.
- Про Monero вопрос справедливый, и честный ответ — про охват. Его цепь больше — пара сотен ГБ, и даже pruned около 90 ГБ, — так что ей нужен диск побольше, чем несут наши небольшие тарифы. Это история про полную ноду на другой машине, и мы лучше скажем прямо, чем сделаем вид, что она влезает.
- Обслуживание на вас: обновления, диск, редкие заминки с пирами. Нода — небольшое обязательство, а не «поставил и забыл».
Как платить
Регистрация по email, оплата в USDC или USDT — без карты и без документов. Логичный способ оплатить свой собственный уголок Bitcoin.