#dusk $DUSK @Dusk Mình vẫn chưa thực sự nắm rõ DuskEVM trong Dusk rốt cuộc được định vị như thế nào. Tuần này mình dành thời gian xem kỹ riêng nó.
Nói đơn giản, DuskEVM là một lớp trong hệ sinh thái Dusk được tạo ra để tương thích với cách phát triển hợp đồng thông minh của Ethereum. Nếu bạn là người quen với ngôn ngữ và công cụ của Ethereum, thì không cần phải học lại hoàn toàn một bộ thứ mới; bạn vẫn có thể triển khai ứng dụng lên Dusk. DuskEVM không tự mình duy trì một sổ cái hoàn toàn độc lập và cơ chế quyết toán cuối cùng. Dữ liệu giao dịch được ghi nhận và xác nhận cuối cùng thực sự được giao cho lớp quyết toán ở tầng dưới của Dusk thực hiện. Vì vậy, DuskEVM giống như một lớp được đặt phía trên, chuyên xử lý việc thực thi hợp đồng thông minh.
Ban đầu mình đã hiểu nhầm: tưởng nó là một blockchain độc lập song song ngang hàng với lớp quyết toán ở tầng dưới, hai sổ cái tách biệt, mỗi cái chạy một kiểu. Sau đó mình lật đi lật lại vài lần các tài liệu mô tả kiến trúc chính thức mới nhận ra mình hiểu sai. Ở phía lớp thực thi, sau khi xử lý xong giao dịch thì cuối cùng vẫn cần đóng gói kết quả và gửi xuống lớp quyết toán tầng dưới để làm nhiệm vụ lưu chứng thực và xác nhận thực sự. Hai bên là quan hệ thượng nguồn–hạ nguồn (trên–dưới), không phải song song ngang hàng. Mình đã tự mắc kẹt với sự hiểu nhầm này khá lâu, chủ yếu vì trong các tài liệu truyền thông thường giới thiệu tách bạch hai lớp, khiến người ta dễ tưởng đó là hai blockchain độc lập chạy song song.
Với các nhà phát triển, mối quan hệ phân tầng này thực ra khá quan trọng—nghĩa là chi phí vận hành của ứng dụng bạn triển khai trên DuskEVM không chỉ nhìn vào việc lớp này tự thực thi hợp đồng tốn bao nhiêu tài nguyên, mà còn phải tính thêm phần chi phí để gửi dữ liệu xuống lớp quyết toán tầng dưới. Gộp hai phần lại mới ra được chi phí đầy đủ. Nếu chỉ ước lượng dựa trên kinh nghiệm ở Ethereum, rất dễ bỏ sót phần chi phí ở tầng dưới.
Nếu cách hiểu của mình có chỗ nào lệch, bạn cứ góp ý nhé. Mình cũng là vừa mới lục lại và sắp xếp lại mạch logic này trong vài ngày gần đây, nên không chắc có bỏ sót chi tiết nào hay không.
Nói đơn giản, DuskEVM là một lớp trong hệ sinh thái Dusk được tạo ra để tương thích với cách phát triển hợp đồng thông minh của Ethereum. Nếu bạn là người quen với ngôn ngữ và công cụ của Ethereum, thì không cần phải học lại hoàn toàn một bộ thứ mới; bạn vẫn có thể triển khai ứng dụng lên Dusk. DuskEVM không tự mình duy trì một sổ cái hoàn toàn độc lập và cơ chế quyết toán cuối cùng. Dữ liệu giao dịch được ghi nhận và xác nhận cuối cùng thực sự được giao cho lớp quyết toán ở tầng dưới của Dusk thực hiện. Vì vậy, DuskEVM giống như một lớp được đặt phía trên, chuyên xử lý việc thực thi hợp đồng thông minh.
Ban đầu mình đã hiểu nhầm: tưởng nó là một blockchain độc lập song song ngang hàng với lớp quyết toán ở tầng dưới, hai sổ cái tách biệt, mỗi cái chạy một kiểu. Sau đó mình lật đi lật lại vài lần các tài liệu mô tả kiến trúc chính thức mới nhận ra mình hiểu sai. Ở phía lớp thực thi, sau khi xử lý xong giao dịch thì cuối cùng vẫn cần đóng gói kết quả và gửi xuống lớp quyết toán tầng dưới để làm nhiệm vụ lưu chứng thực và xác nhận thực sự. Hai bên là quan hệ thượng nguồn–hạ nguồn (trên–dưới), không phải song song ngang hàng. Mình đã tự mắc kẹt với sự hiểu nhầm này khá lâu, chủ yếu vì trong các tài liệu truyền thông thường giới thiệu tách bạch hai lớp, khiến người ta dễ tưởng đó là hai blockchain độc lập chạy song song.
Với các nhà phát triển, mối quan hệ phân tầng này thực ra khá quan trọng—nghĩa là chi phí vận hành của ứng dụng bạn triển khai trên DuskEVM không chỉ nhìn vào việc lớp này tự thực thi hợp đồng tốn bao nhiêu tài nguyên, mà còn phải tính thêm phần chi phí để gửi dữ liệu xuống lớp quyết toán tầng dưới. Gộp hai phần lại mới ra được chi phí đầy đủ. Nếu chỉ ước lượng dựa trên kinh nghiệm ở Ethereum, rất dễ bỏ sót phần chi phí ở tầng dưới.
Nếu cách hiểu của mình có chỗ nào lệch, bạn cứ góp ý nhé. Mình cũng là vừa mới lục lại và sắp xếp lại mạch logic này trong vài ngày gần đây, nên không chắc có bỏ sót chi tiết nào hay không.