Kênh Riêng Tư là gì?
Kênh riêng tư là một mạng thanh toán off-chain được neo vào Solana. Người dùng nạp token SPL vào chương trình ký quỹ on-chain, sau đó giao dịch off-chain thông qua gateway với tốc độ cao và không tốn phí cho mỗi lần chuyển. Quyết toán trở lại Solana Mainnet diễn ra thông qua bằng chứng Sparse Merkle Tree, đảm bảo quỹ luôn có thể được hoàn trả và không thể chi tiêu gấp đôi.
Khác với luồng thanh toán gốc của Solana, các giao dịch chuyển tiền trong kênh không xuất hiện on-chain cho đến khi người dùng rút tiền. Mạng kênh vận hành pipeline giao dịch riêng (dedup -> sig verify -> sequencer -> executor -> settler) xử lý các giao dịch độc lập với thời gian khối của Solana.
Các Bên Tham Gia
Quản Trị Viên Instance
Quản trị viên triển khai Instance PDA thông qua CreateInstance và kiểm soát
các mint token SPL nào được chấp nhận (AllowMint / BlockMint). Quản trị viên
cấp phép và thu hồi quyền của operator thông qua AddOperator / RemoveOperator,
và có thể chuyển quyền quản trị thông qua SetNewAdmin. Mỗi instance chỉ có một
quản trị viên. Việc chuyển quyền quản trị là không thể hoàn tác trong một bước
duy nhất: quản trị viên hiện tại không thể lấy lại vai trò mà không có sự hợp tác
của quản trị viên mới.
Các Operator
Các operator được cấp phép bởi quản trị viên. Họ sở hữu một Operator PDA và là
các tài khoản duy nhất được phép gọi ReleaseFunds (để quyết toán các lần rút
tiền lên Mainnet) và ResetSmtRoot (để xoay vòng Sparse Merkle Tree). Các
operator bỏ qua tất cả các kiểm tra quyền sở hữu trong gateway và có quyền truy
cập vào tất cả các phương thức JSON-RPC bao gồm getBlock, getTransaction và
simulateTransaction. Vai trò JWT: "operator". Các operator phải được cấp
phép trực tiếp trong cơ sở dữ liệu; không có cơ chế tự nâng cấp quyền. Xem
hướng dẫn Operators để biết chi tiết về triển khai và
cấu hình.
Người Dùng
Người dùng tự đăng ký thông qua Auth Service. Vai trò JWT: "user". Người dùng
có thể gọi Deposit trực tiếp trên Escrow Program và khởi tạo yêu cầu rút tiền
thông qua lệnh WithdrawFunds phía kênh trên Withdraw Program. Quyền truy cập
gateway bị giới hạn trong các ví đã xác minh của họ; họ không thể gọi getBlock,
getTransaction hoặc simulateTransaction.
Vòng Đời Kênh
- Tạo instance - Quản trị viên gọi
CreateInstance, tạoInstancePDA và cấu hình các mint được phép. - Nạp tiền - Người dùng nạp token SPL vào escrow thông qua lệnh
Deposit. Token được chuyển đến associated token account của instance. - Chuyển tiền off-chain - Người dùng gửi các giao dịch chuyển tiền qua gateway. Các giao dịch được sắp xếp và thực thi trên mạng kênh mà không tác động đến Mainnet.
- Khởi tạo rút tiền - Người dùng gọi
WithdrawFundstrên Withdraw Program (phía kênh) để đốt số dư của họ và báo hiệu yêu cầu rút tiền. - Quyết toán trên Mainnet - Operator cung cấp bằng chứng loại trừ SMT
hợp lệ và gọi
ReleaseFundstrên Escrow Program (Mainnet), giải phóng token về ví của người dùng. - Xoay vòng cây - Khi SMT tiếp cận dung lượng tối đa (65.536 lá), operator
gọi
ResetSmtRootđể xoay vòng cây và bắt đầu một epoch mới.
Chuyển Tiền
Rút Tiền
Khi Nào Nên Sử Dụng Kênh Riêng Tư
Sử dụng kênh riêng tư khi ứng dụng của bạn cần:
- Thông lượng off-chain - khối lượng giao dịch của bạn sẽ làm bão hòa TPS của Solana hoặc bạn cần xác nhận dưới một giây
- Bảo mật - danh tính các bên và số tiền giao dịch không được xuất hiện on-chain
- Không tốn phí mỗi lần chuyển tiền - chuyển tiền thường xuyên khi chi phí SOL cho mỗi giao dịch quá cao
Thay vào đó, hãy sử dụng chuyển tiền SPL gốc khi:
- Khả năng kết hợp on-chain là bắt buộc (DeFi, hoán đổi, cho vay; các chương trình khác phải có thể quan sát hoặc hành động dựa trên giao dịch)
- Quyết toán một lần là đủ và bảo mật không phải là mối lo ngại
- Không có cơ sở hạ tầng gateway nào khả dụng hoặc khả thi về mặt vận hành
Is this page helpful?