October 4, 2025

Canton Network

🪓 Telegram канал UTSA 🪓 Telegram чат UTSA

Web Twitter Dashboard

Details

Canton Network

Canton Network — это первая в мире блокчейн-сеть с поддержкой конфиденциальности и полной межоперабельностью, ориентированная на реальные, регулируемые активы

Её цель - создать безопасную инфраструктуру, где финансовые организации могут взаимодействовать напрямую, не теряя контроля над данными и соблюдая требования регуляторов

В основе экосистемы лежит Global Synchronizer - децентрализованный сервис, который обеспечивает синхронизацию и связь между независимыми блокчейнами внутри Canton Network. Он использует BFT-консенсус и управляется открытым сообществом независимых организаций, называемых Super Validators. Эти участники отвечают за надёжность, безопасность и порядок транзакций в сети


🧩 Валидаторы: основа работы сети

Помимо супер-валидаторов, важнейшую роль играют простые валидаторы — именно им и посвящён этот гайд

Validators - это участники, которые работают внутри Canton Network, проверяя транзакции, ведя учёт активности и обеспечивая связь между пользователями и приложениями

Каждый валидатор хранит только те данные, которые ему необходимы, и взаимодействует с другими узлами через синхронизаторы, что делает сеть масштабируемой и безопасной

Основные задачи валидатора:

  • Проверять транзакции и подтверждать их корректность;
  • Записывать активность и обеспечивать целостность данных;
  • Поддерживать стабильное соединение между пользователями и приложениями;
  • Участвовать в обновлениях и миграциях сети

Активность и стабильность узла напрямую влияют на вознаграждение валидатора. Сеть поощряет тех, кто работает надёжно и постоянно обрабатывает трафик - через механизм minting rewards и liveness incentives


💰 Canton Coin и стимулы сети

Нативный токен Canton Coin используется для стимулирования участников сети. Он обеспечивает баланс между использованием и эмиссией - токены сжигаются при оплате комиссий и создаются вновь как вознаграждение активным валидаторам

Таким образом, чем активнее используется сеть, тем устойчивее становится экономика Canton Network.


⚡ Сеть Canton создаёт фундамент для децентрализованной, но регулируемой финансовой инфраструктуры нового поколения

Здесь роль валидаторов особенно значима - именно они обеспечивают надёжность и живучесть экосистемы, формируя её устойчивость и доверие


💰 Инвестиции

Проект уже получил косвенные инвестиции около $400 млн от топовых (Tier 1) фондов - источник


⚠️ Важно

Данный гайд описывает общие условия и принципы установки ноды Canton Network

Подача заявки на валидатора

Воспользуйтесь формой ниже, если Вы хотите настроить свою собственную ноду в качестве оператора, заявка будет отправлена в Комитет по токеномике для рассмотрения. Процесс занимает примерно 2 недели

🔗 https://sync.global/validator-request/

Для подачи заявки нельзя использовать бесплатную почту - воспользуйтесь собственной почтой на собственном домене

Более подробно с процессом развертывания валидатора Вы можете ознакомиться в данной статье - https://docs.dev.sync.global/validator_operator/validator_onboarding.html

Подготовка сервера

# обновляем репозитории
apt update && apt upgrade -y

# устанавливаем необходимые утилиты
apt install curl iptables build-essential git wget jq make gcc nano tmux htop nvme-cli pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y

File2Ban - подробнее здесь и здесь

# устанавливаем и копируем конфиг, который будет иметь больший приоритет
apt install fail2ban -y && \
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local && \
nano /etc/fail2ban/jail.local
# раскомментировать и добавить свой IP: ignoreip = 127.0.0.1/8 ::1 <ip>
systemctl restart fail2ban

# проверяем status 
systemctl status fail2ban
# проверяем, какие jails активны (по умолчанию только sshd)
fail2ban-client status
# проверяем статистику по sshd
fail2ban-client status sshd
# смотрим логи
tail /var/log/fail2ban.log
# останавливаем работу и удаляем с автозагрузки
#systemctl stop fail2ban && systemctl disable fail2ban

Устанавливаем docker + docker-compose

# https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-20-04-ru
apt update && \
apt install apt-transport-https ca-certificates curl software-properties-common -y && \
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" && \
apt update && \
apt-cache policy docker-ce && \
sudo apt install docker-ce -y && \
docker --version
# ручная установка docker-compose https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-compose-on-ubuntu-20-04-ru
# проверяем версию https://github.com/docker/compose/releases и подставляем в команду установки
curl -L "https://github.com/docker/compose/releases/download/v2.10.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose

# проверить версию
docker-compose --version

