Thay BLAKE2b bằng SHA3, chỉ vì cả hai đều được gọi là “hash”. Bề ngoài thì giống như một thay đổi nhỏ, nhưng thực tế có thể đưa một đối tượng vào nhầm đường nhận dạng. Khi đánh giá các interface như vậy, câu hỏi đầu tiên không phải “thuật toán nào mạnh hơn”, mà là “chuỗi kết quả này rốt cuộc dùng cho ai”?

Trong tài liệu phát triển của Dusk, BLAKE2b xuất hiện ở các đường như contract ID, transaction ID và hash-to-scalar. Chúng trả lời cho nhu cầu nhận dạng và tính toán tương ứng của hợp đồng, giao dịch và chuyển đổi sang scalar. Còn SHA3 được dùng cho các định danh như block, Merkle hoặc đồng thuận—phục vụ một nhóm đối tượng khác. Tên đều có chữ hash không có nghĩa là đối tượng đầu vào, mục đích đầu ra hay vị trí gọi là giống nhau. Nhét SHA3 vào đúng chỗ của BLAKE2b có thể khiến tầng dưới vẫn nhận được một chuỗi có đúng độ dài, nhưng mất đi sự khớp ngữ nghĩa ban đầu; ngược lại cũng tương tự. Hình thức giao diện tương thích không thể thay thế được “hợp đồng của đối tượng”.

Xem tiếp DuskDS. Nó đảm nhiệm vai trò hạ tầng liên quan đến xử lý quyết toán và tính sẵn có dữ liệu, chứ không phải là bí danh của bất kỳ một hash cụ thể nào, cũng không phải là năng lực tổng thể của mạng suy ra chỉ vì “thấy một hash”. Vì vậy, khi kiểm tra hãy viết rõ ràng theo ba cột “đối tượng—thuật toán—thành phần”: trước hết đánh dấu contract, transaction, scalar, block, Merkle hoặc consensus identifier; sau đó đối chiếu từng hash được dùng tương ứng; cuối cùng xác nhận kết quả được chuyển tới lớp nào. Thiếu một trong các cột đó thì việc thay thế chỉ còn là đoán mò.

Phán đoán thực sự chắc chắn là truy vấn thêm dọc theo ranh giới của interface: lần thay đổi này đã tác động đến đối tượng nào? Nó có còn được cùng một thành phần diễn giải không? Đầu ra mà tầng dưới kỳ vọng là ID, định danh hay một kết quả mã hóa khác? Các thảo luận phát triển liên quan đến @Dusk và $DUSK cũng không thể thay bằng một tên hàm quen thuộc để trả lời hết những câu hỏi này. Ở hệ sinh thái #dusk , thứ có thể đối chiếu lại được là đường đi cụ thể, không phải trực giác kiểu “hash nào cũng như nhau”. Một tên hash chỉ nói về trách nhiệm cục bộ; nó không thể tự động suy ra kết luận về quyết toán, tính sẵn có dữ liệu hay toàn bộ chuỗi thực thi.