Tuần trước, tôi ngồi audit một smart contract mới. Mọi thứ đẹp như mơ cho đến khi tôi thấy dòng code if (admin == msg.sender) – một backdoor cổ điển. Tôi cười, vì backdoor nào cũng có dấu vết, chỉ là chịu khó đọc hay không. Đùng một cái, tôi đọc tin tức: CLARITY Act – dự luật cấu trúc thị trường crypto của Mỹ – vừa được Hạ viện thông qua với 294 phiếu thuận, và đang được Chủ tịch Ủy ban Dịch vụ Tài chính French Hill thúc đẩy Thượng viện bỏ phiếu trước kỳ nghỉ tháng Tám.
Đột nhiên, tôi thấy mình đang audit một contract khác, lần này là contract của chính phủ Mỹ. Họ đang viết luật cho toàn bộ ngành crypto, và tôi cá là nó cũng có vài lỗi logic.
Tôi không build protocol, tôi chơi với code.
Context: Khi Washington muốn định nghĩa “phi tập trung”
CLARITY Act là một nỗ lực lập pháp nhằm giải quyết câu hỏi muôn thuở: token nào là “hàng hóa” (commodity), token nào là “chứng khoán” (security). Hạ viện đã bỏ phiếu với tỷ lệ áp đảo 294-134, cho thấy sự ủng hộ lưỡng đảng. French Hill, một người từng làm trong lĩnh vực tài chính, đang đẩy nhanh tiến độ trước khi Thượng viện nghỉ hè. Nếu được thông qua, luật này sẽ trao quyền cho CFTC giám sát phần lớn thị trường giao ngay crypto, còn SEC chỉ giữ vai trò với các token có đặc điểm chứng khoán rõ ràng. Điều này nghe có vẻ hợp lý – ai mà không muốn sự rõ ràng? Nhưng khi tôi đọc chi tiết kỹ thuật của dự luật, tôi thấy một cái bẫy: họ định nghĩa “phi tập trung” dựa trên một bài kiểm tra cố định, giống như kiểm tra xem một smart contract có owner hay không.
Mỗi dòng code tôi đọc đều kể một câu chuyện.
Core: Phân tích kỹ thuật – Định nghĩa “phi tập trung” có thể là một lỗ hổng bảo mật
Hãy nhìn vào cơ chế của CLARITY Act. Nó yêu cầu một token phải vượt qua “bài kiểm tra phi tập trung” mới được xếp vào hàng hóa. Bài kiểm tra đó, theo những gì tôi đọc được từ dự thảo, đánh giá xem có thực thể nào kiểm soát mạng lưới hay không – giống như kiểm tra xem hợp đồng thông minh có một owner có thể gọi withdrawAll() hay không. Nhưng tôi đã từng thấy những dự án “phi tập trung” mà thực chất là một multi-sig do 3 người bạn nắm giữ. Hoặc những DAO mà 1% ví nắm 90% quyền biểu quyết.

