
USDC: Ngân hàng trong vỏ bọc hợp đồng thông minh
Hồ Ngọc
Block không biết nói dối. Nhưng kẻ nắm khóa quản trị thì biết rất rõ điều này. Tháng 8 năm 2022, OFAC trừng phạt Tornado Cash. Trong vòng 24 giờ, Circle đóng băng 44 địa chỉ Ethereum chứa hơn 75.000 USDC. Không có lệnh tòa được công bố, không có cơ hội kháng cáo. Chỉ có một cuộc gọi từ phòng tuân thủ ở Boston, và một hàm blacklist được kích hoạt trong hợp đồng thông minh. Kể từ khoảnh khắc đó, câu hỏi stablecoin có phi tập trung không trở thành câu hỏi sai. Câu hỏi đúng là: Ai đang cầm chìa khóa? Và quan trọng hơn: Tại sao bạn vẫn phó mặc tài sản của mình cho một công ty tư nhân có cái công tắc đó?
Khi tôi bắt đầu theo dõi blockchain vào năm 2017, tôi dành ba tháng để đào sâu vào mã nguồn EOS.IO. Tôi đã viết báo cáo 8 vấn đề về lỗ hổng DPoS, tập trung vào logic xác suất chọn block producer. Block.one đã phải cập nhật phiên bản v1.5 sau báo cáo của tôi. Năm 2020, tôi phân tích 1.200 địa chỉ YFI và chứng minh 30% lợi nhuận yield farming đến từ sandwich attack. Vitalik Buterin đã retweet bài viết của tôi, nhưng cộng đồng vẫn tấn công tôi. Tôi không quan tâm. Dữ liệu là dữ liệu. Và hôm nay, tôi nhìn vào USDC và tôi thấy một thứ còn đáng ngại hơn cả thao túng thị trường: sự kiểm soát có chủ ý, được thiết kế ngay trong lớp logic của hợp đồng.
USDC là stablecoin lớn thứ hai thế giới với hơn 30 tỷ đô la lưu thông. Circle, công ty đứng sau, đang nộp hồ sơ IPO và mở rộng giấy phép ở Mỹ, Liên minh châu Âu, Anh, Singapore. Mỗi quốc gia cấp phép đều kèm theo một điều kiện ngầm: công ty phải có khả năng đóng băng, tịch thu và ngăn chặn giao dịch khi có yêu cầu. Điều này không phải là bí mật. Nó nằm trong tài liệu tuân thủ. Nhưng nó hiếm khi được nhắc đến trong các bài quảng bá về tiền kỹ thuật số của Internet. Hãy để tôi chỉ rõ cấu trúc kỹ thuật mà Circle không bao giờ nói đến.
Hợp đồng USDC trên Ethereum chạy trên mô hình proxy ERC-1967. Hợp đồng logic hiện tại là FiatTokenV2_1, chứa một biến trạng thái là danh sách đen. Hàm blacklist chỉ có thể được gọi bởi role BLACKLISTER_ROLE. Hàm pause được bảo vệ bởi PAUSER_ROLE. Cả hai vai trò này đều nằm trong tay Circle thông qua một ví đa chữ ký, và theo tài liệu vận hành, bốn trong sáu chữ ký thuộc về đội ngũ nội bộ của Circle. Không có gì sai với thiết kế này nếu bạn coi USDC là một sản phẩm ngân hàng. Ngân hàng có quyền đóng băng tài khoản, đó là bản chất của ngân hàng. Nhưng Circle không tự gọi mình là ngân hàng. Họ từng gọi USDC là một đồng tiền kỹ thuật số phi tập trung, mở và không cần cấp phép. Họ đã gỡ bỏ từ phi tập trung khỏi tài liệu sau năm 2021, vì luật sư của họ đã đọc mã nguồn. Nhưng hàng triệu người dùng bán lẻ vẫn tin vào thông điệp cũ.
Tôi đã viết trong các báo cáo audit của mình một chuỗi suy luận: Nếu A thì B. Dữ liệu cho thấy B. Vậy A sai. A là giả định USDC là tài sản chống kiểm duyệt. B là tài sản có thể bị đóng băng theo quyết định đơn phương. Dữ liệu đóng băng Tornado Cash, đóng băng các ví liên quan đến FTX và Alameda Research, và đóng băng các khoản tiền liên quan đến vụ hack cầu Ronin đều cho thấy B tồn tại. Vì vậy, A là sai. Đây không phải là ý kiến. Đây là quan sát từ dữ liệu trên chuỗi mà bất kỳ ai cũng có thể tự mình kiểm tra.
Hãy nói về một chi tiết mà hầu hết mọi người bỏ qua. Vào tháng 11 năm 2022, khi FTX sụp đổ, Circle đã đóng băng hơn 40 triệu USDC trong các ví liên quan đến Alameda Research. Circle nói rằng họ hành động theo yêu cầu của cơ quan thực thi pháp luật. Nhưng không có cơ chế nào để người dùng xác minh yêu cầu đó là gì. Trong một môi trường blockchain, nơi mọi giao dịch đều được ghi lại, thì quyết định đóng băng lại là thứ duy nhất không được ghi lại. Một sự trớ trêu hoàn hảo: sổ cái minh bạch, nhưng cơ quan quản trị sổ cái thì không ai kiểm soát được. Đó là sự mỉa mai về mặt kiến trúc.
Trong quá trình nghiên cứu hợp đồng FiatTokenV2_1, tôi để ý rằng hàm pause không chỉ dừng chuyển tiền, mà còn vô hiệu hóa mọi hoạt động của các hợp đồng DeFi đang nắm giữ USDC. Nếu Circle kích hoạt pause trong một cuộc khủng hoảng thanh khoản, toàn bộ các pool thanh khoản trên Uniswap chứa USDC sẽ đóng băng. Các vị trí LP của bạn trở nên bất khả dụng. Bạn vẫn thấy tài sản trong ví, nhưng bạn không thể rút, không thể hoán đổi, không thể làm bất cứ điều gì. Đây là một kịch bản rủi ro hệ thống mà các nhà phân tích gọi là rủi ro đơn điểm. Và nó không cần đến một cuộc tấn công hạ tầng. Nó chỉ cần một quyết định hành chính. Câu hỏi không phải là liệu điều này có xảy ra không. Câu hỏi là liệu bạn có sẵn sàng chấp nhận rủi ro này hay không.
Tôi từng nghe các nhà đầu tư nói rằng Circle sẽ không bao giờ làm điều đó, vì họ sẽ tự bắn vào chân mình nếu họ đóng băng toàn bộ USDC. Tôi đã nhìn thấy một loại người như vậy trong vụ sụp đổ của UST vào tháng 5 năm 2022. Họ nghĩ rằng các giao thức quá lớn để sụp đổ. Họ nghĩ rằng các nhà phát hành sẽ hành động vì lợi ích của người dùng. Nhưng lợi ích của người dùng không bao giờ nằm trong ưu tiên hàng đầu của một công ty tuân thủ. Ưu tiên của họ là giấy phép hoạt động, là sự hài lòng của cơ quan quản lý, là giá cổ phiếu sau IPO. Người dùng chỉ là một con số trong báo cáo tài chính.
Một điểm nữa mà phe ủng hộ USDC thường bỏ qua: hợp đồng USDC có hàm chuyển quyền sở hữu, được kế thừa từ thư viện Ownable của OpenZeppelin. Về mặt kỹ thuật, không có gì ngăn cản Circle chuyển quyền kiểm soát danh sách đen cho Bộ Tài chính Hoa Kỳ. Nếu bị ép buộc, nếu bị kiện, hoặc nếu một giám đốc quá nhiệt tình, toàn bộ hệ thống USDC có thể trở thành một công cụ kiểm duyệt liên bang. Điều này không có trong kế hoạch truyền thông của Circle, nhưng nó nằm trong mã nguồn. Và mã nguồn không biết nói dối.
Nhưng tôi không nói rằng bạn nên bán hết USDC ngay lập tức. Làm vậy là ngu ngốc. Hãy nghe tôi, vì tôi đã nhìn thấy cả hai mặt của vấn đề này. Circle đã đạt được điều mà Bitcoin không bao giờ có: sự chấp nhận của các tổ chức tài chính truyền thống. BlackRock không thể mua một tài sản không có người chịu trách nhiệm pháp lý. Circle cung cấp một khuôn mặt, một công ty, một giấy phép, và một đường dây nóng với chính phủ. Nhờ vậy, các quỹ hưu trí, các ngân hàng lớn, và các quỹ đầu tư có thể tham gia thị trường kỹ thuật số mà không sợ vướng vào rửa tiền. Nếu không có USDC, thị trường tiền mã hóa có thể vẫn là một sòng bạc nhỏ. Nếu không có USDC, các ETF Bitcoin có thể không bao giờ được phê duyệt. Sự thật là tiền của tổ chức cần một khuôn mặt, và Circle đã đưa ra một khuôn mặt rất đẹp.
Phe bò đúng ở điểm: kiểm duyệt có kiểm soát còn tốt hơn sự hỗn loạn vô kiểm soát. Nhưng họ đang nhầm lẫn giữa sự chấp nhận của tổ chức với sự an toàn của người dùng cá nhân. Người dùng bán lẻ ôm USDC vì nghĩ rằng nó an toàn hơn USDT, rồi họ gửi nó vào các giao thức DeFi để kiếm lợi nhuận. Họ không đọc mã nguồn, họ không hiểu rằng an toàn ở đây có nghĩa là tuân thủ, không phải là không thể kiểm duyệt. Họ trao quyền kiểm soát tiền của mình cho một công ty mà họ không bao giờ bầu cử, không bao giờ được hỏi ý kiến. Và họ còn gọi đó là tự do tài chính. Tôi gọi đó là một ngân hàng có giao diện blockchain.
Hãy nhìn vào các con số hoạt động của Circle. Họ có khoảng 10 nhân viên tuân thủ cho mỗi kỹ sư an ninh. Doanh thu của họ không đến từ phí giao dịch, mà đến từ lãi suất trái phiếu kho bạc Mỹ. Điều đó có nghĩa là động lực tài chính của họ nằm ở việc làm hài lòng chính phủ Hoa Kỳ, không phải người dùng. Đó là một hệ quả cấu trúc. Bạn không thể trách một công ty vì đã tối ưu hóa nguồn doanh thu của họ. Nhưng bạn có thể trách chính mình nếu bạn tin rằng một công ty như vậy sẽ bảo vệ bạn trong cơn khủng hoảng.
Vậy, khi bạn giữ USDC trong ví tự quản, bạn có thực sự thoát khỏi hệ thống ngân hàng hay không? Hay bạn chỉ đang gửi tiền vào một ngân hàng mới, một ngân hàng có sổ cái công khai và danh sách đen bí mật? Tôi để lại câu hỏi này cho bạn. Block không biết nói dối, nhưng kẻ đứng sau block thì luôn có thể chỉnh sửa logic. Nếu bạn không tự đọc mã nguồn, thì bạn chính là kẻ ngốc trong nông trại của họ. Và trong thị trường giảm này, sự tỉnh táo là tài sản duy nhất không thể bị đóng băng.