Âm thanh của 2.290 ETH vừa tắt lịm trong một buổi tối không trăng trên Ethereum mainnet. Không phải tiếng nổ. Không phải tiếng còi. Chỉ là một bằng chứng không kiến thức, một cú nhấn phím, và mười bốn triệu đô la của Solana OG vừa bước sang một thế giới khác.
Bạn có bao giờ tự hỏi: ranh giới nào ngăn cách một công cụ tài chính với một công cụ che giấu tội ác? Tôi đã dành hai mươi tư năm quan sát ngành này. Tôi đã chứng kiến những vụ sụp đổ, những vụ hack, những cuộc điều tra. Nhưng chưa bao giờ tôi thấy một vụ việc nào gói gọn nhiều nghịch lý đến vậy: một kẻ tấn công đến từ Solana, dùng một giao thức bị Mỹ trừng phạt trên Ethereum, để làm biến mất số tiền mà anh ta vừa đánh cắp.
Bối cảnh: Khi vụ trộm chưa kết thúc
Vụ việc bắt đầu cách đây khoảng một tháng. Một địa chỉ được cộng đồng gọi là Solana OG — có thể là một người chơi kỳ cựu, một dự án, hoặc một nhóm khai thác chuyên nghiệp — đã rời khỏi hệ sinh thái Solana với tổng cộng 14,2 triệu đô la. Không ai biết chính xác kẻ tấn công đã làm điều đó bằng cách nào. Nhưng điều khiến tôi chú ý không phải là vụ hack, mà là cách dòng tiền được di chuyển sau đó.
Hai tuần trước, một phần trong số tiền đó đã chạm vào Tornado Cash. Tuần này, thêm 2.290 ETH nữa, tương đương khoảng 4,39 triệu đô la theo tỷ giá hiện tại, cũng đi theo con đường cũ. Hai lần, cùng một địa chỉ, cùng một giao thức. Đây không phải là hành động bốc đồng. Đây là một kế hoạch rửa tiền được tính toán, chia nhỏ, và thực hiện với kỷ luật của một tổ chức.
Tornado Cash, nếu bạn chưa từng nghe, là một giao thức trộn tiền trên Ethereum, dùng bằng chứng không kiến thức để cắt đứt liên kết giữa địa chỉ gửi và địa chỉ rút. Ra đời năm 2019, từng được xem là lá chắn quyền riêng tư giữa một biển minh bạch. Nhưng từ tháng 8 năm 2022, Bộ Tài chính Hoa Kỳ đã đưa nó vào danh sách trừng phạt SDN. Các nhà phát triển cốt lõi bị bắt. Các relayer hợp pháp bỏ đi. Vậy mà giao thức vẫn chạy. Và chính những kẻ tấn công đang dùng nó như một chiếc cầu nối giữa hai bờ vực: một bên là tài sản bẩn, một bên là sự tự do.
Hai tuần, hai cú chạm
Điều đầu tiên tôi muốn phân tích là lựa chọn giao thức. Tại sao một kẻ tấn công Solana, với hàng chục cầu nối và hàng trăm altcoin, lại chuyển tiền về Ethereum và dùng Tornado Cash, một giao thức đã bị trừng phạt, thay vì dùng một bridge ít ai để ý? Câu trả lời nằm ở thanh khoản. Tornado Cash có các pool 0,1 / 1 / 10 / 100 ETH, ăn sâu vào hệ sinh thái Ethereum suốt sáu năm. Một kẻ rửa tiền cần ba thứ: độ sâu thanh khoản, thời gian hoạt động, và khả năng dự đoán. Tornado Cash là nơi duy nhất trên Ethereum hội tụ cả ba. Các đối thủ như Railgun hay Aztec thì mới, hoặc thanh khoản mỏng, hoặc chưa bao giờ vượt qua được bài toán mời gọi tội phạm.
Chiến lược chia nhỏ cũng lộ ra một trình độ nhất định. 2.290 ETH không được gửi một lần. Nó được tách thành nhiều phần, qua nhiều mức pool, trong hai đợt cách nhau hai tuần. Điều này cho thấy kẻ tấn công hiểu rõ cách các công ty phân tích chuỗi hoạt động: chúng theo dõi dòng tiền lớn, chúng dựng biểu đồ cluster từ phí gas và thời điểm giao dịch. Nếu anh ta đổ toàn bộ 14,2 triệu đô la vào một giao dịch, mọi cảnh báo đỏ sẽ bật lên trong vài phút. Thay vào đó, anh ta chọn nhịp tim chậm, giống như một người rút tiền từ máy ATM ở nhiều chi nhánh khác nhau để không vượt ngưỡng báo cáo.
Tôi đã từng đứng trước hai trăm người trẻ Nairobi vào năm 2017, giữa cơn sốt ICO, để giải thích smart contract bằng ngôn ngữ của những giấc mơ. Tôi nói với họ rằng blockchain là một tấm gương — nó phản chiếu chính xác những gì bạn đặt trước nó. Nếu bạn đặt một giấc mơ, nó phản chiếu giấc mơ. Nếu bạn đặt một vết nhơ, nó phản chiếu vết nhơ. Tối nay, tấm gương của Tornado Cash đang phản chiếu một vết nhơ dài 2.290 ETH.
Điều mà dòng tiền đang thì thầm
Nhưng có một chi tiết mà hầu hết báo cáo bỏ qua: trong số 14,2 triệu đô la, mới chỉ có khoảng 4,39 triệu đô la đi vào Tornado Cash. Tức là gần 10 triệu đô la vẫn đang nằm ở đâu đó trong tầm kiểm soát của kẻ tấn công. Anh ta có thể đã chuyển một phần sang stablecoin qua DEX, có thể đã dùng cầu nối để đưa tiền sang một chuỗi khác, hoặc đơn giản là giữ ETH trong một ví lạnh chờ thị trường ấm lên. Việc tôi chắc chắn là điều này: sẽ có lần chuyển thứ ba. Và khi nó xảy ra, cánh cửa truy vết sẽ đóng lại gần như hoàn toàn.
Âm thanh thứ hai mà tôi nghe được là tiếng gõ cửa của các điều tra viên. Khi một khoản tiền đi qua Tornado Cash và được rút ra từ một địa chỉ mới, các nhà điều tra không còn cách nào để biết nó thuộc về ai nếu người rút không tự nối nó với một danh tính. Nhưng họ có một lợi thế: thời gian. Các công cụ như Chainalysis hay Elliptic thực hiện phân tích cụm thời gian — nếu một địa chỉ mới rút tiền từ pool 100 ETH và năm phút sau chuyển vào một sàn giao dịch có KYC, thì xác suất nó là kẻ tấn công là rất cao. Vì vậy, kẻ tấn công có thể đã tính đến chuyện đó. Anh ta có thể đang giữ tiền trong một ví không chạm đến bất kỳ sàn giao dịch nào, và chờ đợi. Sự kiên nhẫn là tài sản lớn nhất của một kẻ rửa tiền, và cũng là kẻ thù lớn nhất của một nhà điều tra.
Đừng quên rằng Tornado Cash có một tầng nữa: các relayer. Relayer là những nút giúp người dùng gửi giao dịch mà không cần ETH để trả gas. Sau lệnh trừng phạt, nhiều relayer rời đi vì sợ bị truy tố. Nhưng một số vẫn ở lại, ẩn danh, và tính phí cao hơn. Mỗi lần kẻ tấn công sử dụng Tornado Cash, anh ta đang trả tiền cho cơ sở hạ tầng ngầm này. Bạn có thể gọi đó là một nền kinh tế chui. Và nền kinh tế đó vẫn đang hoạt động tốt.
Dựa trên kinh nghiệm vận hành các giao thức phi tập trung của tôi tại Nairobi, tôi có thể nói rằng: không có một chỉ huy nào trong một tổ chức nghiêm túc lại cho phép hai lần chuyển tiền lớn đến cùng một địa chỉ Tornado Cash nếu anh ta không có một lý do rất cụ thể. Một khả năng là anh ta đang kiểm tra xem cơ quan thực thi pháp luật có phản ứng gì không. Một khả năng khác là anh ta cần thanh khoản cho một chi phí nào đó — có thể là trả cho một dịch vụ, có thể là mua công cụ, có thể là chuộc một con tin kỹ thuật số. Tôi không thể khẳng định. Nhưng tôi có thể khẳng định rằng hành vi này không giống một kẻ nghiệp dư.
Góc khuất của sự trừng phạt
Và đây là điều tôi muốn bạn suy nghĩ khác đi: có thể chính lệnh trừng phạt đã tạo ra vùng đất chết này.
Nghe có vẻ phản trực giác, nhưng hãy nhìn lại lịch sử. Trước khi OFAC đưa Tornado Cash vào danh sách đen, giao thức này từng có một đội ngũ phát triển, có relayer công khai, có một cộng đồng người dùng hợp pháp — nhà báo, nhà hoạt động, người dân ở các nước độc tài, những người chỉ muốn giao dịch mà không bị chính phủ theo dõi. Sau lệnh trừng phạt, nhóm phát triển tan rã, relayer hợp pháp rút lui, nhưng giao thức vẫn không chết. Vậy ai còn lại để vận hành nó? Những người không sợ pháp luật. Và do đó, nó biến thành một công cụ chỉ dành cho tội phạm. Nếu bạn muốn giết một công cụ, bạn đừng trừng phạt nó — bạn hãy thay thế nó bằng một công cụ tốt hơn. Nhưng chúng ta đã không làm điều đó. Chúng ta đã bỏ trống chiến trường và để những kẻ xấu chiếm lấy.
Tôi không nói rằng Tornado Cash vô tội. Nó đã trở thành nơi chứa tiền bẩn, và bất kỳ ai dùng nó hôm nay đều phải tự hỏi mình đang đứng về phía nào. Nhưng nếu chúng ta chỉ tập trung vào việc đóng cửa nó, chúng ta sẽ quên mất câu hỏi quan trọng hơn: tại sao một kẻ tấn công có 14,2 triệu đô la lại chọn con đường duy nhất mà chúng ta đã cảnh báo từ trước? Bởi vì đó là con đường duy nhất còn lại. Và khi bạn dồn một kẻ tuyệt vọng vào một lối thoát duy nhất, nó sẽ trở nên chuyên nghiệp hơn trong việc sử dụng lối thoát đó.
Cánh cửa hẹp
Câu hỏi cuối cùng tôi muốn để lại cho bạn, và cho chính tôi, không phải là làm sao ngăn kẻ tấn công chuyển thêm 2.290 ETH nữa. Nó đã xảy ra rồi. Mà là: chúng ta có đủ can đảm để xây dựng một nơi trú ẩn cho những người cần sự riêng tư mà không trở thành nơi ẩn nấp của tội phạm? Liệu chúng ta có thể thiết kế một giao thức vừa minh bạch với cơ quan thực thi, vừa tôn trọng quyền được im lặng của một người nông dân Kenya không muốn cả làng biết mình vừa bán được một mẻ cà phê ngon? Tôi tin là có. Nhưng cánh cửa đang hẹp dần, và mỗi lần một kẻ tấn công chạm vào Tornado Cash, cánh cửa ấy lại khép thêm một chút.
Âm thanh của 2.290 ETH không dừng lại ở đó. Nó sẽ còn vang vọng trong các phiên điều trần, trong các bản cập nhật của Chainalysis, trong các cuộc họp kín của những ngân hàng trung ương. Và một ngày nào đó, nó có thể là âm thanh của quyền riêng tư bị đánh đổi hoàn toàn.
— Root: Dự án ở đây không phải một protocol có token, mà là chính sự vắng mặt của nó: một công cụ sinh ra để bảo vệ quyền riêng tư đang trở thành nơi chôn cất tài sản bị đánh cắp.
Tôi sẽ tiếp tục theo dõi địa chỉ này. Tôi sẽ theo dõi lần chuyển thứ ba. Và tôi sẽ nhắc bạn vào ngày nó xuất hiện, bởi vì đó là lúc chúng ta biết liệu cánh cửa đã đóng lại hoàn toàn, hay vẫn còn một khe sáng để chúng ta kịp luồn qua.