Tự động hoàn trả có cần ra mắt không, có thể thiết kế bốn “cửa”. Cửa thứ nhất xem đối tượng được gọi; cửa thứ hai xem tài sản thanh toán; cửa thứ ba xem sự thay đổi của khoản nợ; cửa thứ tư xác nhận những quyền nào không hề di chuyển. Nếu biên bản phản hồi của bất kỳ cửa nào còn mơ hồ thì dừng lại ở trạng thái thử nghiệm.

@BabylonLabs_io Trustless Bitcoin Vaults (TBV) cung cấp các điểm đối chiếu rõ ràng: repayToCorePosition cho phép bên thứ ba thanh toán nợ thay cho borrower được chỉ định. Nếu thanh toán bằng ERC-20 thông thường, quy trình thường là approve trước rồi mới repay; khi đã có đủ allowance, cũng có thể đi thẳng vào repay. Hành động trước xử lý hạn mức sử dụng token; hành động sau mới xử lý khoản nợ.

Vì vậy, đường đi màu xanh chỉ nên xuất hiện các thay đổi này: allowance của địa chỉ thanh toán được điều chỉnh theo đúng lệnh gọi thực tế; nợ của borrower giảm do repay; và log có thể đối chiếu hai bên tương ứng. Lúc này, tài khoản dịch vụ thực hiện việc hỗ trợ giảm nợ một lần, không cần phải được mô tả như là “chủ sở hữu vị thế” mới.

Đường đi màu đỏ cũng rất rõ ràng: nếu API yêu cầu thêm năng lực xử lý tài sản, hoặc ghi người thanh toán là người kiểm soát borrower, thì sẽ vượt qua nhiệm vụ lần này. Việc xác nhận bằng hai lần ví không thể chứng minh tồn tại quyền lực lớn hơn, vì số lần phụ thuộc vào trạng thái allowance, không phải là nấc thang về cấp quyền.

Trước khi ra mắt, hãy viết bốn cửa vào cây quyết định của người dùng: thấy rõ được lệnh gọi và đối tượng thanh toán thì có thể tiếp tục; nếu không giải thích được một chữ ký nào đó đã thay đổi điều gì, hãy bổ sung chứng cứ trước; nếu xuất hiện yêu cầu không liên quan đến giảm nợ, lập tức thoát ra. Như vậy tài khoản nhóm có thể gánh phần thanh toán ứng cứu, còn ranh giới người dùng vẫn độc lập.

Nghiệm thu cuối cùng chỉ dựa vào từng biên bản phản hồi theo hạng mục, không chấp nhận nhãn tổng “thành công khi代还”. Trước hết phải chứng minh thật sự đã giảm nợ của ai, rồi kiểm tra riêng ai có thể rút lại tài sản thế chấp và Bitcoin được chỉ định đi về đâu.

@BabylonLabs_io $BABY #baby