Bài đăng
avatar

Một quy trình có thể hoàn thành hoàn hảo nhưng vẫn để thế giới bên ngoài sai lệch. Hãy tưởng tượng một ứng dụng thương mại tự động xung quanh @RialoHQ nhận được đơn hàng cho sản phẩm cuối cùng trong kho. Quy trình hoàn thành thành công. Thanh toán đã được xử lý, đơn hàng đã được xác nhận và khách hàng nhận được hóa đơn. Từ góc nhìn của ứng dụng blockchain, mọi thứ đều trông như đã kết thúc. Nhưng API kho hàng chưa bao giờ nhận được cập nhật tồn kho cuối cùng. Trạng thái trên chuỗi hiện tại cho rằng sản phẩm đã được bán. Kho hàng vẫn báo là còn 1 sản phẩm. Vài phút sau, một hệ thống khác đọc tồn kho kho hàng và cố gắng bán lại sản phẩm đó lần nữa. Không có gì thực sự thất bại trong giao dịch ban đầu. Vấn đề là hai hệ thống, vốn nên mô tả cùng một thực tế, đã dần tách rời nhau. Đây là nơi khái niệm “đối chiếu” trở nên thú vị khi nghĩ về các ứng dụng xây dựng xung quanh Rialo. Khi phần mềm tương tác với các API bên ngoài, cơ sở dữ liệu, hệ thống thanh toán và các dịch vụ thực tế khác, việc thực thi thành công không luôn đảm bảo rằng mọi hệ thống kết nối đều kết thúc ở trạng thái mong đợi. Do đó, ứng dụng có thể cần đi xa hơn câu hỏi “Hành động của tôi có thành công không?” và cuối cùng đặt câu hỏi: “Thế giới bên ngoài hiện tại có phản ánh đúng những gì nên xảy ra không?” Nếu ứng dụng kỳ vọng tồn kho sẽ giảm từ 1 → 0, nó có thể so sánh kết quả kỳ vọng với trạng thái được hệ thống bên ngoài báo cáo. Nếu kho hàng vẫn báo là 1, sự không khớp này sẽ trở thành điều mà ứng dụng có thể xác định và xử lý, thay vì giả định lặng lẽ rằng mọi thứ vẫn đồng bộ. Vấn đề tương tự xuất hiện trong thanh toán, đặt chỗ, hậu cần và nhiều quy trình khác nơi thực thi trên chuỗi tương tác với các hệ thống bên ngoài chuỗi. Điều này tạo ra một sự phân biệt quan trọng. Thực thi cho bạn biết ứng dụng đã làm gì. Đối chiếu cho bạn biết liệu thực tế có kết thúc ở vị trí mà ứng dụng kỳ vọng hay không. Đối với các ứng dụng ngày càng kết nối thực thi blockchain với thế giới bên ngoài, cả hai đều quan trọng. Bởi vì hoàn thành quy trình là một chuyện. Đảm bảo mọi hệ thống kết nối đồng thuận về những gì đã xảy ra là một chuyện khác.

Nội dung này chỉ nhằm mục đích thông tin và giáo dục. Nội dung có thể bao gồm thông tin từ bên thứ ba, nội dung được tài trợ hoặc tài liệu quảng cáo mà nhà sáng tạo nội dung có thể nhận được thù lao. Không có nội dung nào trong nguồn cấp dữ liệu này cấu thành lời khuyên đầu tư hoặc đảm bảo lợi nhuận. Bạn hoàn toàn chịu trách nhiệm về các quyết định đầu tư của mình. Luôn luôn tự nghiên cứu và thận trọng trước khi giao dịch. Chúng tôi không đảm bảo tính chính xác của thông tin từ bên thứ ba và không chịu trách nhiệm cho bất kỳ tổn thất nào có thể phát sinh. Hiệu suất trong quá khứ không phải là chỉ báo cho kết quả trong tương lai. Vui lòng tham khảo Điều khoản Cộng đồng và Tuyên bố Tiết lộ Rủi ro của chúng tôi để biết thêm chi tiết.

avatarĐăng câu trả lời của bạn

Bình luận