#dusk $DUSK

So sánh DuskVM với DuskEVM trên Mạng DUSK

@Dusk_Foundation Lúc đầu tôi nghĩ việc chọn giữa DuskVM và DuskEVM chủ yếu phụ thuộc vào ngôn ngữ: Rust và WASM so với Solidity với bộ công cụ EVM mà ai cũng đã quen dùng. Tối nay tôi đã dành nhiều thời gian hơn dự kiến, và ở đâu đó trong quá trình đó, nó không còn trông giống một lựa chọn về ngôn ngữ nữa.

DuskVM nằm ngay ở lớp nền tảng của mạng, nên nó có quyền truy cập trực tiếp vào mảng quyền riêng tư và zero-knowledge mà Dusk thực sự được xây dựng xoay quanh. DuskEVM chạy các hợp đồng Solidity thông qua bộ công cụ EVM chuẩn, nhưng vẫn kết toán và công bố dữ liệu của nó trở lại thông qua cùng lớp DuskDS đó, và dù thế nào đi nữa thì đều trả gas bằng token DUSK giống hệt. Đó là một sự đối xứng kỳ lạ mà tôi cứ mãi quay lại: các đường thực thi khác nhau, nhưng cùng kết toán, cùng token nằm bên dưới cho cả hai.

Chọn DuskVM không chỉ là chọn một ngôn ngữ, mà là chọn mức độ “gần kề” với chính các primitive quyền riêng tư. Chọn DuskEVM không chỉ là sự quen thuộc, mà là khoảng cách tới các primitive đó dành cho bộ công cụ mà phần lớn nhà phát triển đã biết. Đó là một sự “ma sát” tinh tế mà nhiều so sánh bỏ qua. #dusk

Có một lớp thứ ba nằm dưới cả hai mà tôi cứ quay lại mãi. Tài liệu của Dusk xác nhận rằng DuskEVM cho phép các ví EVM, cầu nối (bridges) và sàn giao dịch hiện có cắm vào với ít thay đổi mã nhất, nhanh hơn nhiều so với một tích hợp native. DuskVM không có lối tắt tương đương. Cần phải xây dựng công cụ cho nó, từ con số 0, mỗi lần như vậy. $DUSK

Tính tương đương về tính năng giữa hai bên không được đảm bảo chỉ vì cả hai cùng kết toán qua một lớp và dùng chung một token gas. Những gì trông giống như “tùy chọn” trên bề mặt thực ra là hai “đặt cược” khác nhau về nơi chi phí thực sự được trả: trả trước ở phần tooling, hay trả sau trong những gì mà môi trường không thể làm.

Vậy Dusk có thực sự đưa ra cho builder một lựa chọn ở đây, hay chỉ đơn giản quyết định giúp họ nơi mà sự ma sát sẽ xuất hiện? @Dusk