Confidential Không Có Nghĩa Như Tôi Tưởng

Confidential Không Có Nghĩa Như Tôi Tưởng

Được dịch từ tiếng Anh

Được thôi, tôi sẽ nói thẳng: tôi đã sai. Hoặc ít nhất, tôi đã sai cho đến gần đây.

Nếu bạn đã đọc blog này một thời gian, có lẽ bạn còn nhớ những bài viết nhiệt tình của tôi về tài sản trên mạng Liquid. L-BTC, USDT trên Liquid - tôi đã khen ngợi chúng nhiều lần. Tôi đã viết rằng các giao dịch ở đó là confidential, rằng điều này bảo vệ bạn khỏi các nhà phân tích AML luôn canh chừng và khỏi các CEX có thể đóng băng satoshi của bạn chỉ vì, vào một thời điểm nào đó trong quá khứ, chúng "quen biết" với những địa chỉ "không tốt".

Tôi thực sự tin điều đó.

Khi bạn gửi một giao dịch Liquid từ hầu hết ví, bạn thường nhận được hai liên kết tới trình khám phá khối: một liên kết hiển thị giao dịch confidential, và một liên kết khác hiển thị phiên bản "unblinded". Liên kết thứ hai chỉ có sẵn cho người gửi, trong khi liên kết đầu tiên có thể xem bởi bất kỳ ai duyệt trình khám phá. Và vì lý do nào đó, tôi chưa bao giờ thắc mắc xem "confidential" thực sự nghĩa là gì. Tôi chưa từng dừng lại để kiểm tra chính xác những gì có thể nhìn thấy qua những liên kết đó.

Tuy nhiên, gần đây, chúng tôi đã xử lý một hoán đổi khác trên rabbit.io, chuyển đổi một số tiền mã hóa thành USDT trên blockchain Liquid. Người dùng yêu cầu chúng tôi cung cấp chi tiết về giao dịch. Tôi mở trình khám phá khối - và đó là lúc tôi choáng váng.

Toàn bộ đồ thị tương tác giữa các địa chỉ hiện ra ngay đó, rõ ràng. Ai đã gửi cho ai. Khi nào. Bao nhiêu lần. Cấu trúc các mối quan hệ giữa các địa chỉ bị lộ hoàn toàn. Và chẳng có thứ gì trong đó bị che khuất bởi bất kỳ "bí mật" nào.

Đó là lúc tôi nhận ra mình đã hiểu sai một cách nghiêm trọng - và, tệ hơn nữa, tôi đã vô tình gây hiểu lầm cho bạn. Tôi xin lỗi.

Liquid không bảo vệ bạn khỏi lạm dụng liên quan đến AML. Nếu một dịch vụ giám sát AML quyết định gán nhãn bất kỳ địa chỉ nào từng gửi tiền cho bạn là "bị nhiễm bẩn", thì họ cũng có thể gán nhãn địa chỉ của bạn là bị nhiễm bẩn - vì cùng những lý do họ làm vậy trên bất kỳ blockchain minh bạch nào khác.

Tôi đã nhầm lẫn giữa một loại tính bí mật với một loại khác. Và sự nhầm lẫn đó quan trọng.

Liquid thực sự ẩn những gì?

"Confidential transaction" không phải là ẩn dụ trong trường hợp Liquid - đó là một thuật ngữ chính xác về mặt kỹ thuật. Nhưng nó chỉ có nghĩa một điều rất cụ thể: số lượng và loại tài sản được ẩn. Chỉ vậy thôi.

Nói vậy, đây là một phép ẩn dụ đã giúp tôi hiểu. Khi tôi bắt đầu đào sâu vào chi tiết, tôi bắt đầu nghĩ về Liquid như một chiếc bàn phủ khăn. Chiếc khăn che món ăn - bạn không thể thấy trên đó có gì hoặc bao nhiêu - nhưng chiếc bàn và sự di chuyển các đĩa trên đó vẫn hoàn toàn hiển thị với bất kỳ ai nhìn qua trình khám phá khối.

Một người quan sát bên ngoài không thể biết bạn đã chuyển một trăm bitcoin hay chỉ năm mươi xu USDT. Nhưng họ có thể thấy rõ rằng địa chỉ A đã gửi thứ gì đó tới địa chỉ B, và B sau đó nhận thứ gì đó từ địa chỉ C.

