Một thiết kế cầu lạc quan có khả năng gửi và rút tiền ngay lập tức (nhưng có giới hạn tỷ lệ)
Tổng quan
Tổng quan
Trong bài báo này, chúng tôi đề xuất một sơ đồ chuyển giao ERC20 lạc quan tức thời (tức là cầu nối) giữa hai chuỗi dựa trên EVM. Thay vì cơ chế hai bước (yêu cầu/thử thách) được sử dụng trong hầu hết các giải pháp Lạc quan (ví dụ: Cầu nối lạc quan giữa mạng chính và chuỗi POS), nơi người dùng phải đợi trong thời gian thử thách lâu. Phương pháp này có thể ngay lập tức hoàn thành hoạt động trên chuỗi mục tiêu (ví dụ: đúc Mã thông báo được bọc hoặc trích xuất Mã thông báo từ hợp đồng hộp khóa). Ngoài ra, cách tiếp cận này là bất khả tri theo chuỗi, có nghĩa là nó có thể dễ dàng mở rộng quy mô để kết nối các tài sản trên nhiều chuỗi EVM bất kể sự đồng thuận của chúng.
tiền đề chương trình
Chuỗi nguồn S với mã thông báo T
Chuỗi đích D với mã thông báo được bao bọc W
Người dùng muốn trao đổi mã thông báo T trên chuỗi nguồn S để lấy mã thông báo W trên chuỗi mục tiêu D với tỷ lệ 1:1
Người khai thác đặt một lượng mã thông báo W nhất định làm tài sản thế chấp trên chuỗi mục tiêu D và đúc mã thông báo W cho người dùng
Khái niệm thiết kế cơ bản
Ý tưởng cơ bản là cho phép bất kỳ ai cũng có thể đúc token W vô hạn, miễn là:
Tổng các giá trị được tạo gần đây của CHALLENGE_PERIOD <= giá trị tài sản thế chấp của thợ đào bị khóa trên chuỗi mục tiêu D / COLLATERAL_RATIO; và
Những người đúc tiền chưa được thử thách trong CHALLENGE_PERIOD cuối cùng.
Ví dụ (trường hợp tốt)
Người dùng muốn chuyển USDT từ ETH (nguồn) sang BSC (đích). Giả sử COLLATERAL_RATIO (tỷ lệ thế chấp) = 2, CHALLENGE_PERIOD (thời gian thử thách) = 1 ngày. Công cụ khai thác đã khóa 100 nghìn USDT bị cong vênh trên BSC làm tài sản thế chấp, điều đó có nghĩa là nó có thể đúc tới 50 nghìn USDT trong bất kỳ cửa sổ 1 ngày nào trên BSC.
Tại thời điểm 0, người dùng 1 khóa/chuyển 20k USDT từ ETH, máy khai thác phát hiện sự kiện và đúc 20k WUSDT cho người dùng trên BSC (hạn ngạch còn lại là 30k tại thời điểm này).
Vào thời điểm 12h, người dùng 2 khóa/chuyển 30 nghìn USDT từ ETH và máy khai thác phát hiện sự kiện và gửi 30 nghìn WUSDT cho người dùng trên BSC (hạn ngạch còn lại là 0 tại thời điểm này).
Vào thời điểm 18h, Người dùng 3 khóa/chuyển 10 nghìn USDT từ ETH, máy đào theo dõi sự kiện, tuy nhiên, nó không thể đúc bất kỳ WUSDT nào vì nó đã đúc 50 nghìn trong cửa sổ 1 ngày gần đây nhất.
Vào thời điểm 24.1h, thợ đào đúc 10k USDT cho người dùng thứ 3 trên BSC (hạn ngạch còn lại là 10k vào thời điểm này).
Ví dụ (với Thử thách)
Giả sử PENALTY_RATE (tỷ lệ phạt) = 1
Tại thời điểm 0, Người dùng 1 khóa/chuyển 20 nghìn USDT từ ETH. Máy đào đã phát hiện ra sự kiện này, tuy nhiên, nó đã đúc 30 nghìn WUSDT, tức là thêm 10 nghìn WUSDT đã được đúc cho người dùng trên BSC.
Trong CHALLENGE_PERIOD, người xác minh nắm bắt được người khai thác độc hại và bắt đầu thách thức người khai thác trên BSC với đa số phiếu bầu.
mở rộng
mở rộng
Sử dụng Mã thông báo gốc thay vì Mã thông báo được bao bọc trên chuỗi mục tiêu
Nếu chuỗi đích có cùng mã thông báo gốc với chuỗi nguồn (ví dụ: USDT được phát hành trên nhiều chuỗi), chúng tôi có thể sử dụng mã thông báo gốc làm tài sản thế chấp. Khi chuyển mã thông báo qua các chuỗi, người khai thác sẽ không đúc mã thông báo được gói mà rút mã thông báo trong hợp đồng chuỗi mục tiêu, mã thông báo có thể đến từ:
Mã thông báo gốc bị khóa cục bộ (và được đúc/rút trên một chuỗi khác)
Tài sản thế chấp, cung cấp thanh khoản thông qua tài sản thế chấp.
Nếu mã thông báo gốc của chuỗi mục tiêu đã hết, giải pháp kết hợp có thể hỗ trợ cả mã thông báo gốc và mã thông báo được bao bọc trên chuỗi mục tiêu:
Nếu có đủ thanh khoản trên chuỗi mục tiêu. Chỉ rút mã thông báo gốc để chuyển chuỗi chéo;
Nếu không, những người khai thác có thể rút mã thông báo gốc và sau đó bù phần còn lại bằng cách đúc mã thông báo được gói.
Trong một giải pháp kết hợp, mã thông báo được bao bọc có thể
Chuyển đổi tự nhiên thành mã thông báo gốc miễn là có đủ thanh khoản; hoặc là
Theo phương pháp được đề xuất của chúng tôi, hãy chuyển sang một chuỗi khác để thay thế cho mã thông báo gốc hoặc mã thông báo được bao bọc trên một chuỗi khác.
tiện ích mở rộng khác
Chuyển mã thông báo được gói ban đầu. Vì tài sản thế chấp của người khai thác có thể không có mã thông báo được bao bọc, nên chúng tôi vẫn có thể sử dụng cơ chế hai bước hoặc biểu quyết đa số để tạo các mã thông báo được bao bọc ban đầu này.
Nhiều chuỗi được hỗ trợ. Máy đúc tiền có thể lắng nghe nhiều chuỗi và miễn là sự kiện khóa/chuyển giao tương ứng được tìm thấy trên bất kỳ chuỗi nào, nó có thể được đúc.
Thay đổi cài đặt bộ xác thực. Chúng tôi có thể bắt đầu với một bộ trình xác thực cố định có danh tiếng tốt, nhưng hãy tiến xa hơn và thay đổi giao thức bằng cách sử dụng bộ trình xác thực được phát triển bởi cầu Lạc quan hiện có.
chuyển khoản lớn. Cơ chế yêu cầu/thử thách hai bước vẫn có thể được sử dụng và người khai thác có thể tiếp tục đúc cho đến khi thỏa mãn chuyển khoản lớn.
Tránh Gas War. Nếu nhiều người khai thác muốn khai thác một sự kiện khóa/chuyển trên chuỗi nguồn, người dùng có thể chỉ định một người khai thác ưu tiên cho chuyển giao chuỗi chéo và chỉ người khai thác ưu tiên mới có thể khai thác trong vòng PREFERRED_MINT_PEROID (ví dụ: 30 phút)
sự giống nhau
Nó có một số điểm tương đồng với các giao thức cho vay (chẳng hạn như Compound/Aave) với các ràng buộc "vay" khác nhau.


