#dusk $TUT $GPS $DUSK @Dusk
Сначала я думал, что интеграция блокчейна с биржей — довольно простая вещь: как только депозит подтверждён, вы зачисляете средства пользователю. Но когда я читал документацию по интеграции Dusk, меня заинтересовало одно конкретное правило: Dusk использует идентификатор каждой транзакции как ключ идемпотентности для соответствующего зачисления.
Это правило становится особенно интересным, когда что-то идёт не так. Сканер может упасть, перезапуститься или повторно просканировать тот же диапазон блоков. Dusk требует, чтобы зачисление и контрольная точка обновлялись в рамках одной транзакции базы данных, при этом идентификаторы транзакций должны оставаться уникальными; поэтому повторное воспроизведение истории не создаёт ещё одно зачисление для той же транзакции.
Вот что мне нравится в Dusk. С деньгами быть правым дважды всё равно может означать ошибку. Системы падают. Сканеры повторяют попытки. История переигрывается. При этом баланс всё равно должен оставаться корректным.
Большая идея проста: операцию можно запустить снова, но финансовый эффект нельзя продублировать. Так что вот с каким вопросом я остаюсь: если одну и ту же историю можно воспроизвести дважды, какие гарантии есть в том, что её финансовый эффект будет записан только один раз?
Сначала я думал, что интеграция блокчейна с биржей — довольно простая вещь: как только депозит подтверждён, вы зачисляете средства пользователю. Но когда я читал документацию по интеграции Dusk, меня заинтересовало одно конкретное правило: Dusk использует идентификатор каждой транзакции как ключ идемпотентности для соответствующего зачисления.
Это правило становится особенно интересным, когда что-то идёт не так. Сканер может упасть, перезапуститься или повторно просканировать тот же диапазон блоков. Dusk требует, чтобы зачисление и контрольная точка обновлялись в рамках одной транзакции базы данных, при этом идентификаторы транзакций должны оставаться уникальными; поэтому повторное воспроизведение истории не создаёт ещё одно зачисление для той же транзакции.
Вот что мне нравится в Dusk. С деньгами быть правым дважды всё равно может означать ошибку. Системы падают. Сканеры повторяют попытки. История переигрывается. При этом баланс всё равно должен оставаться корректным.
Большая идея проста: операцию можно запустить снова, но финансовый эффект нельзя продублировать. Так что вот с каким вопросом я остаюсь: если одну и ту же историю можно воспроизвести дважды, какие гарантии есть в том, что её финансовый эффект будет записан только один раз?