Và đó là nơi vấn đề của tôi bắt đầu.

Đối với các khoản thanh toán Bitcoin cá nhân không liên quan đến hoán đổi trên rabbit.io, tôi sử dụng Lightning Network. Lý do rất đơn giản: người nhận không thấy lịch sử của các coin. Họ không có cơ sở để tuyên bố chúng "bị nhiễm bẩn" và giữ lại bitcoin của tôi với lý do đó mà không giao gì đổi lại.

Tôi ngây thơ cho rằng Liquid cung cấp sự bảo vệ tương tự - có thể đánh đổi một chút về việc tự quản lý hoàn toàn, nhưng không có sự phức tạp vận hành của quản lý kênh thanh toán.

Hóa ra, không phải vậy.

Điều Liquid làm rất tốt là giải quyết một vấn đề hoàn toàn khác. Tính bí mật của giao dịch trên Liquid bảo vệ người dùng khỏi việc lạm dụng bởi những tổ chức phát hành token hoạt động trên mạng.

Trên Ethereum, Tron và các blockchain tương tự, hợp đồng thông minh đằng sau các token phổ biến được thiết kế để nhà phát hành có thể thấy mọi số dư ví và, nếu cần, ấn nút để đóng băng token của bạn.

Trên Liquid, nhà phát hành về mặt kỹ thuật không thể làm điều đó - đó là điểm đầu tiên. Và ngay cả khi họ muốn, cũng vô nghĩa: số lượng và loại tài sản tại mỗi địa chỉ bị ẩn. Nhà phát hành đơn giản là không biết ai đang giữ bao nhiêu token của họ.

Đó là một biện pháp phòng vệ đáng kể chống lại kiểm duyệt có mục tiêu. Nó cũng là một lớp che chắn tốt chống lại sự chú ý không mong muốn từ kẻ lừa đảo và kẻ trộm - không ai có thể thấy giá trị đổ vào địa chỉ của bạn là bao nhiêu.

Liquid giải quyết vấn đề mà nó được thiết kế để giải quyết. Nó chỉ không phải là vấn đề mà tôi nghĩ nó đang giải quyết. Và điều đó không làm blockchain trở nên tệ - nó làm cho nó chuyên dụng.

Chúng ta thực sự hiểu "confidential" là gì

Trước khi đi tiếp, hãy làm rõ một điều. Khi chúng ta gọi một giao dịch là "confidential", chính xác thì chúng ta đang nói về điều gì?

Mỗi giao dịch có nhiều thành phần, và mỗi thành phần trong số đó có thể bị ẩn riêng biệt:

  • Số lượng và loại tài sản - bao nhiêu của loại gì đang được chuyển.
  • Mối quan hệ giữa các địa chỉ - ai tương tác với ai và đồ thị giao dịch trông như thế nào.
  • Danh tính - liên kết giữa địa chỉ và cá nhân hoặc tổ chức trong thế giới thực.
  • Sự tồn tại của chính chuyển khoản - liệu có ai đó có thể thấy rằng một giao dịch đã xảy ra hay không.

Các hệ thống khác nhau làm cho các phần khác nhau trở nên bí mật. Và một khi chúng ta tách các lớp này ra, sẽ dễ hiểu hơn công nghệ nào thực sự bảo vệ điều gì - và điều gì thì không.

Tính bí mật trong Bitcoin

Lightning Network: Giao Bitcoin từ một người gửi vô danh

Nếu Liquid ẩn "bao nhiêu" và "cái gì", Lightning ẩn "từ đâu".

Hãy tưởng tượng bạn muốn gửi một gói cho bạn ở một thành phố khác. Bạn không giao nó trực tiếp. Bạn đưa nó cho một nhân viên chuyển phát, người giao cho tài xế xe khách đường dài, người chuyển cho tài xế taxi địa phương ở thành phố đích, và tài xế taxi cuối cùng giao nó cho bạn của bạn.

Tài xế taxi đó, người cuối cùng trong chuỗi, chỉ biết rằng tài xế xe khách đã đưa anh ta chiếc hộp. Anh ta không biết bạn là người gửi ban đầu.

Trong Lightning, điều này gọi là định tuyến onion - cùng khái niệm được dùng trong Tor. Người nhận chỉ thấy bước nhảy cuối cùng trong lộ trình. Lịch sử các coin của bạn vô hình với họ. Một nhà phân tích AML không có gì để phân tích, vì không có lịch sử giao dịch được ghi lại ở đâu cả.

