Працездатний процес може завершитися ідеально, але залишити зовнішній світ у неправильному стані.
Уявіть автономний комерційний додаток навколо @RialoHQ, який отримує замовлення на останній товар на складі.
Робочий процес успішно завершується. Оплата зараховується, замовлення підтверджується, клієнт отримує чек. З точки зору блокчейн-додатку все виглядає завершеним.
Але API складу ніколи не отримує остаточного оновлення інвентаризації.
Onchain-стан тепер каже, що товар був проданий.
Склад все ще каже: 1 одиниця доступна.
Кілька хвилин потому інша система читає інвентаризацію складу і намагається знову продати той самий товар.
Ніщо не зазнало невдачі всередині початкової транзакції. Проблема в тому, що дві системи, які мали описувати одну й ту саму реальність, розійшлися.
Саме тут інтересним стає поняття реконсиліації, коли ми думаємо про додатки, побудовані навколо Rialo.
Коли програмне забезпечення взаємодіє з зовнішніми API, базами даних, платіжними системами та іншими реальними сервісами, успішне виконання не завжди гарантує, що всі підключені системи опинилися у очікуваному стані.
Тому додаток може потребувати вийти за межі питання «Чи вдалося моє діяння?» і нарешті поставити питання: «Чи відображає зовнішній світ те, що мало відбутися?»
Якщо додаток очікував, що інвентар переміститься з 1 на 0, він може порівняти цей очікуваний результат зі станом, повідомленим зовнішньою системою. Якщо склад все ще повідомляє 1, ця невідповідність стає чимось, що додаток може виявити та обробити, а не мовчки припускати, що все залишилося синхронізованим.
Та сама проблема з’являється в платежах, бронюваннях, логістиці та багатьох інших робочих процесах, де onchain-виконання взаємодіє з системами поза ланцюгом.
Це створює важливу розмежування.
Виконання говорить вам, що зробив додаток.
Реконсиліація говорить вам, чи опинився світ там, де додаток очікував.
Для додатків, які все частіше з’єднують блокчейн-виконання ззовнішнім світом, обидва аспекти можуть мати значення.
Бо завершити робочий процес — одне.
А переконатися, що всі підключені системи згодні з тим, що сталося — інше.