#dusk $DUSK @Dusk
Toàn bộ hệ thống của Dusk được xây dựng theo kiểu mô-đun. DuskDS là lớp định cư (settlement) và sẵn có dữ liệu (data-availability) — nó chạy cơ chế đồng thuận Succinct Attestation, xử lý staking và nắm giữ tài sản gốc DUSK. DuskEVM là một lớp thực thi (execution) riêng, tương thích Solidity, được xây dựng trên OP Stack (một sequencer chạy op-geth, kèm theo một batcher đăng dữ liệu giao dịch trở lại DuskDS dưới dạng blob), và nó được định cư trở lại vào DuskDS thay vì dựa vào cơ chế bảo mật độc lập của chính nó. DuskVM là môi trường thực thi bản địa (native execution) tiếp theo, vẫn còn đang trong giai đoạn hình thành, dành cho các hợp đồng Rust/WASM, hướng tới các ứng dụng cần quyền riêng tư bản địa hoặc tích hợp ở cấp độ giao thức. Piecrust là runtime WASM (được xây dựng trên Wasmer) ban đầu được nhúng trong DuskDS và giờ đang được tách ra để đưa vào DuskVM. Hệ thống mạng chạy trên Kadcast — một giao thức broadcast có cấu trúc theo phong cách Kademlia thay vì kiểu gossip ngẫu nhiên.
Logic đằng sau kiến trúc này là: “một môi trường thực thi cho mọi thứ” không hoạt động khi một chuỗi vừa muốn phục vụ khả năng ghép nối kiểu DeFi vừa đồng thời phát hành tài sản được quản lý. Thay vì ép các nhà phát triển Solidity chuyển sang môi trường Rust/WASM bản địa, hoặc ép các ứng dụng cần quyền riêng tư bản địa phải tuân theo các ràng buộc của EVM, thì lớp định cư và đồng thuận được đặt trên một lớp nền dùng chung, còn các môi trường thực thi sẽ được chuyên biệt hóa ở phía trên. Kadcast cũng phù hợp với logic tương tự — broadcast có cấu trúc giúp băng thông và độ trễ dự đoán được hơn, điều này quan trọng hơn đối với một chuỗi tuyên bố tính xác định (deterministic finality) so với một chuỗi xem finality theo xác suất.
Việc tách thực thi khỏi định cư còn có nghĩa là các đảm bảo của DuskEVM chỉ mạnh ngang với cầu nối và cơ chế batching kết nối nó trở lại DuskDS. Khi DuskVM trưởng thành song song với DuskEVM, mạng cuối cùng sẽ chạy ba “mặt” thực thi trên cùng một lớp định cư. Việc tách này thực sự làm giảm ma sát tích hợp cho nhà phát triển, hay chỉ đơn giản là chuyển độ phức tạp từ “tôi dùng VM nào” sang “lớp nào thực sự nắm giữ cam kết của tôi”?
Toàn bộ hệ thống của Dusk được xây dựng theo kiểu mô-đun. DuskDS là lớp định cư (settlement) và sẵn có dữ liệu (data-availability) — nó chạy cơ chế đồng thuận Succinct Attestation, xử lý staking và nắm giữ tài sản gốc DUSK. DuskEVM là một lớp thực thi (execution) riêng, tương thích Solidity, được xây dựng trên OP Stack (một sequencer chạy op-geth, kèm theo một batcher đăng dữ liệu giao dịch trở lại DuskDS dưới dạng blob), và nó được định cư trở lại vào DuskDS thay vì dựa vào cơ chế bảo mật độc lập của chính nó. DuskVM là môi trường thực thi bản địa (native execution) tiếp theo, vẫn còn đang trong giai đoạn hình thành, dành cho các hợp đồng Rust/WASM, hướng tới các ứng dụng cần quyền riêng tư bản địa hoặc tích hợp ở cấp độ giao thức. Piecrust là runtime WASM (được xây dựng trên Wasmer) ban đầu được nhúng trong DuskDS và giờ đang được tách ra để đưa vào DuskVM. Hệ thống mạng chạy trên Kadcast — một giao thức broadcast có cấu trúc theo phong cách Kademlia thay vì kiểu gossip ngẫu nhiên.
Logic đằng sau kiến trúc này là: “một môi trường thực thi cho mọi thứ” không hoạt động khi một chuỗi vừa muốn phục vụ khả năng ghép nối kiểu DeFi vừa đồng thời phát hành tài sản được quản lý. Thay vì ép các nhà phát triển Solidity chuyển sang môi trường Rust/WASM bản địa, hoặc ép các ứng dụng cần quyền riêng tư bản địa phải tuân theo các ràng buộc của EVM, thì lớp định cư và đồng thuận được đặt trên một lớp nền dùng chung, còn các môi trường thực thi sẽ được chuyên biệt hóa ở phía trên. Kadcast cũng phù hợp với logic tương tự — broadcast có cấu trúc giúp băng thông và độ trễ dự đoán được hơn, điều này quan trọng hơn đối với một chuỗi tuyên bố tính xác định (deterministic finality) so với một chuỗi xem finality theo xác suất.
Việc tách thực thi khỏi định cư còn có nghĩa là các đảm bảo của DuskEVM chỉ mạnh ngang với cầu nối và cơ chế batching kết nối nó trở lại DuskDS. Khi DuskVM trưởng thành song song với DuskEVM, mạng cuối cùng sẽ chạy ba “mặt” thực thi trên cùng một lớp định cư. Việc tách này thực sự làm giảm ma sát tích hợp cho nhà phát triển, hay chỉ đơn giản là chuyển độ phức tạp từ “tôi dùng VM nào” sang “lớp nào thực sự nắm giữ cam kết của tôi”?