Атомарный обмен
В целом схема атомарного обмена в двух независимых блокчейнах выглядит следующим образом:
Транзакции в Nimera Blockchain
BeginSwap
- Начать обмен (подписывается отправителем)sender
- отправительtarget
- получательtimestamp
- время истечения срока действияalg
- алгоритм хешированияhash
- хеш?DATA (amount, color, etc)
- данные о замораживаемых средствах
CommitSwap
- Завершить обмен (не требует подписи)hash
- хеш секрета как идентификатор обменаsecret
- секретная фразаsender
- инициатор обменаtarget
- получатель
RollbackSwap
- Откатить обмен (не требует подписи)hash
- хеш секрета как идентификатор обменаsender
- инициатор обмена
CancelSwap
- Отменить обмен (подписывает отправитель и получатель).hash
- хеш секрета как идентификатор обменаsender
- инициатор обменаtarget
- получатель
Как это работает
Диаграмма движения средств в рамках одной сети:
BeginSwap
начинает обмен, замораживая средства на счету отправителя. Для этого с аккаунта списываются монеты, а информация о операции (секрет, время жизни, списанная сумма и т.д.) записывается в аккаунте в специальное поле с незавершенными обменами.
CommitSwap
позволяет разморозить средства и перевести их получателю. Для этого до истечения срока действия обмена предоставляется секрет, хеш которого мы указывали ранее. По факту операция добавляет сумму, которая указана в обмене к балансу получателя (при создании обмена она была списана с отправителя), после чего у аккаунта отправителя удаляется информация о незавершенной операции.
RollbackSwap
используется для возврата средств на счет отправителя, если секрет не был своевременно предоставлен. Информация об операции удаляется из аккаунта отправителя.
CancelSwap
используется для отмены операции по обоюдному согласию. Может выполняться в любой момент времени, в том числе и до истечения срока действия обмена. Опциональная операция.
Last updated