Phiên bản ngắn gọn
Một người bán tạo một khoản ký gửi bằng cách khóa USDC trong EscrowV2 trên Base và liệt kê phương thức thanh toán fiat, loại tiền, định danh nhận tiền và tỷ giá. Một người mua chọn thanh khoản đó, bắt đầu một ý định onchain, trả người bán trong ứng dụng thanh toán đã chọn, và gửi bằng chứng thanh toán.
Giao thức không yêu cầu bên nào tin vào một ảnh chụp màn hình chat. Bằng chứng thanh toán được kiểm tra offchain bởi dịch vụ chứng thực, và PaymentAttestation EIP-712 kết quả được xác minh onchain trước khi hợp đồng giải phóng USDC.
Vòng đời của một lượt khớp
- 01Người bán ký gửi USDC gốc trên Base vào EscrowV2 và khai báo các phương thức thanh toán, loại tiền và chi tiết người nhận được chấp nhận.
- 02Người mua chọn khoản ký gửi và phát tín hiệu một ý định qua OrchestratorV4. Ý định đó giữ lượng cụ thể trong khi người mua trả tiền.
- 03Người mua trả thẳng cho người bán trong ứng dụng fiat đã chọn. USDCtoFiat không bao giờ nhận hay giữ khoản chuyển fiat.
- 04Bằng chứng thanh toán được xác minh đối chiếu với ý định: số tiền, loại tiền, người nhận, dấu thời gian, phương thức thanh toán và các ràng buộc tuyến.
- 05Dịch vụ chứng thực ký một PaymentAttestation. Bộ xác minh onchain kiểm tra chữ ký, các giá trị snapshot và nullifier, rồi OrchestratorV4 giải phóng USDC.
Tại sao hợp đồng có thể giải phóng an toàn
| Nguyên thủy | Nó làm gì | Tại sao quan trọng |
|---|---|---|
| EscrowV2 | Giữ USDC của người bán trên Base | Cả USDCtoFiat lẫn người mua đều không thể di chuyển nó ngoài quy tắc hợp đồng |
| Intent hash | Định danh một lệnh của người mua | Gắn bằng chứng thanh toán fiat với đúng lượt khớp |
| PaymentAttestation | Kết quả xác minh được ký EIP-712 | Cho phép một hợp đồng xác minh xử lý nhiều phương thức thanh toán |
| Nullifier | Dấu một lần cho một khoản thanh toán | Ngăn cùng một khoản thanh toán bị nhận hai lần |
| Hash chi tiết người nhận | Hash của định danh nhận tiền của người bán | Gắn khoản thanh toán với người bán. Với hầu hết phương thức, hash không có salt nên ai biết tên nhận tiền đều có thể đối chiếu |
Những gì công khai
Tên nhận tiền của bạn không được ghi lên Base dưới dạng văn bản thường, nhưng mỗi khoản ký gửi lưu một hash của nó, và với hầu hết phương thức thanh toán, hash này không có salt. Bất kỳ ai biết hoặc đoán được Cashtag, Revtag, email Zelle hay ID tài khoản Venmo của bạn đều có thể băm nó và tìm mọi khoản ký gửi dùng nó, và công cụ tra cứu maker công khai của ZKP2P trả về tên nhận tiền đã đăng ký cho một hash. Hãy coi tên nhận tiền của bạn là công khai. Thông tin đăng nhập và lịch sử tài khoản trong ứng dụng thanh toán của bạn không được đăng lên Base.
Định danh nhận tiền của bạn vẫn hiển thị với đối tác cần trả tiền cho bạn. Điều đó là không thể tránh trong bất kỳ luồng thanh toán vào ứng dụng thanh toán nào: người mua không thể gửi fiat mà không có điểm đến.