Новая установка ноды

Важно: развертывание по умолчанию через docker-compose крайне небезопасно, поэтому позаботьтесь о том, чтобы только Вы могли заходить на свой кошелек http://wallet.localhost/

В случае если Вы оставите порты открытыми, то любой сможет зайти на Ваш кошелек зная Ваш IP адрес. Пожалуйста создаете токен auth или закройте порты в docker!!!

Создаем необходимые каталоги. Для каждой новой версии мы будем использовать новый каталог

mkdir -p ~/.canton
mkdir -p ~/.canton/0.4.19
cd ~/.canton/0.4.19

Скачиваем архив с docker-compose

wget https://github.com/digital-asset/decentralized-canton-sync/releases/download/v0.4.19/0.4.19_splice-node.tar.gz
tar xzvf 0.4.19_splice-node.tar.gz
cd ~/.canton/0.4.19/splice-node/docker-compose/validator

Явно указываем версию для правильной сборки

export IMAGE_TAG=0.4.19

Для запуска ноды нам необходимо получить токен доступа. Для Devnet мы можем получить его самостоятельно, для Testnet и Mainnet нам необходимо получить его у спонсора

Получаем токен для DEVNET (действует 1 час)
# при первом включении используем его - при дальнейших запусках удаляем токен и оставляем -o ""

curl -X POST https://sv.sv-1.dev.global.canton.network.sync.global/api/sv/v0/devnet/onboard/validator/prepare

Запускаем ноду

./start.sh -s "<SPONSOR_SV_URL>" -o "<ONBOARDING_SECRET>" -p "<party_hint>" -m "<MIGRATION_ID>" -w

Где:

После успешного запуска Вы можете проверить логи

cd /root/.canton/0.4.19/splice-node/docker-compose/validator
docker compose logs -f validator

Обратите внимание, что валидатор можно остановить с помощью команды ./stop.sh и перезапустить с помощью той же команды start.sh, как указано выше. При последующих вызовах токен можно не указывать и оставить поле пустым, но флаг -o по-прежнему обязателен, поэтому необходимо указать аргумент -o ""

Полезные команды

Посмотреть логи

cd ~/.canton/0.4.19/splice-node/docker-compose/validator
docker compose logs -f validator

Остановить ноду

cd ~/.canton/0.4.19/splice-node/docker-compose/validator
./stop.sh

Запустить ноду повторно

cd ~/.canton/0.4.19/splice-node/docker-compose/validator
./start.sh -s "https://sv.sv-1.dev.global.canton.network.sync.global" -o "" -p "

Проверить приняли ли IP супервалидаторы для Devnet

(set -o pipefail
CURL='curl -fsS -m 5 --connect-timeout 5'
for url in $($CURL https://scan.sv-1.dev.global.canton.network.sync.global/api/scan/v0/scans | jq -r '.scans[].scans[].publicUrl'); do
  echo -n "$url: "
  $CURL "$url"/api/scan/version | jq -r '.version'
done)

Проверить приняли ли IP супервалидаторы для Mainnet

(set -o pipefail
CURL='curl -fsS -m 5 --connect-timeout 5'
for url in $($CURL https://scan.sv-1.global.canton.network.sync.global/api/scan/v0/scans | jq -r '.scans[].scans[].publicUrl'); do
  echo -n "$url: "
  $CURL "$url"/api/scan/version | jq -r '.version'
done)

Пример обновления. Перед обновлением обязательно делайте резервные копии

# останавливаем ноду
cd ~/.canton/0.4.18/splice-node/docker-compose/validator
./stop.sh

# создаем отдельный каталог
mkdir -p ~/.canton/0.4.19
cd ~/.canton/0.4.19

# скачиваем архив
wget https://github.com/digital-asset/decentralized-canton-sync/releases/download/v0.4.19/0.4.19_splice-node.tar.gz
tar xzvf 0.4.19_splice-node.tar.gz
cd ~/.canton/0.4.19/splice-node/docker-compose/validator

#экпортируем версию!!!
export IMAGE_TAG=0.4.19

# запускаем - -o "" оставляем пустыми (без токена), так как он вводится только 1 раз
# ./start.sh -s "<SPONSOR_SV_URL>" -o "<ONBOARDING_SECRET>" -p "<party_hint>" -m "<MIGRATION_ID>" -w

# посмотреть логи
cd ~/.canton/0.4.19/splice-node/docker-compose/validator
docker compose logs -f validator
Поддержим природу вместе: 0xa7476EC14cD663C742d527113638C77a1631Cc89 cosmos1m2mm7kzvw6m3464h94ryqg8xvr6tyeyyecppnq