Thứ gì đó về lớp adapter của DuskEVM khiến mình tò mò tuần này, và nó còn thú vị hơn nhiều so với “chiêu trò” phổ biến mà hầu hết các chuỗi EVM dùng: “chúng tôi hỗ trợ Solidity”.

Đây là vấn đề thực sự. Chuỗi gốc của Dusk nói GraphQL và một thứ gọi là RUES cho sự kiện và trạng thái. Công cụ Ethereum không hề hiểu điều đó. Mỗi trình khám phá, ví và bộ lập chỉ mục đều mong đợi các block, receipt, logs và proof được định dạng theo đúng “cách” rất cụ thể của Ethereum. Vì vậy, cần có thứ gì đó đứng giữa trạng thái gốc của Dusk và phần hình dạng mà hệ thống mong đợi, để dịch chính xác đúng mọi lần. Chỉ cần một trường không nhất quán là cả chuỗi hệ thống phía sau có thể “gãy lặng lẽ” mà không ai nhận ra ngay.

Vài điểm không khớp làm ví dụ cho điều đó. Dusk định danh giá trị ở lớp cơ sở bằng LUX, trong khi công cụ EVM lại kỳ vọng là wei, nên mỗi phản hồi RPC cần một phép chuyển đổi thật sự chứ không chỉ là đổi nhãn. Các giao dịch nạp từ Dusk L1 sang DuskEVM dùng kiểu alias địa chỉ theo phong cách OP vì không có cách gốc nào để xác định chính xác hợp đồng nào đã kích hoạt cầu nối hay việc nhận giá trị; vì vậy tx.origin cần nhắn tin liên miền để truy ngược xem ai mới là người gửi thật sự. Và vì việc thanh toán cuối cùng diễn ra trên DuskDS thay vì Ethereum, nên các “ván tranh chấp” và proof lỗi mượn từ OP Stack đã phải được viết lại dựa trên cơ chế đồng thuận riêng của Dusk, thay vì dựa trên của Ethereum.

Đó là thứ “chốt” lại trong đầu mình. Fork OP Stack không phải phần khó. Trình sequencer và quy trình tạo block vẫn giữ được tính quen thuộc như op-geth. Nhưng phần settlement của proof và ngữ nghĩa về giá trị đã phải được xây lại theo nền tảng gốc của Dusk. Việc quyết định ranh giới nó nằm ở đâu mới là phần công việc kỹ thuật thực sự.

#dusk $DUSK @Dusk

$ETH