Dạo này cứ xem @Dusk mãi, càng xem càng thấy có chút thú vị.
Nói trước về vòng đời giao dịch làm mình “phê” nhất. Ban đầu mình cũng bị đánh lạc hướng bởi sự ám chỉ của tính xác định–tính cuối cùng, lật tài liệu mấy ngày mới phát hiện confirmed và finalized hoàn toàn là hai chuyện khác nhau. Block chưa đi tới bước cuối cùng thì vẫn có thể revert. Quy trình là: provisioner đề xuất khối ứng viên trước, rồi ủy ban (committee) xác thực theo kiểu ngẫu nhiên, sau đó là một đợt Ratification nữa; ratify xong rồi mới là “hạ cánh” thực sự. Không phải cứ đề xuất xong là coi như chết chắc, mà là sau khi được finalized thì bạn không cần tiếp tục chồng thêm số lượng xác nhận.
Nếu chỉ là chuyển khoản thường thì thôi, nhưng nạp tiền ở sàn hay bù trừ/chuyển giao chứng khoán thì không thể chơi kiểu đó. Nghe thấy executed chỉ nói là đã thực thi, bạn còn phải xác nhận error rỗng, tới khi có finalized event mới coi là ổn. Lỡ nhận được reverted thì phải nghe lại. Revert ở hợp đồng là lỗi báo từ code, còn revert ở block là do thay đổi đồng thuận; đường khôi phục logic hoàn toàn là hai hướng khác nhau. Nếu bên tích hợp coi confirmed như finalized thì độ “tính xác định” trong ứng dụng sẽ sụp ngay. Mối quan tâm lớn nhất của mình hiện tại là: sàn giao dịch và Dusk Trade rốt cuộc có dùng finalized làm ranh giới thống nhất không, và có quy trình replay/audit được hay không.
Nói tiếp về giao dịch công bằng—cái này thật sự khiến mình khó chịu. Mempool giống như một “bể kính” không rèm: bạn muốn mua gì thì cả mạng đều thấy, robot kẹp luôn sẵn sàng ngậm mồm múc. $DUSK lại trực tiếp triển khai đấu giá/bán đấu giá riêng tư theo lô ở tầng giao thức: giá thầu và số lượng được gửi trong khoảnh khắc là bị ZK “đậy” chết. Nút sẽ tính ra mức giá công bằng sao cho chênh lệch giữa tổng nhu cầu của các lệnh mua (được che giấu) và tổng cung của lệnh bán xấp xỉ bằng không; rồi toàn bộ các lệnh treo trong cùng một block đều được thanh toán theo mức giá đó. Mất thông tin bất đối xứng bị lật ngược, dark pool từ trong bản chất đã không còn công bằng bằng “cảm giác” nữa.
Còn phần tuân thủ thì cũng không qua loa. Phoenix dùng ZK để giữ riêng tư, Moonlight đi theo sổ cái minh bạch, Citadel hỗ trợ tiết lộ chọn lọc, còn XSC thì nhét điều kiện, giới hạn và báo cáo vào hẳn logic hợp đồng. Quy tắc không nên chỉ trông vào thứ gì đó ở ngoài chuỗi.
Sản phẩm càng phức tạp, càng nhiều quy tắc; liệu có chạy vững đồng thời trong nhiều luồng làm việc khác nhau được không—đó mới là điểm mình tiếp tục theo dõi. Tính cuối cùng thực sự không phải là thuật ngữ: nó là việc từ sự kiện ở nút truyền thẳng đến sổ cái, giữa chừng không ai “chạy tắt”. #dusk $DUSK
Nói trước về vòng đời giao dịch làm mình “phê” nhất. Ban đầu mình cũng bị đánh lạc hướng bởi sự ám chỉ của tính xác định–tính cuối cùng, lật tài liệu mấy ngày mới phát hiện confirmed và finalized hoàn toàn là hai chuyện khác nhau. Block chưa đi tới bước cuối cùng thì vẫn có thể revert. Quy trình là: provisioner đề xuất khối ứng viên trước, rồi ủy ban (committee) xác thực theo kiểu ngẫu nhiên, sau đó là một đợt Ratification nữa; ratify xong rồi mới là “hạ cánh” thực sự. Không phải cứ đề xuất xong là coi như chết chắc, mà là sau khi được finalized thì bạn không cần tiếp tục chồng thêm số lượng xác nhận.
Nếu chỉ là chuyển khoản thường thì thôi, nhưng nạp tiền ở sàn hay bù trừ/chuyển giao chứng khoán thì không thể chơi kiểu đó. Nghe thấy executed chỉ nói là đã thực thi, bạn còn phải xác nhận error rỗng, tới khi có finalized event mới coi là ổn. Lỡ nhận được reverted thì phải nghe lại. Revert ở hợp đồng là lỗi báo từ code, còn revert ở block là do thay đổi đồng thuận; đường khôi phục logic hoàn toàn là hai hướng khác nhau. Nếu bên tích hợp coi confirmed như finalized thì độ “tính xác định” trong ứng dụng sẽ sụp ngay. Mối quan tâm lớn nhất của mình hiện tại là: sàn giao dịch và Dusk Trade rốt cuộc có dùng finalized làm ranh giới thống nhất không, và có quy trình replay/audit được hay không.
Nói tiếp về giao dịch công bằng—cái này thật sự khiến mình khó chịu. Mempool giống như một “bể kính” không rèm: bạn muốn mua gì thì cả mạng đều thấy, robot kẹp luôn sẵn sàng ngậm mồm múc. $DUSK lại trực tiếp triển khai đấu giá/bán đấu giá riêng tư theo lô ở tầng giao thức: giá thầu và số lượng được gửi trong khoảnh khắc là bị ZK “đậy” chết. Nút sẽ tính ra mức giá công bằng sao cho chênh lệch giữa tổng nhu cầu của các lệnh mua (được che giấu) và tổng cung của lệnh bán xấp xỉ bằng không; rồi toàn bộ các lệnh treo trong cùng một block đều được thanh toán theo mức giá đó. Mất thông tin bất đối xứng bị lật ngược, dark pool từ trong bản chất đã không còn công bằng bằng “cảm giác” nữa.
Còn phần tuân thủ thì cũng không qua loa. Phoenix dùng ZK để giữ riêng tư, Moonlight đi theo sổ cái minh bạch, Citadel hỗ trợ tiết lộ chọn lọc, còn XSC thì nhét điều kiện, giới hạn và báo cáo vào hẳn logic hợp đồng. Quy tắc không nên chỉ trông vào thứ gì đó ở ngoài chuỗi.
Sản phẩm càng phức tạp, càng nhiều quy tắc; liệu có chạy vững đồng thời trong nhiều luồng làm việc khác nhau được không—đó mới là điểm mình tiếp tục theo dõi. Tính cuối cùng thực sự không phải là thuật ngữ: nó là việc từ sự kiện ở nút truyền thẳng đến sổ cái, giữa chừng không ai “chạy tắt”. #dusk $DUSK
