Правильно ли я понимаю принцип протокола Ark? (Я имею в виду именно принцип, без учёта таких важных вещей, как коннекторы, комиссии, разные номиналы VTXO и срок их действия.)

Пусть есть Алиса (А), Боб (Б), Вася (В) и Галя (Г). А ещё есть провайдер (П).

Шаг 1.

А, Б, В и Г хотят переводить свои биткоины внутри протокола Ark. Для этого

А отправляет П 100 сатоши,

Б отправляет П 200 сатоши,

В отправляет П 300 сатоши,

Г отправляет П 400 сатоши.

Это ровно те суммы, которыми они хотят распоряжаться на втором слое.

Шаг 2.

П видит входящие транзакции и создаёт на их основе пакетную транзакцию №1, входами которой будут их выходы. У пакетной транзакции №1 будет 10 выходов по 100 сатоши каждый. Пакетная ранзакция №1 транслируется в основную сеть.

Одновременно П сообщает А подписанную, но не транслированную транзакцию, расходующую один из выходов пакетной транзакции №1 (100 сатоши).

Одновременно П сообщает Б подписанные, но не транслированные транзакции, расходующие два из выходов пакетной транзакции №1 (200 сатоши).

Одновременно П сообщает В подписанные, но не транслированные транзакции, расходующие три из выходов пакетной транзакции №1 (300 сатоши).

Одновременно П сообщает Г подписанные, но не транслированные транзакции, расходующие четыре из выходов пакетной транзакции №1 (400 сатоши).

Таким образом, каждый из участников имеет возможность в любой момент транслировать в основную сеть транзакции, расходующие ровно ту сумму, которую он внёс. До тех пор, пока транзакция не транслирована, мы говорим, что эти деньги существуют на втором слое в виде виртуальных выходов (VTXO). Как только кто-то транслирует транзакцию, VTXO перестают быть виртуальными (уходят со второго слоя) и становятся реальными UTXO на первом слое.

Шаг 3.

Проходит минут десять (в основной цепи появляется новый блок), и А решает передать Б 100 сатоши, а В решает передать Г 100 сатоши.

Они оба сообщают об этом П.

П создаёт пакетную транзакцию №2, входами которой будут выходы пакетной транзакции №1. У неё будет 10 выходов по 100 сатоши каждый. Пакетная транзакция №2 транслируется в основную сеть.

Одновременно П сообщает Б подписанные, но не транслированные транзакции, расходующие три из выходов пакетной транзакции №2 (300 сатоши).

Одновременно П сообщает В подписанные, но не транслированные транзакции, расходующие два из выходов пакетной транзакции №2 (200 сатоши).

Одновременно П сообщает Г подписанные, но не транслированные транзакции, расходующие пять из выходов пакетной транзакции №2 (500 сатоши).

Таким образом, у А и В становится на 100 сатоши меньше, а у Б и Г - на 100 сатоши больше.

Шаг 4.

Проходит пара секунд (в цепи не появляется нового блока), и Б решает передать В 200 сатоши, а Г решает передать А 200 сатоши.

Они оба сообщают об этом П.

П создаёт пакетную транзакцию №3, которая через механизм RBF заменяет собой в мемпуле пакетную транзакцию №2. Её входы будут те же, что и у пакетной транзакции №2. И у неё будет 10 выходов по 100 сатоши каждый. Пакетная транзакция №3 транслируется в основную сеть.

Одновременно П сообщает А подписанные, но не транслированные транзакции, расходующие два из выходов пакетной транзакции №3 (200 сатоши).

Одновременно П сообщает Б подписанную, но не транслированную транзакцию, расходующую один из выходов пакетной транзакции №3 (100 сатоши).

Одновременно П сообщает В подписанные, но не транслированные транзакции, расходующие четыре из выходов пакетной транзакции №3 (400 сатоши).

Одновременно П сообщает Г подписанные, но не транслированные транзакции, расходующие три из выходов пакетной транзакции №3 (300 сатоши).

Таким образом, у А и В становится на 200 сатоши больше, а у Б и Г - на 200 сатоши меньше.

Шаги 5, 6 и т.д.

Ещё через пять секунд П создаёт пакетную транзакцию №4, которая заменит собой в мемпуле пакетную транзакцию №3.

Потом - пакетную транзакцию №5, которая заменит пакетную транзакцию №4.

И так продолжается, пока в цепи не появится новый блок, после чего мы возвращаемся к шагу 3.

Итого в сеть Биткоина (в мемпулы полных нод) попадает «обезличенная» информация обо всех переводах внутри Ark. Но в цепь попадает информация только один раз за блок. Поэтому блокчейн не забивается.

Reply to this note

Please Login to reply.

Discussion

No replies yet.