Запусти узел

Узел открывает мосты, по которым идут зашифрованные сообщения других людей, и благодаря этой подтверждённой работе находит VEL. Он ставится одной командой, работает в фоне и обновляется сам.

Установка

# macOS / Linux
curl -fsSL https://velum.consultorabim.com/install.sh | bash
# Windows (PowerShell)
irm https://velum.consultorabim.com/install.ps1 | iex

Установщик скачивает бинарный файл для твоей системы, создаёт ключ узла, регистрирует его в сети и настраивает автозапуск при включении компьютера. Его можно прочитать перед запуском: install.sh и install.ps1. Можно также скачать бинарный файл вручную.

Система Бинарный файл
macOS (Apple Silicon и Intel) velum-darwin-arm64, velum-darwin-x64
Linux velum-linux-x64, velum-linux-arm64
Windows velum-windows-x64.exe

Один файл на систему, без зависимостей и дополнительных файлов.

Требования

  • Компьютер, который часто бывает включён, и подключение к интернету.
  • Очень мало процессора и памяти. Диск: несколько сотен МБ для блокчейна; фрагменты удаляются после доставки или через 7 дней.
  • Открывать порты не нужно. Если откроешь, другие узлы смогут подключаться к тебе напрямую (--endpoint), а это помогает устойчивости к блокировкам.

Параметры

velum-node --name "atico-madrid" --payout vel…            # options are saved in ~/.velum/config.json
velum-node --port 7420                                    # local panel at http://localhost:7420
velum-node --gateway none --peer ws://203.0.113.7:7420/ws # direct peers only, no public gateway
velum-node --endpoint wss://node.example.org/ws           # public address announced on-chain
velum-node address                                        # prints the node address
velum-node reset                                          # wipes chain data (keeps the key) and resyncs

При регистрации узел указывает свой примерный регион (континент). Это нужно, чтобы приложения выбирали ближайшие узлы; на консенсус это не влияет.

Панель

Узел открывает панель на твоём компьютере: http://localhost:7420. Там видно его уровень, серию непрерывной работы, заработок и подключённых соседей.

В панели можно приостановить участие. Учти, что отсутствие дольше 48 часов подряд обнуляет серию непрерывной работы.

Подписанные обновления

Узел проверяет манифест версий:

{
  "version": "3.0.1",
  "minNodeVersion": "3.0.0",
  "minAppVersion": "3.0.0",
  "files": {
    "darwin-arm64": { "url": "https://velum.consultorabim.com/download/velum-darwin-arm64", "sha512": "…" },
    "linux-x64":    { "url": "https://velum.consultorabim.com/download/velum-linux-x64",    "sha512": "…" },
    "windows-x64":  { "url": "https://velum.consultorabim.com/download/velum-windows-x64.exe", "sha512": "…" }
  },
  "ts": 1793577600000,
  "sig": "…ed25519 signature by the release key…"
}

Новая версия устанавливается, только если подпись sig действительна для встроенного ключа публикации ed25519 и отпечаток SHA-512 файла совпадает. В манифесте есть minNodeVersion: узел ниже минимальной версии сначала обновляется, а потом продолжает работу.

Как узел находит VEL

Маршруты по жребию и близости

Для каждого фрагмента публичная жеребьёвка выбирает 3 узла-кандидата, причём у узлов с более высоким уровнем и залогом шансы больше. Приложение измеряет пинг и использует самый быстрый из трёх, как в CDN. Учитывается только мост, который действительно доставил фрагмент, и всегда только из трёх выбранных жребием: никто не может решить, кто его понесёт.

Заявки с выборочной проверкой {#reclamaciones}

Узел не загружает каждую квитанцию в блокчейн. При закрытии эпохи:

  1. Он собирает свои квитанции в дерево Меркла (SHA-512) и публикует work.claim { epoch, count, root }.
  2. Маяк следующей эпохи выбирает из его дерева 16 случайных квитанций.
  3. Узел отвечает work.prove: эти квитанции с секретом и путём Меркла.
  4. Если он не ответил за 2 эпохи или не сошёлся хотя бы один лист, заявка аннулируется, и узел теряет награду за эту эпоху.
  5. Никто не может заявить больше чем в 1,5 раза сверх ожидаемого для его веса в жеребьёвке.

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

Что находится каждую эпоху

Эмиссия эпохи, 80 % накопленных комиссий и то, что возвращает Резерв. Находится так:

  • 85 % за открытые мосты: подтверждённые доставки × множитель уровня.
  • 15 % за создание и проверку блоков, поровну за каждый блок. VEL находятся, даже если сообщений нет.

Уровни по непрерывному стажу

Уровень Множитель Требование
Новый ×0,50 Сразу после регистрации
Активный ×0,65 ≥ 1 месяц непрерывной работы и ≥ 90 % присутствия
Ветеран ×0,85 ≥ 3 месяца подряд и ≥ 95 %
Опора ×1,00 ≥ M(t) месяцев подряд и ≥ 98 %
M(t) = min(12, 6 + floor(возраст сети в месяцах / 4))

При запуске сети для уровня «Опора» нужно 6 месяцев, и каждые 4 месяца жизни сети требование растёт на месяц, до 12.

  • Непрерывная работа — это серия эпох с присутствием. Отсутствие дольше 48 часов подряд её обнуляет; короткое обслуживание — нет.
  • Множители лишь делят то, что есть: найти больше эмиссии эпохи нельзя никогда.

Необязательный залог

Через node.bond можно заблокировать VEL и увеличить свой вес в жеребьёвке до ×2:

вес в жеребьёвке = уровень × (1 + min(залог, 10 000 VEL) / 10 000)

Залог разблокируется через 14 дней ожидания. Если узел не прошёл проверки за эпоху, в эту эпоху он ничего не находит. Другие люди тоже могут делегировать VEL твоему узлу: см. Экосистема.

Лёгкие узлы на телефоне

Приложение может работать как лёгкий узел через Настройки › Работать как узел (по умолчанию только по Wi-Fi и на зарядке). Оно принимает и доставляет фрагменты, но не создаёт блоки, а шлюз не присылает ему полные блоки, чтобы экономить трафик.

Может ли мой узел читать сообщения?

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