Bạn có bao giờ tự hỏi: Một dòng code có thể phạm tội không? Năm 2022, Bộ Tài chính Mỹ đã trả lời bằng hành động: khi họ liệt kê hợp đồng thông minh Tornado Cash vào danh sách trừng phạt, họ đã biến những dòng lệnh vô tri thành kẻ đồng lõa. Đó không chỉ là một quyết định pháp lý, đó là một tuyên ngôn: nếu bạn viết một công cụ mà ai đó có thể dùng để làm điều xấu, bạn cũng có tội. Tôi nhìn vào quyết định này, và trong tôi vang lên một câu hỏi sâu xa hơn: Liệu chúng ta có đang đánh mất ranh giới giữa công nghệ và trách nhiệm?
Hãy cùng tôi quay lại thời điểm đó. Tornado Cash là một giao thức trộn coin trên Ethereum, dùng zero-knowledge proofs để che giấu lịch sử giao dịch. Nó không phải một công ty, không có CEO, không có trụ sở. Nó chỉ là một bộ smart contract không thể nâng cấp, sống mãi trên blockchain. Khi OFAC trừng phạt địa chỉ hợp đồng của nó, họ đã làm một điều chưa từng có: trừng phạt một đoạn code. Hậu quả? Các nhà cung cấp dịch vụ như Infura, Alchemy phải chặn tất cả tương tác với địa chỉ đó. Người dùng không thể rút tiền từ pool riêng tư, kể cả những người gửi tiền hợp pháp. Alexey Pertsev, một trong những nhà phát triển, đã bị bắt ở Hà Lan. Roman Storm và Roman Semenov bị truy tố ở Mỹ. Tất cả chỉ vì họ viết code.
Tôi từng tham gia vào một dự án DeFi năm 2020, nơi chúng tôi triển khai một hợp đồng cho vay. Trong quá trình audit, tôi phát hiện một lỗ hổng cho phép kẻ tấn công rút hết thanh khoản. Chúng tôi đã vá nó ngay lập tức. Nhưng nếu lỗ hổng đó tồn tại và ai đó dùng nó để hack, liệu tôi có phải chịu trách nhiệm hình sự? Theo logic của vụ Tornado Cash, câu trả lời là có. Mỗi dòng lệnh mà chúng ta viết ra đều mang một lời hứa vô hình: nó sẽ được dùng đúng mục đích. Nhưng thực tế, code không có ý định, code chỉ thực thi. Chúng ta đang đặt gánh nặng đạo đức lên những thực thể không có khả năng đạo đức.
Khi tôi còn là sinh viên thạc sĩ Kỹ thuật Tài chính, tôi học về tính bất khả tri của thị trường: một công cụ tài chính không tốt cũng không xấu, chỉ có cách nó được sử dụng mới tạo ra giá trị. Blockchain cũng vậy. Nhưng chính phủ đang cố gắng biến code thành vật chứng, biến người viết code thành tội phạm. Đây là một sự trượt dốc nguy hiểm. Nếu Tornado Cash bị trừng phạt, thì bất kỳ giao thức nào có thể bị lạm dụng – như Uniswap, như Bitcoin – cũng có thể bị xem xét. Năm 2021, tôi chứng kiến sự sụp đổ của Terra, nơi code của Anchor Protocol đã hứa hẹn lợi suất 20% mà không có cơ chế bền vững. Nhưng không ai truy tố code vì nó đã làm đúng như được lập trình: mint UST để trả lãi. Sự khác biệt duy nhất là mục đích chính trị.
Hãy nhìn vào cấu trúc kỹ thuật của Tornado Cash. Hợp đồng của nó sử dụng Merkle tree để lưu trữ các cam kết (commitments) của số tiền gửi. Khi rút tiền, người dùng cung cấp một bằng chứng không tiết lộ (zk-SNARK) chứng minh họ biết một cam kết trong cây mà không tiết lộ cam kết đó là gì. Điều này đảm bảo rằng không ai – kể cả nhà phát triển – có thể kiểm soát việc rút tiền. Sau khi triển khai, hợp đồng được khóa (immutable), không thể nâng cấp. Vậy ai có trách nhiệm nếu ai đó dùng nó để rửa tiền? Câu trả lời kỹ thuật là: không ai. Code tự động thực thi. Nhưng pháp luật lại muốn tìm một khuôn mặt để đổ lỗi. Đó là sự xung đột giữa thế giới phi tập trung và khung pháp lý tập trung.
Tôi từng nói chuyện với một luật sư chuyên về blockchain ở Istanbul. Ông ấy bảo: "Vụ Tornado Cash là một bước ngoặt. Nó cho thấy Mỹ sẵn sàng trừng phạt công nghệ nền tảng, chứ không chỉ tài sản." Ông ấy chỉ vào một điều khoản trong lệnh trừng phạt: OFAC đã thêm địa chỉ hợp đồng vào danh sách SDN, nghĩa là bất kỳ công dân Mỹ nào tương tác với nó đều vi phạm. Nhưng hợp đồng không phải một thực thể, nó không thể bị kiểm soát. Đây giống như trừng phạt một cây cầu vì có người dùng nó để vận chuyển hàng lậu. Cây cầu vô tội, nhưng nó bị phá bỏ. Và những người xây cầu bị bỏ tù.
Đối lập với góc nhìn chính thống, tôi muốn đưa ra một lập luận phản trực giác: Lệnh trừng phạt Tornado Cash thực ra đã củng cố vị thế của nó như một biểu tượng của tự do tài chính. Trước khi bị trừng phạt, nhiều người trong cộng đồng crypto coi nó như một công cụ rủi ro. Sau khi OFAC can thiệp, nó trở thành huyền thoại. Sự đàn áp đã thắp sáng ngọn lửa kháng cự. Tôi nhìn thấy điều này trong các cộng đồng ẩn danh: các bản fork của Tornado Cash mọc lên như nấm, không thể kiểm soát. Mỗi lần chính phủ chặn một địa chỉ, năm địa chỉ mới xuất hiện. Điều này chứng minh rằng trừng phạt code là vô ích. Nó chỉ đẩy người dùng vào bóng tối kỹ thuật số, nơi các giải pháp khó truy vết hơn.
Nhưng có một góc nhìn khác mà ít người nói đến: Liệu Tornado Cash có thực sự cần thiết cho quyền riêng tư? Tôi đã dành nhiều tháng nghiên cứu các giải pháp privacy khác như Aztec, Railgun, hay zk.money. Mỗi giải pháp đều có trade-off. Tornado Cash đơn giản và hiệu quả, nhưng nó không có cơ chế xác thực danh tính. Trong thế giới DeFi, nơi mọi thứ đều công khai, việc ẩn danh hoàn toàn có thể bị lạm dụng. Tuy nhiên, việc loại bỏ hoàn toàn quyền riêng tư cũng là một thảm họa. Sự cân bằng nằm ở đâu? Có lẽ chúng ta cần các giao thức có khả năng chọn lọc: cho phép riêng tư với các bên thứ ba nhưng minh bạch với cơ quan quản lý. Điều này khả thi về mặt kỹ thuật thông qua selective disclosure. Nhưng Tornado Cash, với thiết kế "tất cả hoặc không có gì", đã chọn một con đường cực đoan.
Tôi nhớ lại năm 2017, khi tôi mua token OMG với niềm tin vào thanh toán phi tập trung. Sự sụp đổ của thị trường đã dạy tôi rằng sự cường điệu có thể che mờ giá trị thực. Lần này, sự cường điệu xoay quanh quyền riêng tư cũng có thể dẫn đến những hậu quả khôn lường. Code không biết nói dối, nhưng con người thì có. Chúng ta cần tách bạch giữa công cụ và kẻ lạm dụng. Trừng phạt công cụ là một hành động hèn nhát, vì nó tránh đối đầu với những kẻ thực sự có tội. OFAC đã không bắt được bất kỳ kẻ rửa tiền nào qua Tornado Cash, họ chỉ bắt được những nhà phát triển. Điều này cho thấy mục đích thực sự: răn đe, không phải công lý.
Trong bối cảnh thị trường tăng hiện tại, với Bitcoin ETF và sự trở lại của dòng tiền thể chế, nhiều người đang bỏ qua những vấn đề nền tảng. Họ FOMO vào các dự án hứa hẹn lợi nhuận, nhưng quên rằng nền tảng pháp lý đang thay đổi. Mỗi dự án huy động hàng triệu USD đều có thể trở thành mục tiêu nếu nó xung đột với ý chí chính trị. Tôi đã chứng kiến sự sụp đổ của LUNA và FTX, nhưng những thảm họa đó ít ra còn do lỗi con người. Tornado Cash là thảm họa do lỗi của một hệ thống pháp lý không hiểu công nghệ.
Cuối cùng, tôi muốn đặt câu hỏi này: Nếu code có thể bị trừng phạt, thì những gì còn lại của tự do lập trình? Chúng ta đang tiến gần đến một tương lai nơi mọi nhà phát triển đều phải suy nghĩ: "Liệu dòng lệnh này có vi phạm pháp luật không?" trước khi viết. Điều đó sẽ giết chết sự đổi mới. Tôi chọn tin rằng mỗi dòng code là một lời tuyên thệ với sự thật: nó sẽ thực thi bất kể ai, bất kể điều gì. Và chính sự trung thành tuyệt đối đó mới là thứ đáng được bảo vệ, chứ không phải bị kết án.