Biên soạn gốc: Thuyền trưởng Hiro
Biên soạn gốc: Thuyền trưởng Hiro
Nguồn gốc: The Way of Defi
Eric Wall đã tweet tin tức vào ngày khác.
Một số bài học kỹ thuật đáng lo ngại mà tôi học được từ các thí nghiệm của EricaDAO:
Ethereum L2 (mạng lớp thứ hai) có một số hạn chế không thường xuyên được thảo luận (ít nhất là tôi chưa thấy nhà khoa học nào thảo luận về những vấn đề này). Mặc dù người dùng có thể thực hiện giao dịch trực tiếp trên L2, nhưng việc triển khai hợp đồng không dễ dàng như vậy.
Nó thôi thúc tôi suy nghĩ về cách một mã thông báo (hoặc dapp, ứng dụng phi tập trung) có thể được triển khai đầy đủ trên một L2, với các kế hoạch sau này sẽ mở rộng sang L1 (mạng chính) hoặc các L2 khác. Rõ ràng, trải nghiệm mà Eric đề cập trong bài đăng không thân thiện, vì vậy trước khi chúng ta có thể tìm hiểu chuyện gì đã xảy ra với anh ấy, trước tiên chúng ta cần tìm hiểu ý nghĩa của việc trở thành L2 đầu tiên trong thế giới mới này.
Trên thực tế, vấn đề mà Eric và những người bạn của anh ấy gặp phải là khi họ lần đầu tiên tạo mã thông báo trên L2, họ không thể "rút tiền" nó sang L1.
Chúng tôi đã triển khai hợp đồng ERC20 trên @arbitrum, nhưng không biết cách rút mã thông báo về L1.
Thông thường, nếu bạn muốn rút mã thông báo của mình từ L2 sang L1 (và có thể bạn sẽ làm như vậy phải không?), trước tiên, bạn cần triển khai hợp đồng thông minh trên L1, sau đó gửi mã thông báo của bạn vào L2. Nhưng sau đó bạn phải trả tất cả các khoản phí trên chuỗi và phí bắc cầu.
Từ "rút tiền" được đề cập trong bài đăng của Eric rất quan trọng, nó có một ý nghĩa rất cụ thể. Trước tiên, hãy xem xét thông lệ tiêu chuẩn hiện tại để mở rộng quy mô từ Ethereum sang L2. Nó hoạt động như sau:
Ở đây chúng ta có hai thao tác cơ bản nhất của cầu nối chuỗi: nạp tiền ở bên trái và rút tiền ở bên phải.
Trong ví dụ bên trái, mã thông báo (DAI trong trường hợp này) bị khóa ở phía L1 của cầu nối mã thông báo Arbitrum. Sau đó, một phần thông tin có liên quan được truyền giữa các chuỗi và một mã thông báo mới được đúc ở phía L2, mà chúng tôi gọi là "Arbitrum DAI". Lưu ý rằng mã thông báo L1 và L2 (DAI và Arbitrum DAI) không giống nhau. Có thể bạn nghĩ rằng chúng giống nhau, nhưng không phải vậy. Thao tác trên được gọi là "nạp tiền".
Trong ví dụ bên phải, chúng tôi thực hiện hoàn toàn ngược lại, ghi "DAI lạc quan" đã tạo trước đó, sau đó gửi một thông báo từ L2 đến L1 để yêu cầu cầu nối L1 giải phóng DAI đã khóa trước đó. Hoạt động này được gọi là "rút tiền".
Đối với người dùng cuối, có vẻ như cùng một "DAI" đang lưu hành trên các mạng chính và mạng cấp hai khác nhau. Trong hầu hết các trường hợp, bạn có thể nghĩ về nó theo cách này, nhưng nếu bạn đang triển khai một mã thông báo mới, bạn nên lưu ý đến những điều tinh tế.
Trước tiên, chúng ta cần hiểu sự khác biệt giữa phiên bản mã thông báo được bao bọc và mã thông báo gốc (mã thông báo gốc). Trong ví dụ trên, mã thông báo gốc thực sự được triển khai trên L1, được coi là "DAI thực sự". Chỉ một chuỗi có thể lưu trữ mã thông báo gốc. Tất cả những gì cây cầu có thể làm là đúc một mã thông báo khác, có thể được đổi lấy DAI được ký gửi ban đầu sau khi quá trình đúc hoàn tất. Đây chính xác là mối quan hệ giống nhau giữa ETH và WETH.
Giờ đây, một trong những điều kiện tiên quyết để tất cả các mã thông báo được bao bọc có thể đổi thành mã thông báo gốc là tổng nguồn cung của bất kỳ mã thông báo được bao bọc nào phải nhỏ hơn hoặc bằng số lượng mã thông báo gốc bị khóa trong cầu. Miễn là mối quan hệ này được duy trì, các mã thông báo có thể được hoán đổi một cách hiệu quả (độ trễ 7 ngày từ việc rút tiền L2 được bỏ qua ở đây).
Bây giờ, hãy xem mã thông báo gốc lần đầu tiên được triển khai trên Arbitrum.
Như bạn có thể thấy, việc lựa chọn vị trí đặt mã thông báo gốc là hoàn toàn tùy ý. Bạn có thể xây dựng một đồng tiền gốc và phân nhánh nó từ L1 hoặc L2 sang mọi chuỗi khác. Chúng tôi đã chọn Arbitrum làm chuỗi để triển khai mã thông báo gốc vì chúng tôi có thể gắn bó với Arbitrum mà không cần chạm vào L1 (tránh phí gas siêu cao) cho đến khi chúng tôi sẵn sàng.
Khi chọn một vị trí tiền xu gốc, có hai phần quan trọng cần lưu ý:
1. Bảo mật
Chúng tôi đã đề cập đến vấn đề về khả năng thay thế trước đó. Nếu bất kỳ mã thông báo nào bị khóa ở một bên của cây cầu bị đánh cắp, thì các mã thông báo mới đúc sẽ không còn được hỗ trợ và bạn sẽ mất khả năng thay thế. Điều này rất có thể xảy ra, nhưng điều quan trọng cần nhớ là tương tự như hiệu ứng thùng, mã thông báo của bạn an toàn như chuỗi khối yếu nhất. Đây là lý do tại sao Ethereum là ứng cử viên tốt nhất cho một đồng tiền gốc, vì nó có thể kết nối trực tiếp với hầu hết các chuỗi khối khác chỉ bằng một vài thao tác đơn giản và bản thân Ethereum được cho là chuỗi khối an toàn nhất.
Tuy nhiên, nếu chúng tôi tin rằng L2 kế thừa mô hình bảo mật của Ethereum, thì việc triển khai mã thông báo gốc trên L2 sẽ không khác biệt về bảo mật so với việc triển khai trên mạng chính Ethereum. Đối với các dự án nhỏ hơn này, việc bắt đầu triển khai các dự án từ L2 là rất hợp lý để tránh chi phí gas cực cao của mạng chính Ethereum.
2. Quyền đúc tiền
Do tính chất không đồng bộ của giao tiếp xuyên chuỗi, nếu nhiều chuỗi được phép đúc tiền bất cứ lúc nào, thì chúng tôi không thể đảm bảo cung cấp mã thông báo.
Nếu bạn mở rộng khả năng đúc ra ngoài chuỗi gốc, thì bạn có thể gặp phải tình huống trong đó số lượng mã thông báo bị khóa trên cầu trở nên ít hơn tổng nguồn cung đúc. Điều này phá hủy khả năng quy đổi của mã thông báo được bao bọc và do đó, khả năng thay thế của nó với mã thông báo gốc. Chúng tôi không muốn điều đó xảy ra.
Một thực tế phổ biến là đúc trước các mã thông báo gốc trên cầu và thông báo cho bên kia về "hợp đồng quyền đúc tiền khác", họ có thể đúc các mã thông báo được gói này theo logic tùy ý miễn là không vượt quá số lượng phân bổ mã thông báo. Đây là cách bạn cho phép đúc đồng thời trên nhiều chuỗi. Điều này thật dễ dàng với các mã thông báo có thể thay thế được, nhưng NFT (Mã thông báo không thể thay thế) đặt ra một số thách thức vì bạn có thể không biết trước mã thông báo nào sẽ được đúc. Tôi sẽ để câu hỏi đó cho những người khác vì tôi không phải là chuyên gia NFT.
liên kết gốc