Tôi nhớ lại lần đầu audit ICO năm 2017. Dự án “TokenBridge” có một hợp đồng trông rất sạch sẽ, không có backdoor rõ ràng. Tôi đã bỏ qua cơ chế oracle – một chi tiết nhỏ nhặt – và kết quả là hacker tấn công giá oracle, hút sạch 50 ETH. Bài học: bề mặt sạch không có nghĩa là không có lỗ hổng. Tương tự, CLARITY Act có thể đánh giá sai những dự án thực sự phi tập trung chỉ vì chúng có một lớp quản trị “hợp lý”, trong khi bỏ sót những dự án “phi tập trung giả” nhưng làm đẹp bài kiểm tra.
Tôi đã thấy điều đó trong DeFi Summer 2020. Uniswap v2 – một AMM tuyệt vời – nhưng khi tôi research mã nguồn, tôi phát hiện ra rằng nếu không kiểm tra slippage trong điều kiện thị trường biến động mạnh, bạn có thể mất hết tiền. Tôi đã viết một báo cáo 10 trang về concentrated liquidity, nhưng lại quên mất một biến số: thanh khoản thực tế có thể chênh lệch khủng khiếp so với lý thuyết. Kết quả: tôi mất 1 ETH trong thử nghiệm. Một bài kiểm tra tĩnh không thể nắm bắt được hành vi động.
CLARITY Act cũng vậy. Nó sẽ đưa ra một danh sách các tiêu chí cố định – ví dụ: tỷ lệ nắm giữ token của đội ngũ phát triển, mức độ phân tán của nút mạng, v.v. Nhưng những tiêu chí đó có thể dễ dàng bị game hóa. Tôi đã thấy các dự án “airdrop” token cho hàng nghìn ví rác để làm đẹp số liệu. Tôi đã thấy các sàn giao dịch tập trung “phi tập trung hóa” quản trị qua một DAO trang trí. Nếu luật chỉ nhìn vào vỏ bọc, nó sẽ tạo ra một lớp “regulatory arbitrage” mới – nơi các dự án đầu tư vào việc qua mặt bài kiểm tra hơn là vào công nghệ thực sự.
Contrarian: Hợp pháp hóa có thể giết chết sự đổi mới mà nó muốn bảo vệ
Mọi người đang vui mừng vì CLARITY Act sắp mang lại sự rõ ràng. Tôi thì thấy một nỗi lo khác: quy định quá chi tiết sẽ giết chết tính thử nghiệm. Hãy nhìn vào lịch sử: khi SEC tuyên bố Bitcoin và Ethereum không phải chứng khoán, hàng loạt dự án fork ra đời – nhưng chỉ những cái an toàn về mặt pháp lý mới tồn tại. Nếu CLARITY Act định nghĩa “phi tập trung” dựa trên một công thức cố định, nó sẽ khuyến khích các dự án đi theo khuôn mẫu đó, bỏ qua những cấu trúc sáng tạo nhưng chưa từng có.
Ví dụ: ZK-rollup như Aztec Protocol có thể không vượt qua bài kiểm tra “phi tập trung” vì giai đoạn đầu họ dùng centralized sequencer. Nhưng đó là bước đệm cần thiết để phát triển công nghệ. Nếu luật phạt họ vì điều đó, họ sẽ không bao giờ có cơ hội trở nên phi tập trung. Tôi không thích lý thuyết suông, tôi thích code chạy.

Thêm vào đó, tôi thấy một nguy cơ “regulatory capture”: các dự án lớn có đủ tiền để thuê luật sư và lobby sẽ dễ dàng đáp ứng tiêu chuẩn, trong khi các dự án nhỏ, thực sự đột phá sẽ bị loại bỏ. Điều này tạo ra một thị trường “được phép” – nơi chỉ có những token đã được CFTC chấp thuận mới được giao dịch trên sàn Mỹ. Nhưng tôi từng thấy điều gì xảy ra khi một cơ quan tập trung kiểm soát quyền truy cập: nó tạo ra chênh lệch giá, tham nhũng, và cuối cùng là một hệ sinh thái kém cạnh tranh.

Takeaway: Tôi không biết luật này sẽ tốt hay xấu, nhưng tôi biết một điều
Khi tôi audit một contract, tôi luôn kiểm tra xem ai có thể gọi hàm selfdestruct(). Trong CLARITY Act, tôi thấy một hàm selfdestruct tiềm năng: nếu Thượng viện không bỏ phiếu kịp trước kỳ nghỉ tháng Tám, luật sẽ chết. Hoặc nếu họ sửa đổi nó theo hướng có lợi cho các tổ chức lớn, chúng ta sẽ có một fork không mong muốn.
Tôi từng mất 50 ETH vì bỏ qua oracle. Tôi từng mất 1 ETH vì bỏ qua slippage. Tôi không muốn toàn bộ ngành crypto mất hàng trăm tỷ USD vì một lỗi logic trong luật. Vì vậy, hãy nhìn mã nguồn của CLARITY Act. Đọc từng dòng. Nếu bạn thấy một if (admin == msg.sender), hãy lên tiếng.
Còn tôi, tôi sẽ tiếp tục đào sâu vào mã nguồn của các giao thức, vì tôi tin rằng sự phi tập trung thực sự đến từ code, không phải từ luật. Tôi không build protocol, tôi chơi với code.