Proof of Stake (PoS) — механизм достижения консенсуса в блокчейне. Валидаторы замораживают (стейкают) свои токены в качестве залога права создавать и подтверждать блоки.
Принцип работы#
- Стейкинг — валидатор фиксирует часть токенов в специальной транзакции;
- Выбор создателя блока — выбирается валидатор; вероятность зависит от размера стейка (но не только — для предотвращения концентрации);
- Валидация — остальные валидаторы проверяют новый блок и подписывают его;
- Запись в блокчейн;
- Награда — часть транзакционной комиссии + новые монеты (в некоторых сетях);
- Slashing — при недобросовестности часть/весь стейк сжигается, валидатор может быть отстранён.
Вариации PoS#
| Алгоритм | Особенность |
|---|---|
| DPoS (Delegated) | Голосование токенами за делегатов; делегаты делят награду с избирателями |
| LPoS (Leased) | Аренда токенов другому валидатору вместо голосования |
| BPoS (Bonded) | Залог обязателен; пользователи теряют средства за выбор плохого валидатора |
| NPoS (Nominated) | Номинаторы выбирают валидаторов; снижение награды за плохой выбор |
| PPoS (Pure) | Равные шансы независимо от размера стейка — максимальная децентрализация |
| PoSV (Velocity) | Учёт скорости оборота токенов — стимулирует активность |
| DBFT | PoS + Byzantine Fault Tolerance, требует подписи 66% валидаторов |
Преимущества и недостатки#
Преимущества
- Энергоэффективность — нет PoW-вычислений;
- Скорость — нет ожидания решения задач;
- Безопасность — для атаки нужно контролировать большую часть стейка + slashing-механизмы против 51%-атак;
- Снижение централизации — относительно PoW.
Недостатки
- Риск концентрации — крупные холдеры могут координироваться;
- Непрозрачность — сложнее верифицировать кто и как валидирует.
PoS в TON#
Блокчейн TON использует PoS + BFT-консенсус (Catchain) для генерации блоков в шардчейнах и мастерчейне.
Механика
- Валидаторы вносят стейк через специальную транзакцию masterchain;
- Каждому шарду назначается подмножество валидаторов детерминированным псевдослучайным способом;
- Ротация подмножества — примерно каждые 1 024 блока;
- Подмножество предлагает блок-кандидаты; псевдослучайный порядок определяет, чей кандидат приоритетнее;
- Валидаторы проверяют кандидата; подпись недействительного блока → slashing или временное отстранение;
- Финальный консенсус — BFT-протокол, аналог PBFT / Honey Badger BFT;
- Награда — комиссии с транзакций блока + новоиспечённые монеты;
- Параллельность — один валидатор может работать в нескольких подмножествах одновременно.
Мастерчейн-блок
После генерации блоков всех шардов (или по таймауту) генерируется блок мастерчейна с хэшами последних блоков всех шардчейнов — на основе BFT-консенсуса всех валидаторов.