Đây chính xác là điều tôi cần. Đó là lý do tôi dùng Lightning cho các giao dịch riêng tư của mình.

Có một điểm lưu ý: việc mở và đóng kênh thanh toán được ghi lại trên blockchain Bitcoin. Nhưng đó chỉ là những giao dịch đầu và cuối - không phải hàng chục, hàng trăm, hay hàng nghìn khoản thanh toán có thể diễn ra giữa chúng.

Silent Payments: Một người nhận, nhiều địa chỉ vô hình

Những nhân vật công chúng đối mặt với một vấn đề lớn. Nếu họ công khai một địa chỉ Bitcoin thông thường để quyên góp hoặc thanh toán, bất kỳ ai cũng có thể mở trình khám phá khối và thấy có bao nhiêu lần tiền được gửi đến địa chỉ đó và nó hiện đang giữ bao nhiêu bitcoin. Giống như số thẻ ngân hàng của bạn cho phép người lạ truy cập sao kê tài khoản của bạn.

Silent Payments giải quyết vấn đề này một cách tinh tế.

  • Tôi công bố một "địa chỉ silent" duy nhất.
  • Bạn dán nó vào ví để gửi tiền cho tôi.
  • Ví của bạn sau đó thực hiện một mánh toán học thông minh: nó lấy khóa công khai của tôi và khóa của bạn, và sinh ra từ chúng một địa chỉ một lần hoàn toàn mới, duy nhất.
  • Địa chỉ đó thuộc về tôi - nhưng ngay cả tôi cũng không biết trước. Và nó không thể được liên kết trở lại địa chỉ silent công khai của tôi.

Các số lượng vẫn còn hiển thị - đây chỉ là giao dịch Bitcoin bình thường. Nhưng liên kết giữa một danh tính công khai đã đăng địa chỉ và các khoản thanh toán đến cụ thể bị ẩn.

Một kế hoạch riêng tư tương tự gần đây được đề xuất trên mạng Stellar.

Ark: Nồi hòa tan cho Bitcoin

Ark là một giao thức tương đối mới được xây dựng trên Bitcoin và đang được phát triển tích cực. Nó nhằm cung cấp điều gì đó tương tự Lightning, nhưng không yêu cầu người dùng quản lý kênh.

Thay vì các kênh thanh toán riêng lẻ, tất cả người tham gia gửi coin của họ vào một hồ chung trong khi vẫn giữ quyền kiểm soát số lượng họ đóng góp. Bạn ném coin vào nồi - chúng hòa tan giữa hàng nghìn coin khác.

Khi bạn muốn trả ai đó, bạn chỉ định cho nhà điều hành chuyển một số tiền nhất định cho một người tham gia khác bên trong hồ. Nếu người nhận không phải là thành viên hồ, nhà điều hành rút tiền và gửi tới địa chỉ được chỉ định. Nhà điều hành không thể từ chối yêu cầu của bạn.

Kết quả là, những coin bạn nạp ban đầu và những coin bạn bè bạn cuối cùng nhận được không bị liên kết bằng dấu vết trên chuỗi có thể nhìn thấy. Kết nối bị phá vỡ.

Điều này thoạt nhìn giống một mixer, nhưng mục đích chính không phải là cắt đứt liên kết giữa gửi và rút. Tính năng cốt lõi là các chuyển nội bộ trong hồ - tái phân bổ các quyền yêu cầu đối với nhà điều hành. Những điều này là tức thì và rẻ, giống như chuyển nội bộ trong CEX.

Sự khác biệt then chốt là, không giống như nhà điều hành CEX, nhà điều hành Ark không thể đóng băng tiền của bạn.

Về mặt tính bí mật, điều này cũng tương tự chuyển nội bộ CEX: nhà điều hành thấy mọi thứ, trong khi người quan sát bên ngoài không thấy gì - thậm chí không thấy rằng các chuyển tiền đã xảy ra.

Shielded CSV: Người nhận tự mình xác minh

