Stealth Address vs Chữ Ký Vòng trong Monero
Stealth Address vs Chữ Ký Vòng trong Monero
Khoảng 1,2 triệu giao dịch Monero đã được kết toán trên mạng lưới trong tháng 4 năm 2026, và không một giao dịch nào trong số đó công khai để lộ người gửi, người nhận hay số tiền chính xác trên sổ cái công cộng. Tính chất này không đến từ một thủ thuật mật mã duy nhất. Nó dựa trên ít nhất ba lớp chồng lên nhau, hai trong số đó liên tục làm bối rối cả người mới lẫn các Bitcoiner kỳ cựu: stealth address và chữ ký vòng. Chúng nghe có vẻ giống nhau, luôn được nhắc đến trong cùng một đoạn của mọi bài giải thích Monero, và cả hai đều bị mô tả một cách qua loa là "thứ làm cho Monero ẩn danh". Nhưng chúng bảo vệ hai phía khác nhau của cùng một giao dịch, và việc đồng nhất chúng làm cho bạn không thể suy luận rõ ràng về thứ mà một người quan sát chuỗi có thể nhìn thấy hay không.
Tại MoneroSwapper chúng tôi gặp câu hỏi này gần như mỗi ngày — thường từ những người vừa dùng giao diện hoán đổi của chúng tôi, nhận thấy không cần KYC, và muốn hiểu lý do mật mã thực sự đằng sau điều đó. Bài viết này phân tích cả hai cấu trúc nguyên thủy, đi qua chỗ chúng giao nhau, chỗ chúng không giao nhau, và mỗi cái sẽ làm rò rỉ thông tin gì nếu mai đây nó biến mất khỏi giao thức. Kết thúc bài, bạn sẽ biết chính xác mỗi cấu trúc giải quyết bài toán nào và vì sao loại bỏ bất kỳ cái nào cũng làm sụp đổ các đảm bảo riêng tư của Monero.
Vì sao nhầm lẫn hai khái niệm này làm hỏng mô hình tư duy của bạn
Những người suy nghĩ về quyền riêng tư của Monero từ một cái rổ duy nhất gọi là "phần ẩn danh" thường mắc ba sai lầm có thể đoán trước. Họ tin rằng chia sẻ khóa giám sát là vô hại vì "chữ ký vòng vẫn bảo vệ mọi thứ", họ cho rằng tăng kích thước vòng cũng đồng thời củng cố quyền riêng tư của người nhận, và họ nghĩ rằng người nhận của một khoản thanh toán được che giấu bởi cùng cấu trúc che giấu lựa chọn đầu vào của người gửi. Không điều nào trong ba điều này là đúng, và cả ba đều dẫn đến những lỗi vận hành thực tế.
Sự phân chia giữa quyền riêng tư phía người gửi và phía người nhận là phân biệt hữu ích nhất cần nội tâm hóa. Giao thức Monero áp dụng mật mã khác nhau cho từng phía bởi vì hai bài toán này khác nhau. Che giấu ai đang trả tiền cho bạn nghĩa là làm cho các đầu ra không thể liên kết với địa chỉ công khai của bạn. Che giấu đầu ra nào bạn đang chi tiêu nghĩa là làm cho đầu vào của bạn không thể phân biệt được với một nhóm mồi nhử. Đây không phải là hai bài toán đối xứng.
- Quyền riêng tư phía người nhận: được xử lý bởi stealth address (khóa đầu ra một lần được tạo từ địa chỉ công khai của người nhận).
- Quyền riêng tư phía người gửi: được xử lý bởi chữ ký vòng (cụ thể là CLSAG kể từ hardfork tháng 10 năm 2020).
- Quyền riêng tư của số tiền: được xử lý bởi RingCT cùng với chứng minh khoảng giá trị Bulletproofs+ — một lớp thứ ba, độc lập.
Khi ai đó hỏi "Monero có thể truy vết được không?" thì câu trả lời trung thực phụ thuộc vào lớp nào trong ba lớp này mà người hỏi đang nghĩ đến. Rò rỉ khóa giám sát chỉ làm tổn hại lớp thứ nhất. Lựa chọn vòng yếu chỉ làm tổn hại lớp thứ hai. Và một lỗ hổng tương lai trong Bulletproofs+ chỉ làm tổn hại lớp thứ ba. Chúng thất bại độc lập, đó chính là lý do hiểu chúng một cách độc lập rất quan trọng.
Stealth Address thực sự là gì
Stealth address là một khóa công khai dùng một lần được tạo ra bởi người gửi tại thời điểm họ trả tiền cho bạn. Mỗi lần có người trả tiền vào cùng một địa chỉ Monero công khai, một khóa đích mới hoàn toàn không liên quan về mặt toán học sẽ xuất hiện trên chuỗi. Không có hai khoản thanh toán nào dùng chung một đích đến, ngay cả khi chúng đi vào cùng một ví, trong cùng một phút, từ cùng một người gửi.
Cấu trúc này dựa trên trao đổi khóa Diffie-Hellman trên đường cong elliptic. Địa chỉ công khai của bạn mã hóa hai điểm công khai: một gắn với khóa chi tiêu và một gắn với khóa giám sát. Khi An trả tiền cho bạn, ví của cô ấy tạo một số vô hướng tạm thời ngẫu nhiên, nhân nó với điểm khóa giám sát của bạn để rút ra một bí mật chung, băm bí mật đó, và cộng giá trị băm vào điểm khóa chi tiêu của bạn. Kết quả là khóa đích một lần được ghi vào đầu ra giao dịch. An chỉ công bố điểm công khai tạm thời của mình — bí mật dùng để rút ra khóa đích không thể khôi phục được từ bất cứ thứ gì trên chuỗi.
Ví của bạn tìm các khoản thanh toán dành cho bạn như thế nào
Ví của bạn dùng khóa giám sát để thực hiện cùng phép Diffie-Hellman theo chiều ngược lại đối với mọi đầu ra mà nó nhìn thấy. Khi phép tính khớp, ví biết rằng đầu ra đó thuộc về bạn. Khi không khớp, đầu ra bị bỏ qua âm thầm. Đây là lý do chạy một ví Monero đòi hỏi quét toàn bộ chuỗi thay vì tra cứu một địa chỉ trong chỉ mục tìm kiếm: không có địa chỉ nào trên chuỗi để mà tra cứu.
Điều quan trọng là chỉ khóa chi tiêu mới có thể thực sự chi tiêu đầu ra đó. Khóa giám sát tiết lộ những đầu ra nào là của bạn nhưng không thể di chuyển chúng. Đây là lý do cấu trúc khiến Monero hỗ trợ ví chỉ-xem (view-only) — kế toán, kiểm toán viên hay các dịch vụ giám sát có thể xác nhận thu nhập mà không có khả năng rút tiền.
Địa chỉ phụ mở rộng cùng một ý tưởng
Hầu hết người dùng không bao giờ chia sẻ địa chỉ chính của mình. Thay vào đó, họ phát các địa chỉ phụ — những địa chỉ công khai riêng biệt được tạo từ cặp khóa chính bằng một chỉ số cố định. Mỗi địa chỉ phụ không thể liên kết với địa chỉ chính và với mọi địa chỉ phụ khác, kể cả với người đang giữ tất cả chúng. Đây là thứ vận hành việc sinh địa chỉ theo từng khách hàng trong các công cụ thanh toán cho người bán, các trang quyên góp, và quy trình nạp tiền của chính MoneroSwapper: mỗi lệnh nhận một địa chỉ phụ mới, để người quan sát trên chuỗi không bao giờ gộp được chúng vào một ví.
Sai lầm về quyền riêng tư phổ biến nhất mà chúng tôi thấy ở người dùng mới là tái sử dụng một địa chỉ chính duy nhất ở mọi nơi. Giao thức cho bạn vô hạn địa chỉ phụ miễn phí — hãy dùng chúng.
Chữ Ký Vòng thực sự là gì
Chữ ký vòng là một chữ ký số được tạo ra thay mặt cho một nhóm, trong đó người xác minh có thể khẳng định "một thành viên của nhóm này đã ký" nhưng không thể nói đó là thành viên nào. Monero dùng chữ ký vòng để che giấu đầu ra trước đó nào đang được chi tiêu làm đầu vào cho giao dịch mới.
Khi bạn chi tiêu, ví của bạn chọn mười lăm đầu ra khác trên chuỗi không phải của bạn và gói chúng cùng đầu vào thật của bạn vào một vòng mười sáu. Chữ ký hợp lệ khi và chỉ khi một trong mười sáu thành viên giữ khóa chi tiêu tương ứng — nhưng người xác minh (và chuỗi công cộng) không thể nói đó là thành viên nào. Đầu ra của bạn và mười lăm mồi nhử không liên quan đều trở thành ứng cử viên có vẻ hợp lý ngang nhau cho đầu vào thật đã chi.
CLSAG và trạng thái hiện đại của kỹ thuật
Cấu trúc cụ thể của Monero được gọi là CLSAG (Concise Linkable Spontaneous Anonymous Group signatures), thay thế MLSAG trong hardfork tháng 10 năm 2020. CLSAG tạo ra các giao dịch nhỏ hơn khoảng 25% và xác minh nhanh hơn khoảng 20% ở cùng mức độ an toàn. Kích thước vòng đã là một giá trị cố định trên toàn giao thức kể từ năm 2019 — đầu tiên là 11, sau đó là 16 từ hardfork tháng 8 năm 2022 trở đi. Một kích thước vòng đồng nhất quan trọng vì kích thước thay đổi sẽ tự nó rò rỉ thông tin về phần mềm ví, loại giao dịch hay hành vi người dùng.
Key image ngăn chặn chi tiêu kép
Vì không ai có thể thấy đầu vào nào là thật, giao thức cần một cơ chế riêng để ngăn chặn chi tiêu kép. Cơ chế đó là key image: một giá trị xác định được rút ra từ khóa chi tiêu và khóa đầu ra một lần. Mỗi đầu ra tạo ra chính xác một key image khả dĩ, và mạng từ chối mọi giao dịch có key image đã xuất hiện trước đó. Image không tiết lộ gì về danh tính của đầu ra nhưng đảm bảo sử dụng một lần.
So sánh song song: Mỗi cấu trúc che giấu gì
Ma trận dưới đây làm rõ sự phân công lao động. Lưu ý rằng không một cấu trúc nguyên thủy nào che giấu cả ba: người gửi, người nhận và số tiền. Monero cần toàn bộ ngăn xếp để cung cấp đặc tính riêng tư mà hầu hết người dùng nghĩ đến.
| Đặc tính | Stealth Address | Chữ Ký Vòng (CLSAG) |
|---|---|---|
| Che giấu cái gì | Liên kết giữa địa chỉ công khai và các đích đầu ra trên chuỗi | Liên kết giữa một đầu ra trên chuỗi và giao dịch chi tiêu nó |
| Phía nào của giao dịch | Phía người nhận (đầu ra) | Phía người gửi (đầu vào) |
| Nguyên thủy nền tảng | Diffie-Hellman trên đường cong elliptic + băm | Chữ ký nhóm ẩn danh tự phát có thể liên kết |
| Tham số điều chỉnh được | Không có — phép rút khóa diễn ra một lần cho mỗi đầu ra | Kích thước vòng (hiện cố định ở 16) |
| Cái gì phá vỡ nó | Lộ khóa giám sát cho bên thù địch | Tấn công đầu ra độc, heuristic kiểu EAE, tập ẩn danh quá nhỏ |
| Cái gì nó KHÔNG che giấu | Số tiền giao dịch, đầu vào của người gửi | Đích đến, số tiền, thời điểm |
| Chi phí mỗi giao dịch | Rất nhỏ — một phép nhân vô hướng phụ | Lớn hơn — tỉ lệ với kích thước vòng, hiện chiếm phần lớn dung lượng giao dịch |
Một quan sát đáng dừng lại: stealth address không phải là một phỏng đoán xác suất. Nó là một đảm bảo mật mã cứng rằng đích đầu ra không thể được liên kết ngược về địa chỉ người nhận nếu không có khóa giám sát. Ngược lại, chữ ký vòng mang tính thống kê — độ tin cậy của người quan sát mặc định là khoảng một phần mười sáu, và con số đó có thể suy giảm trước kẻ tấn công kiểm soát quá trình chọn mồi nhử hoặc sở hữu nhiều thành viên trong vòng.
Hai lớp kết hợp trong một giao dịch Monero thực tế
Để thấy vì sao chỉ một mình không đủ, hãy đi qua một khoản thanh toán đơn lẻ. An muốn gửi 2 XMR cho Bình, mà cô ấy có địa chỉ Monero từ trang quyên góp công khai.
- Ví của An tính toán đầu ra stealth. Nó tạo một số vô hướng tạm thời, thực hiện Diffie-Hellman với điểm khóa giám sát của Bình, và rút ra một khóa công khai đích dùng một lần. Khóa này đi vào danh sách đầu ra của giao dịch. Không ai quan sát chuỗi có thể kết nối đầu ra đó với địa chỉ công khai của Bình.
- Ví của An chọn vòng. Để chi trả khoản thanh toán, An phải chi tiêu một trong các đầu ra trước đó của chính cô ấy. Ví của cô ấy chọn đầu ra thật đó và mười lăm mồi nhử từ tập đầu ra gần đây và lịch sử của chuỗi. Việc chọn mồi nhử tuân theo phân phối gamma đã được công bố, mô phỏng các mẫu chi tiêu của người dùng thực.
- Ví của An ký bằng CLSAG. Chữ ký chứng minh rằng một trong mười sáu thành viên vòng đã đồng ý cho việc chi tiêu. Người xác minh không học được gì về việc đó là thành viên nào. Key image gắn vào chữ ký đảm bảo đầu ra thật không thể được chi tiêu lại.
- Ví của An che số tiền bằng RingCT. Đầu vào và đầu ra được mã hóa thành các cam kết Pedersen. Chứng minh khoảng giá trị Bulletproofs+ thuyết phục mạng rằng không có đầu ra nào vượt quá tổng đầu vào, mà không bao giờ tiết lộ các con số.
- Ví của Bình quét khối mới. Dùng khóa giám sát, Bình thực hiện Diffie-Hellman với mọi đầu ra. Khi phép tính khớp với khoản thanh toán của An, đầu ra tự lộ diện. Bình lúc này biết mình đã nhận 2 XMR, nhưng chính chuỗi chỉ hiển thị một khối dữ liệu mờ đục.
Bỏ stealth address đi và ví của Bình vẫn sẽ tìm thấy khoản thanh toán, nhưng mọi công ty phân tích chuỗi cũng vậy: mọi khoản thanh toán đến địa chỉ của Bình sẽ đáp xuống cùng một đích, và toàn bộ lịch sử nhận tiền của anh sẽ công khai. Bỏ chữ ký vòng đi và việc chi tiêu của An sẽ chỉ thẳng vào đúng một đầu ra trước đó, phơi bày đồ thị giao dịch của ví cô ấy. Bỏ RingCT đi và các số tiền sẽ rò rỉ, làm cho hai lớp còn lại dễ bị bóc tách danh tính hơn rất nhiều thông qua tương quan giá trị. Mỗi lớp bảo vệ trước một đối thủ khác nhau.
Ví dụ thực tế: Một giao dịch hoán đổi tại MoneroSwapper
Hãy xét một người dùng nạp 0,05 BTC tại MoneroSwapper và nhận XMR tại một địa chỉ phụ vừa được tạo trong ví Feather của họ. Hai sổ cái ghi lại các phần của giao dịch trao đổi này, và những gì mỗi người quan sát nhìn thấy rất đáng để học hỏi.
Về phía Bitcoin, địa chỉ nạp tiền hiện rõ. Các công cụ phân tích chuỗi — Chainalysis, Elliptic, TRM Labs — sẽ gắn thẻ nó là thuộc về một dịch vụ hoán đổi phi giám sát nếu họ có heuristic cho mẫu nạp tiền của chúng tôi. Số tiền, thời điểm và các UTXO gốc đều công khai. Đây là điều bình thường với Bitcoin và là một lý do người dùng tìm đến Monero ngay từ đầu. Bộ máy hoán đổi gửi BTC đến một bể thanh khoản, và dấu vết trên chuỗi BTC thực tế kết thúc tại bể đó.
Về phía Monero, bức tranh khác về cơ bản. Giao dịch chi trả của chúng tôi tạo một đầu ra stealth gắn với địa chỉ phụ của người dùng. Đối với người quan sát chuỗi, đầu ra là một khóa công khai mới không có kết nối rõ ràng nào với MoneroSwapper hay người dùng. Giao dịch chi tiêu một vòng mười sáu, bao gồm một trong các đầu ra của chúng tôi và mười lăm mồi nhử, nên ngay cả việc chi tiêu của chính chúng tôi cũng không thể nhận diện minh bạch chỉ từ trạng thái chuỗi. RingCT che số tiền chi trả chính xác. Kết quả là ngay cả người quan sát biết một giao dịch hoán đổi đã xảy ra cũng không thể chứng minh giao dịch Monero cụ thể nào trong khối liên quan là khoản chi trả, cũng không thể chứng minh địa chỉ phụ nào đã nhận nó.
Sự bất đối xứng này — BTC minh bạch đi vào, XMR mờ đục đi ra — chính là toàn bộ ý nghĩa của việc dùng Monero như một lớp riêng tư thay vì làm đồng tiền giao dịch đầu cuối cho mọi khoản thanh toán. Stealth address đảm bảo đầu ra của giao dịch hoán đổi không thể liên kết với địa chỉ của người dùng; chữ ký vòng đảm bảo khoản chi trả của chúng tôi không thể truy ngược qua lịch sử ví nóng của chúng tôi.
Câu hỏi thường gặp
Stealth address có thể bị bóc tách danh tính không?
Chỉ bởi người giữ khóa giám sát của địa chỉ người nhận. Khóa giám sát tiết lộ đầu ra nào thuộc về ví nào nhưng không thể chi tiêu chúng. Nếu bạn chia sẻ khóa giám sát với bên thứ ba — ví dụ, để chứng minh khả năng thanh toán cho một kiểm toán viên — bên đó sẽ thấy mọi khoản thanh toán đến của bạn mãi mãi, kể cả những khoản trước đây. Hãy coi khóa giám sát là dữ liệu nhạy cảm, không phải "mật khẩu chỉ đọc" có thể đăng công khai an toàn.
Vì sao Monero tăng kích thước vòng lên 16?
Hardfork Fluorine Fermi tháng 8 năm 2022 đã nâng kích thước vòng từ 11 lên 16 để mở rộng tập ẩn danh trên mỗi lần chi tiêu. Mười sáu gần như là điểm ngọt nơi các mồi nhử bổ sung mang lại lợi ích quyền riêng tư giảm dần với chi phí kích thước giao dịch tăng dần. Thế hệ tiếp theo, FCMP++ (chứng minh thành viên toàn chuỗi), được kỳ vọng sẽ thay thế các vòng kích thước cố định bằng chứng minh trên toàn bộ tập đầu ra, thực tế là biến tập ẩn danh thành toàn bộ chuỗi.
Chữ ký vòng có bị loại bỏ với FCMP++ không?
Có, cuối cùng thì có. FCMP++ là người kế nhiệm dự kiến của CLSAG cho quyền riêng tư phía người gửi và đang được phát triển tích cực tính đến năm 2026. Nó sẽ dùng một cấu trúc mật mã khác — Curve Trees cộng với chứng minh SAL — để chứng minh thành viên đầu vào trong toàn bộ tập UTXO thay vì trong một vòng 16 thành viên. Stealth address không bị ảnh hưởng và sẽ tiếp tục được dùng. Hai lớp luôn độc lập, đó chính là lý do một lớp có thể được nâng cấp mà không cần đụng đến lớp kia.
Cái nào quan trọng hơn cho quyền riêng tư hằng ngày?
Để nhận thanh toán, stealth address làm gần như toàn bộ công việc — không có nó, mọi địa chỉ chia sẻ công khai sẽ phơi bày mọi khoản thanh toán từng nhận được. Để chi tiêu, chữ ký vòng là thứ ngăn đồ thị giao dịch của ví bạn trở thành một bản ghi công khai. Cả hai đều quan trọng, nhưng quan trọng trong những kịch bản khác nhau. Một người bán hàng ở Sài Gòn chấp nhận Monero phụ thuộc nhiều hơn vào stealth address. Một người gửi tiền có ý thức về quyền riêng tư phụ thuộc nhiều hơn vào chữ ký vòng.
Dịch vụ hoán đổi như MoneroSwapper có cần khóa nào từ tôi không?
Không. Người dùng chỉ cung cấp địa chỉ Monero đích (hoặc địa chỉ phụ). Bộ máy hoán đổi rút ra đầu ra stealth theo đúng cách mà bất kỳ người gửi nào cũng làm, không có quyền truy cập vào khóa chi tiêu hay khóa giám sát của người dùng. Đây là lý do cấu trúc khiến các giao dịch hoán đổi Monero không cần KYC trở nên khả thi: không có gì trong mật mã đòi hỏi dịch vụ phải nhận dạng người dùng, và không có gì trong quyền riêng tư của người dùng phụ thuộc vào việc tin tưởng dịch vụ giữ bí mật.
Kết luận
Stealth address và chữ ký vòng không phải là hai cái tên cho cùng một thứ. Chúng giải quyết hai nửa đối lập của bài toán quyền riêng tư — một che giấu nơi tiền đi đến, cái còn lại che giấu nơi tiền đến từ — và chúng thất bại dưới những mô hình mối đe dọa khác nhau. Hiểu sự phân chia này là khác biệt giữa coi Monero như một hộp đen kỳ diệu và thực sự có khả năng suy luận về tư thế quyền riêng tư của chính bạn. Nếu bạn muốn đưa cả hai lớp vào hoạt động mà không cần suy nghĩ về chi tiết triển khai, đó chính là điều MoneroSwapper được xây dựng để làm: hoán đổi ẩn danh, không KYC, trao cho bạn một đầu ra stealth mới được bảo vệ bởi một vòng 16 thành viên, mọi lần đều như vậy.