Целая сеть,
заработанная, а не купленная
Astrolune — сеть со своим консенсусом, виртуальной машиной, двухуровневой системой языков контрактов и монетой. Положение узла складывается из аптайма и наблюдаемого поведения — здесь нет хешрейта, который можно купить, и нет стейка, который можно перебить.
До запуска mainnet — ядро консенсуса написано и покрыто тестами; сетевой слой ещё не начат.
Измеряется в миллисекундах,
зарабатывается днями
/ 01
0 мс
ВРЕМЯ БЛОКА
…до 1 с с настоящим VDF
/ 02
0
РАЗМЕР КОМИТЕТА
10% меняется каждый блок
/ 03
0 день
ДЛИНА ЭПОХИ
Пересчёт графа доверия
/ 04
0 / 100
КВОРУМ
⌊2n/3⌋ + 1 подписей
Время блока — честный диапазон, а не обещание: ветка с лёгкой случайностью укладывается около 400 мс, полноценный VDF — ближе к секунде. Какая из них уйдёт в релиз, решают измерения.
Одна система,
построенная слоями
Astrolune — не одна идея, а стек: консенсус, который нельзя купить, детерминированная виртуальная машина, двухуровневая система языков и монета, рядом с которой нет плавающей точки. Каждый слой задокументирован — включая места, где спецификация признаёт пробел.
Два языковых уровня,
один байткод
Trocto закрывает распространённые классы уязвимостей контрактов на уровне компилятора и компилируется в Regol. Regol — одновременно нижний уровень и промежуточное представление, поэтому от автора, которому нужен контроль, ничего не скрыто.
1contract Token {2 state {3 name: string,4 total_supply: u64,5 balances: map<address, u64>,6 }78 // called once, at deployment9 init(name: string, initial_supply: u64) {10 self.name = name;11 self.total_supply = initial_supply;12 self.balances.insert(sender(), initial_supply);13 }1415 pub fn transfer(&mut self, to: address, amount: u64) -> Result<(), Error> {16 require(self.balances[sender()] >= amount, Error::InsufficientBalance);17 require(to != address::zero(), Error::InvalidAddress);1819 self.balances[sender()] -= amount; // overflow-checked by default20 self.balances[to] += amount;2122 emit Transfer { from: sender(), to, amount };23 Ok(())24 }25}Lune платит за
место в блоке
Суммы — беззнаковые 64-битные целые с девятью знаками после запятой: балансам не нужна длинная арифметика, а плавающей точки нет нигде ни в исполнении, ни в учёте.
ТИКЕР
LUNE
ЗНАКОВ
9
БАЗОВАЯ ЕДИНИЦА
10⁻9 LUNE
ТИП СУММЫ
u64
Распределение награды за блок
Операционный залог покупает долю в одной корзине и больше ничего. Он не несёт веса в консенсусе — именно эта граница удерживает PoTB от тихого превращения в Proof of Stake.
Что сеть
даёт вам
Каждый пункт ниже — работающая страница, которая берёт данные из локальной фикстуры, пока не появится RPC, чтобы отдавать их по-настоящему.
Пять шагов,
изложенных честно
План работ с реальным состоянием каждого шага, а не с задуманным.
ШАГ 01
01 / 05
Ядро консенсуса PoTB на C
В работеПолная формула веса, выбор комитета с частичной ротацией, seed по схеме commit-reveal, слэшинг относительно медианы сети, награды. Чистые функции, ни одного чтения часов, ~29 800 проверок арифметики.
ШАГ 02
02 / 05
Слои VM, состояния и транзакций
ЗаблокированоСкорее присутствует и правдоподобно, чем проверено: 16 опкодов, учёт газа, аккаунты, корень состояния, кодирование/декодирование/применение. Размер машинного слова всё ещё открыт, а интерпретатор, написанный до его выбора, придётся переписать.
ШАГ 03
03 / 05
Инструментарий C++23 — компилятор Trocto
ЗаблокированоПервой приехала проверка границы C/C++: одиннадцать публичных заголовков собираются как C++23, 172 символа закреплены, контракт раскладки утверждается в обоих языках.
ШАГ 04
04 / 05
Система сборки, тесты и CI
ЧастичноCMake с шестью пресетами, слоистость закреплена связями линковки, десять наборов тестов. CI пока нет, а покрытие VM и слоя состояния тонкое — дерево говорит об этом вслух.
ШАГ 05
05 / 05
Документация и спецификация языка
ЧастичноВсё существующее задокументировано, включая семь расхождений кода и спецификации. Спецификация Trocto — оставшаяся часть.
Вопросы,
ответы без уловок
Написано по спецификации — включая места, где спецификация признаёт пробел.
Вес нельзя купить. В PoS стейк покупает вес в консенсусе; в PoTB на входе только аптайм, корректность, граф доверия, разброс по ASN и штраф за корреляцию. Добровольный операционный залог существует и намеренно влияет на одну корзину награды, не имея веса вовсе.
Нет, по замыслу. У сети своя виртуальная машина и своя двухуровневая система языков. Совместимость с EVM притащила бы и 256-битное слово, и таблицу газа EVM, а ни то, ни другое не подходит ядру на 64-битных суммах и целочисленной арифметике.
Не в том смысле, в котором это обычно понимают. Рынка делегирования нет, APY на капитал нет. Награда идёт членам комитета: 60% делятся равно, 25% по заработанному весу, 15% по операционному залогу. Залог — свидетельство расходов на инфраструктуру, а не право на консенсус.
Четыре вещи, зафиксированные в спецификации как открытые: отсутствие доминирования не доказано математически; граф доверия и подавление корреляции — эвристики; время как барьер можно купить заранее, подняв ферму пораньше и подождав; сетевое разнообразие обходится бюджетом на прокси.
Нет. Арифметика консенсуса реализована и покрыта тестами, слои VM и состояния существуют и протестированы тонко, сетевой слой не начат. Бэкенд подписи, скомпилированный сегодня, — небезопасная заглушка, и он сам об этом сообщает.
В этом разделе документации, собранном из того же источника, против которого собирается ядро. Если заголовок и документ расходятся, прав заголовок — и каждое известное расхождение перечислено, а не исправлено втихую.
ЗАПУСТИТЬ УЗЕЛ
Вес зарабатывают.
Начните зарабатывать.
Соберите клиент, начните ретранслировать — остальное сделает граф доверия. Капитал не нужен ни на одном уровне.
https://rpc.testnet.astrolune.networkAstrolune ещё не запущена. Все значения ниже — фикстура для работы над интерфейсом, а не телеметрия сети.