Đây là một ý tưởng rất mới, còn đang trong giai đoạn nghiên cứu. Nhưng nó có thể giải thích khá đơn giản.

  • Blockchain bình thường hoạt động thế nào? Alice công khai thông báo với thế giới: "Tôi gửi cho Bob một nghìn satoshi!" Mọi người thấy nó, xác minh nó, và ghi lại nó.
  • Shielded CSV hoạt động thế nào? Alice gửi cho Bob một tin nhắn riêng: "Tôi gửi cho bạn một nghìn satoshi. Đây là bằng chứng rằng tôi đã có chúng và đã chi tiêu chúng đúng cách. Xác minh hộ tôi." Đối với phần còn lại của thế giới, Alice không công bố giao dịch mà là một bằng chứng mật mã rằng cô ấy đã có số tiền và đã chi tiêu đúng, nghĩa là cô ấy không thể chi tiêu chúng lần nữa.

Mọi thông tin về việc cô ấy gửi bao nhiêu và gửi cho ai được truyền trực tiếp từ Alice tới Bob. Người nhận xác minh nội dung chuyển khoản mà không tiết lộ nó ra thế giới. Chính xác hơn, mạng lưới xác minh rằng giao dịch hợp lệ, trong khi người nhận xác minh nội dung thực sự của nó.

Blockchain chỉ lưu dấu vết mật mã tối thiểu cần thiết để ngăn chi tiêu kép. Nếu bạn không tham gia giao dịch, bạn chẳng biết gì về nó - ngoại trừ việc một UTXO đã bị hủy.

Một mô hình tương tự - nơi blockchain chỉ lưu zk-proof về tính đúng đắn của giao dịch - đã hoạt động thành công gần một thập kỷ trên mạng Zcash.

Tính bí mật trong các tiền mã hóa khác

MimbleWimble: Một blockchain không có địa chỉ

Hãy bước ra ngoài Bitcoin. Ở đây, các nhà phát triển giải quyết vấn đề đồ thị giao dịch theo cách triệt để hơn nhiều.

Trong các blockchain truyền thống, bạn thấy địa chỉ, số lượng và một cấu trúc giao dịch rõ ràng: đây là input, đây là output, và đây là liên kết giữa chúng.

Trong MimbleWimble - được dùng trong Grin và Beam - không có địa chỉ nào cả. Thậm chí không có số lượng hiển thị. Chỉ có input và output, và kích thước của chúng bị ẩn.

Khi một khối được tạo ra, nó không chứa các giao dịch riêng lẻ với các liên kết rõ ràng giữa mỗi input và output. Thay vào đó, nó chứa:

  • danh sách đầy đủ tất cả các input được bao gồm trong khối,
  • danh sách đầy đủ tất cả các output được tạo trong khối,
  • và một bằng chứng toán học rằng tổng cân bằng là chính xác.

Không có bản ghi ai gửi coin cho ai. Hơn nữa, nếu output của một giao dịch được chi tiêu trong cùng khối chứa giao dịch cha của nó, những input và output trung gian đó biến mất hoàn toàn khỏi lịch sử blockchain.

Người quan sát bên ngoài chỉ thấy rằng một số coin đã bị phá hủy và những coin mới được tạo ra.

Tuy nhiên, các giao dịch không bí mật đối với các nút mạng xử lý chúng trước khi chúng được đưa vào khối. Trong khi một giao dịch đang lan truyền trên mạng, liên kết giữa input và output của nó vẫn có thể thấy. Nếu ai đó giám sát tích cực việc truyền giao dịch trước khi chúng được đưa vào khối, họ có thể tái tạo một phần đồ thị.

MWEB trong Litecoin: Những địa chỉ không thật sự tồn tại

Mạng Litecoin triển khai một phần mở rộng gọi là MimbleWimble Extension Block (MWEB). Đây không phải là một chuỗi MimbleWimble riêng như Grin hay Beam, mà là một lớp bổ sung được nhúng vào blockchain chính.

Coin có thể:

  • được chuyển từ UTXO thông thường vào MWEB,
  • được sử dụng bên trong MWEB,
  • và sau đó rút lại về Litecoin tiêu chuẩn.

Ở một số khía cạnh, điều này giống Ark trên Bitcoin - ngoại trừ không có một nhà điều hành duy nhất. "Nhà điều hành" ở đây là các nút mạng và, tất nhiên, các thợ mỏ đưa input và output vào khối.

Vì thuận tiện cho người dùng, triển khai MWEB của Litecoin bao gồm chức năng địa chỉ. Có những chuỗi trông giống địa chỉ quen thuộc và blockchain hiểu khi một giao dịch được gửi tới "địa chỉ MWEB".

