#dusk $DUSK @Dusk
Tôi đã lần theo cách DuskVM và DuskEVM thực sự phân chia công việc trên Dusk, vì cả hai đều thực thi hợp đồng nhưng rõ ràng không thể thay thế cho nhau.
DuskVM chạy các hợp đồng Rust/WASM, được xây dựng trên Wasmtime, trực tiếp trên L1 của Dusk. Đây là con đường dành cho các hợp đồng cần quyền truy cập trực tiếp vào mô hình giao dịch của chính Dusk, các tính năng bảo mật riêng tư, hoặc năng lực zero-knowledge — các hàm host thân thiện với ZK của Piecrust (PLONK, Groth16, BLS) nằm ở đây một cách cụ thể.
DuskEVM chạy ở nơi hoàn toàn khác. đó là một môi trường tương đương EVM dựa trên OP Stack — mã chain ID testnet được xác nhận là 745 trong chính tài liệu của Dusk — cho phép các nhà phát triển triển khai các hợp đồng Solidity tiêu chuẩn bằng MetaMask, Hardhat hoặc Foundry, trong khi việc đối soát và công bố dữ liệu trở lại thông qua DuskDS dưới dạng blob, thông qua sequencer và batcher thay vì tự chạy độc lập.
Tôi đã tách bạch những điểm khác biệt giữa chúng không chỉ ở ngôn ngữ. Các hợp đồng của DuskVM có sẵn quyền riêng tư và các nguyên thủy ZK một cách gốc rễ, ngay tại lớp thực thi. Các hợp đồng của DuskEVM có đầy đủ khả năng tương thích với bộ công cụ, và người dùng cũng trả gas bằng DUSK ở đó, nhưng chúng được chuyển qua một lớp nơi việc đối soát diễn ra ở nơi khác, thay vì chạy bản gốc song song cùng với các mô hình giao dịch của Dusk.
cả hai đều đối soát thông qua cùng một nền tảng — DuskDS — và cuối cùng đều trả gas bằng DUSK. không cái nào thay thế cái kia; mỗi cái tồn tại vì cái kia thực sự không thể đảm nhiệm tốt công việc đặc thù của nó.
vì vậy, lựa chọn thực sự cho một người xây dựng không phải "cái nào tốt hơn". mà là hợp đồng của bạn có cần thực thi mang tính riêng tư gốc (privacy-native) hay cần bộ công cụ EVM quen thuộc — có thể xác minh theo chain-ID — và Dusk đã tạo ra hai làn đường tách biệt thay vì ép một môi trường phải làm cả hai.
việc duy trì hai môi trường thực thi tách biệt thực sự như vậy có phục vụ tốt hơn cho các builder so với việc chọn một cái và tối ưu hóa nó hoàn toàn không?
Tôi đã lần theo cách DuskVM và DuskEVM thực sự phân chia công việc trên Dusk, vì cả hai đều thực thi hợp đồng nhưng rõ ràng không thể thay thế cho nhau.
DuskVM chạy các hợp đồng Rust/WASM, được xây dựng trên Wasmtime, trực tiếp trên L1 của Dusk. Đây là con đường dành cho các hợp đồng cần quyền truy cập trực tiếp vào mô hình giao dịch của chính Dusk, các tính năng bảo mật riêng tư, hoặc năng lực zero-knowledge — các hàm host thân thiện với ZK của Piecrust (PLONK, Groth16, BLS) nằm ở đây một cách cụ thể.
DuskEVM chạy ở nơi hoàn toàn khác. đó là một môi trường tương đương EVM dựa trên OP Stack — mã chain ID testnet được xác nhận là 745 trong chính tài liệu của Dusk — cho phép các nhà phát triển triển khai các hợp đồng Solidity tiêu chuẩn bằng MetaMask, Hardhat hoặc Foundry, trong khi việc đối soát và công bố dữ liệu trở lại thông qua DuskDS dưới dạng blob, thông qua sequencer và batcher thay vì tự chạy độc lập.
Tôi đã tách bạch những điểm khác biệt giữa chúng không chỉ ở ngôn ngữ. Các hợp đồng của DuskVM có sẵn quyền riêng tư và các nguyên thủy ZK một cách gốc rễ, ngay tại lớp thực thi. Các hợp đồng của DuskEVM có đầy đủ khả năng tương thích với bộ công cụ, và người dùng cũng trả gas bằng DUSK ở đó, nhưng chúng được chuyển qua một lớp nơi việc đối soát diễn ra ở nơi khác, thay vì chạy bản gốc song song cùng với các mô hình giao dịch của Dusk.
cả hai đều đối soát thông qua cùng một nền tảng — DuskDS — và cuối cùng đều trả gas bằng DUSK. không cái nào thay thế cái kia; mỗi cái tồn tại vì cái kia thực sự không thể đảm nhiệm tốt công việc đặc thù của nó.
vì vậy, lựa chọn thực sự cho một người xây dựng không phải "cái nào tốt hơn". mà là hợp đồng của bạn có cần thực thi mang tính riêng tư gốc (privacy-native) hay cần bộ công cụ EVM quen thuộc — có thể xác minh theo chain-ID — và Dusk đã tạo ra hai làn đường tách biệt thay vì ép một môi trường phải làm cả hai.
việc duy trì hai môi trường thực thi tách biệt thực sự như vậy có phục vụ tốt hơn cho các builder so với việc chọn một cái và tối ưu hóa nó hoàn toàn không?

