Сегодня я хочу поговорить об очень конкретном числе: размере скрипта vault в Babylon.
Лимит weight в блоке Bitcoin — 4 миллиона единиц, а стандартная транзакция обычно занимает примерно 200–300 единиц. Но транзакции создания vault для TBV имеют гораздо больший размер, потому что включают сложный covenant-скрипт, доказательство по Merkle-пути и логику мультиподписи.
Я грубо прикинул: стандартная транзакция создания TBV vault имеет weight примерно в диапазоне 1500–2500 единиц. Это означает, что один блок Bitcoin максимум может вместить порядка 1600–2600 транзакций создания vault. Если пользователей Babylon станет больше, одни только транзакции создания vault смогут занять значительную часть пространства блока.
Отсюда возникают две проблемы.
Первая — проблема конкуренции. Когда транзакции создания vault и другие обычные транзакции Bitcoin конкурируют за место в блоке, побеждает тот, кто предлагает более высокую цену: транзакции упаковываются в порядке, определяемом приоритетом по цене. Крупные игроки могут выставлять Gas очень высоко и вставать в очередь; мелкие пользователи вынуждены ждать или доплачивать комиссии. Это по сути то же самое, что Gas-войны в Ethereum — только поле боя перенесено с EVM в основной блокчейн Bitcoin.
Вторая — проблема долгосрочной устойчивости. Если Babylon действительно достигнет уровня в миллион пользователей, то ежедневно тысячи и тысячи транзакций создания и погашения vault будут устремляться в сеть Bitcoin. Хватит ли места в блоках? С проблемой, с которой столкнулся Lightning Network, Babylon, скорее всего, придется столкнуться рано или поздно.
Я вижу два варианта ответа от Babylon. Первый — агрегирование погашений: объединять множество запросов на погашение в одну транзакцию для обработки, уменьшая on-chain след. Второй — поощрять долгосрочную блокировку: чем дольше срок блокировки, тем ниже амортизированная стоимость транзакции создания vault.
Но все это лишь смягчение, а не лекарство от причины. Пока базовый уровень все еще — основной блокчейн Bitcoin, верхний предел пропускной способности остается там же.
@BabylonLabs_io $BABY #baby
Лимит weight в блоке Bitcoin — 4 миллиона единиц, а стандартная транзакция обычно занимает примерно 200–300 единиц. Но транзакции создания vault для TBV имеют гораздо больший размер, потому что включают сложный covenant-скрипт, доказательство по Merkle-пути и логику мультиподписи.
Я грубо прикинул: стандартная транзакция создания TBV vault имеет weight примерно в диапазоне 1500–2500 единиц. Это означает, что один блок Bitcoin максимум может вместить порядка 1600–2600 транзакций создания vault. Если пользователей Babylon станет больше, одни только транзакции создания vault смогут занять значительную часть пространства блока.
Отсюда возникают две проблемы.
Первая — проблема конкуренции. Когда транзакции создания vault и другие обычные транзакции Bitcoin конкурируют за место в блоке, побеждает тот, кто предлагает более высокую цену: транзакции упаковываются в порядке, определяемом приоритетом по цене. Крупные игроки могут выставлять Gas очень высоко и вставать в очередь; мелкие пользователи вынуждены ждать или доплачивать комиссии. Это по сути то же самое, что Gas-войны в Ethereum — только поле боя перенесено с EVM в основной блокчейн Bitcoin.
Вторая — проблема долгосрочной устойчивости. Если Babylon действительно достигнет уровня в миллион пользователей, то ежедневно тысячи и тысячи транзакций создания и погашения vault будут устремляться в сеть Bitcoin. Хватит ли места в блоках? С проблемой, с которой столкнулся Lightning Network, Babylon, скорее всего, придется столкнуться рано или поздно.
Я вижу два варианта ответа от Babylon. Первый — агрегирование погашений: объединять множество запросов на погашение в одну транзакцию для обработки, уменьшая on-chain след. Второй — поощрять долгосрочную блокировку: чем дольше срок блокировки, тем ниже амортизированная стоимость транзакции создания vault.
Но все это лишь смягчение, а не лекарство от причины. Пока базовый уровень все еще — основной блокчейн Bitcoin, верхний предел пропускной способности остается там же.
@BabylonLabs_io $BABY #baby