Mạng lưới trạm xăng Ethereum (GSN)
Mạng trạm xăng Ethereum (GSN) tóm tắt quy trình thanh toán gas từ người dùng cuối, giúp giảm thiểu ma sát UX cho dapp. Với GSN, khách hàng không cần gas có thể tương tác với các hợp đồng thông minh Ethereum mà người dùng không cần ETH để trả phí giao dịch. GSN là một hệ thống phi tập trung giúp cải thiện khả năng sử dụng dapp mà không ảnh hưởng đến tính bảo mật.
Các trường hợp sử dụng ví dụ cho GSN:
- Quyền riêng tư : Cho phép rút mã thông báo không cần ETH được gửi đến địa chỉ ẩn
- Thanh toán gas bằng token ERC-20 được hỗ trợ : Cho phép người dùng thanh toán gas bằng token ERC-20 hỗ trợ
permit
chức năng - Thanh toán gas ngoài chuỗi : Cho phép người dùng thanh toán gas gián tiếp thông qua cuộn L2 hoặc thẻ tín dụng
- Giới thiệu : Cho phép dapp trợ cấp quá trình giới thiệu cho người dùng mới
Vấn đề
Nếu không có GSN, bất kỳ ai gửi giao dịch Ethereum đều cần có ETH để thanh toán phí gas. Điều này buộc người dùng mới phải vượt qua KYC và mua ETH trước khi họ có thể bắt đầu sử dụng bất kỳ dapp nào. Đây có thể là một trở ngại lớn đối với người dùng chưa có kinh nghiệm về tiền điện tử trước đó, không quen với khái niệm cần giữ ETH trong ví của họ để lấy xăng.
Đây cũng là một vấn đề về UX đối với những người dùng hiện tại cần liên tục bổ sung số dư ETH của mình để trả phí gas ngay cả khi họ có đủ mã thông báo ERC-20 trong ví để thanh toán cho các giao dịch họ cần.
Ngành kiến trúc
Khách hàng: ký và gửi giao dịch meta đến máy chủ chuyển tiếp
Siêu giao dịch là một cái tên ưa thích cho một ý tưởng đơn giản: máy chủ chuyển tiếp có thể gửi giao dịch của người dùng và tự thanh toán chi phí gas. Thay vì ký một giao dịch Ethereum cần ETH để lấy gas, người dùng ký một tin nhắn chứa thông tin về giao dịch mà họ muốn thực hiện và gửi nó đến máy chủ chuyển tiếp.
Máy chủ chuyển tiếp: gửi giao dịch và trả phí gas giao thức Ethereum để thực hiện việc đó
Khi nhận được yêu cầu chuyển tiếp giao dịch từ khách hàng, máy chủ Rơle sẽ xác thực giao dịch này để đảm bảo rằng nó trả lại số ETH đủ để trang trải chi phí gửi giao dịch và một số phí bổ sung để cho phép người chuyển tiếp kiếm được lợi nhuận.
Nếu mọi thứ đều ổn, người chuyển tiếp sẽ ký một giao dịch Ethereum gốc, gửi nó đến mempool và trả lại giao dịch đã ký cho khách hàng để xác thực. Trong trường hợp có sự cố xảy ra, khách hàng chỉ cần chọn một máy chủ chuyển tiếp khác và thử gửi giao dịch qua một máy chủ mới.
Điều này tạo ra hiệu ứng “một cho tất cả và tất cả cho một”, trong đó việc gỡ bỏ giao diện người dùng của bất kỳ dapp nào cũng khó như việc gỡ bỏ toàn bộ mạng. Càng nhiều dapp tham gia thì đảm bảo tính khả dụng càng mạnh mẽ.
Paymaster: đồng ý hoàn trả phí gas cho máy chủ chuyển tiếp
Trong GSN, tất cả logic hoàn trả gas được triển khai bên trong hợp đồng Paymaster. Người quản lý thanh toán duy trì số dư ETH trong RelayHub và có thể triển khai bất kỳ logic kinh doanh nào để quyết định chấp nhận hay từ chối giao dịch meta. Ví dụ: chỉ chấp nhận các giao dịch của người dùng trong danh sách trắng hoặc các phương thức hợp đồng cần thiết cho người dùng tham gia cũng đã vượt qua hình ảnh xác thực hoặc chỉ các giao dịch bao gồm việc hoàn trả bằng mã thông báo cho Paymaster, v.v.
Forwarder: xác minh chữ ký người gửi và nonce
Hợp đồng người nhận nhận biết giao dịch meta chỉ dựa vào một hợp đồng giao nhận nhỏ đáng tin cậy để bảo mật cho họ. Hợp đồng này xác minh chữ ký và số nonce của người gửi ban đầu.
Hợp đồng người nhận: nhìn thấy người gửi ban đầu và thực hiện giao dịch ban đầu
Bất kỳ phương thức công khai nào của hợp đồng người nhận đều có thể được thực hiện thông qua GSN.
Để hỗ trợ các hợp đồng người nhận giao dịch meta kế thừa từ một lớp cơ sở đơn giản và thay thế msg.sender
bằng _msgSender()
. Nó trả về người gửi ban đầu đã ký yêu cầu giao dịch meta.
Vẫn có thể thực hiện lệnh gọi giao dịch gốc cho hợp đồng này. Phương thức này _msgSender()
sẽ đơn giản trả về msg.sender
nếu hợp đồng được gọi trực tiếp.
RelayHub: điều phối quy trình theo cách không cần tin cậy
RelayHub kết nối người dùng đang chạy máy khách, máy chủ chuyển tiếp và người quản lý thanh toán để những người tham gia không cần biết hoặc tin tưởng lẫn nhau.
Các nhà phát triển Dapp không cần phải hiểu hoặc tin tưởng vào hoạt động bên trong của RelayHub để tích hợp với GSN. Hợp đồng người nhận không gặp phải các vấn đề bảo mật tiềm ẩn trong RelayHub.
Dưới lớp vỏ bọc, RelayHub giúp khách hàng khám phá máy chủ chuyển tiếp của bên thứ ba tốt nhất, ngăn chặn các máy chủ chuyển tiếp của bên thứ ba kiểm duyệt các giao dịch và đảm bảo Paymasters trả lại cho các máy chủ chuyển tiếp phí gas cộng với phí giao dịch.
Đánh giá
Chưa có đánh giá nào.