Nhưng những địa chỉ này chỉ tồn tại ở cấp giao diện người dùng. Bên trong các khối MWEB, không có địa chỉ - chỉ có các danh sách tổng hợp của input và output.

Monero: "Tôi là Spartacus!"

I am Spartacus

Về cơ bản, đó là cách Monero hoạt động.

Khi bạn gửi giao dịch, ví của bạn lấy coin và trộn nó với vài output lịch sử khác không liên quan trên blockchain làm mồi nhử. Từ góc nhìn người quan sát bên ngoài, giao dịch có thể đã được thực hiện bởi bất kỳ thành viên nào của nhóm đó.

Đồng thời, Monero ẩn người nhận bằng địa chỉ tàng hình một lần: một địa chỉ duy nhất được tạo cho mỗi khoản thanh toán (tương tự về tinh thần với Silent Payments), và nó không thể liên kết với địa chỉ công khai của người nhận. Các số lượng giao dịch cũng bị ẩn.

Đây hiện là hình thức tính bí mật mạnh mẽ nhất trên chuỗi. Đó chính là lý do các cơ quan quản lý thường không ưa Monero.

Nhưng "mạnh nhất" không tự động có nghĩa là "bền vững nhất theo thời gian". Mặc dù các bản ghi blockchain mơ hồ, chúng vẫn tồn tại. Và không ai có thể chắc chắn tuyệt đối rằng các kỹ thuật phân tích mới không thể xuất hiện một ngày nào đó để trích xuất thêm thông tin từ những bản ghi đó.

Rủi ro tiềm ẩn này phân biệt Monero với các hệ thống như Lightning Network, nơi các bản ghi giao dịch đơn giản là không tồn tại trên chuỗi.

Thực tế, một người đam mê Bitcoin nổi tiếng có tên Supertestnet đã chạy một thử thách trong nhiều tháng: anh ấy yêu cầu người dùng Monero gửi anh một khoản thanh toán qua Lightning, và đổi lại anh gửi họ một khoản tương đương bằng Monero. Sau đó anh mời họ so sánh người gửi có thể biết được bao nhiêu về người nhận. Thú vị là, đôi khi anh ấy cũng trích xuất được một vài thông tin nhạy cảm từ dữ liệu hạn chế được ghi lại trên blockchain Monero.

Kết luận: Không có khái niệm "confidential" toàn diện

Hãy đặt mọi thứ vào một bức tranh đơn giản.

Muốn tự bảo vệ khỏi kiểm duyệt có mục tiêu của nhà phát hành hoặc giám sát tài chính? Khi đó Liquid là công cụ của bạn. Nó làm tốt công việc này. Tether không thể thấy số dư USDT của bạn trên Liquid và không thể đóng băng nó, và kẻ lừa đảo không thể biết địa chỉ nào đáng để tấn công lừa đảo.

Muốn ẩn nguồn gốc coin và tự bảo vệ khỏi lạm dụng AML? Chọn Lightning Network. Người nhận không thể thấy tiền đến từ đâu.

Cần chỉ ngăn các giao dịch đến bị liên kết với danh tính công khai của bạn? Dùng Silent Payments trong Bitcoin hoặc giải pháp tương tự trên Stellar.

Muốn không ai thấy đồ thị giao dịch chút nào? Hướng tới MimbleWimble (Grin, Beam, Litecoin), Ark, hoặc Zcash.

Muốn ẩn mọi thứ ngay hôm nay - người gửi, người nhận, số lượng và đồ thị - ngay cả khi có rủi ro nhỏ là phân tích tương lai có thể hé lộ một phần? Đó là Monero.

Đang chờ đợi những gì tiếp theo? Hãy để mắt tới Shielded CSV.

Mỗi công nghệ được thiết kế để giải quyết một mô hình mối đe dọa cụ thể. Không có ý nghĩa khi chỉ trích một chiếc búa vì nó kém trong việc vặn ốc. Liquid làm đúng những gì nó được xây dựng để làm. Chỉ là nó không giải quyết vấn đề mà tôi nghĩ nó đang giải quyết - và tôi đã không dành thời gian để hiểu điều đó trước khi khuyên bạn.

Bây giờ thì tôi đã hiểu. Và tôi hy vọng điều này cũng giúp bạn hiểu.