Chữ ký ví crypto là bằng chứng mật mã cho thấy chủ ví đã chấp thuận một nội dung cụ thể. Tuy nhiên, nội dung đó có thể chỉ là yêu cầu đăng nhập, một thông điệp ngoài blockchain hoặc giao dịch có khả năng chuyển tài sản và cấp quyền cho hợp đồng.
Điểm quan trọng nhất: không đánh giá chữ ký dựa trên nút mà website hiển thị. Một nút có tên Đăng nhập hoặc Xác minh ví vẫn có thể mở yêu cầu ký chứa quyền khác. Hãy đọc thông tin do ứng dụng ví hiển thị và từ chối nếu không thể xác minh.
Chữ ký ví crypto là gì?
Ví crypto sử dụng khóa riêng để tạo chữ ký số cho một thông điệp hoặc giao dịch. Mạng blockchain, ứng dụng hoặc hợp đồng thông minh có thể dùng chữ ký đó để kiểm tra xem yêu cầu có thực sự được chủ ví chấp thuận hay không.
Trong điều kiện ví hoạt động đúng, việc ký không làm lộ trực tiếp khóa riêng hoặc seed phrase. Rủi ro xuất hiện khi người dùng ký nhầm nội dung có hiệu lực tài chính, chẳng hạn:
- Chuyển coin hoặc token đến địa chỉ khác.
- Cho phép hợp đồng chi tiêu token.
- Cấp quyền quản lý toàn bộ NFT trong một bộ sưu tập.
- Ký lệnh giao dịch ngoài chuỗi để bên khác thực thi sau.
- Thêm chủ sở hữu, module hoặc khóa phiên vào ví thông minh.
Với coin gốc của mạng, giá trị chuyển thường xuất hiện trong trường giá trị của giao dịch. Với token, thao tác thường được thực hiện qua lời gọi hợp đồng. Người mới có thể xem phần phân biệt coin và token để hiểu vì sao hai loại tài sản được hiển thị khác nhau trong ví.
Phân biệt ký đăng nhập, ký thông điệp và ký giao dịch

Ba loại yêu cầu có thể trông tương tự trên giao diện nhưng khác đáng kể về hậu quả.
| Loại yêu cầu | Nội dung thường thấy | Tác động thông thường | Điểm cần kiểm tra |
|---|---|---|---|
| Ký đăng nhập | Tên miền, địa chỉ ví, nonce, thời hạn, mạng | Xác minh quyền kiểm soát ví và tạo phiên đăng nhập | Tên miền, mục đích, thời hạn, nonce |
| Ký thông điệp | Văn bản hoặc dữ liệu có cấu trúc | Có thể chỉ xác nhận một tuyên bố, nhưng cũng có thể tạo lệnh hoặc giấy phép có hiệu lực tài chính | Toàn bộ nội dung, hợp đồng xác minh, tài sản, số tiền, thời hạn |
| Ký giao dịch | Mạng, địa chỉ nhận hoặc hợp đồng, giá trị, dữ liệu gọi hàm, phí | Có thể chuyển tài sản, cấp quyền hoặc thay đổi trạng thái blockchain | Địa chỉ đích, hàm gọi, số tiền, spender hoặc operator, kết quả mô phỏng |
Ký đăng nhập
Ký đăng nhập thường nhằm chứng minh người dùng kiểm soát một địa chỉ ví mà không cần gửi giao dịch lên blockchain. Một yêu cầu hợp lý nên gắn với đúng tên miền đang truy cập, có nonce để hạn chế tái sử dụng và có thời điểm hết hạn phù hợp.
Bản thân thao tác đăng nhập thông thường không chuyển tài sản và không cần phí mạng. Dù vậy, không nên mặc định mọi yêu cầu được website gọi là đăng nhập đều an toàn. Nếu ví hiển thị nội dung khác với tên miền, mục đích hoặc phiên đang sử dụng, hãy từ chối.
Ký thông điệp
Thông điệp có thể là văn bản dễ đọc hoặc dữ liệu có cấu trúc. Một số thông điệp chỉ dùng để xác thực danh tính. Số khác có thể đại diện cho:
- Lệnh mua, bán hoặc hoán đổi được thực hiện ngoài chuỗi.
- Giấy phép cho phép hợp đồng sử dụng token.
- Yêu cầu nhận thưởng, bỏ phiếu hoặc tham gia một giao thức.
- Lệnh có thể được một bên khác gửi lên blockchain trước khi hết hạn.
Vì vậy, nhận định ký thông điệp luôn miễn phí nên luôn an toàn là sai. Chữ ký có thể chưa tạo giao dịch ngay lúc ký nhưng vẫn được sử dụng để kích hoạt hành động về sau.
Ký giao dịch
Ký giao dịch là chấp thuận gửi một giao dịch cụ thể lên mạng. Tùy nội dung, giao dịch có thể:
- Chuyển coin gốc hoặc token.
- Hoán đổi tài sản.
- Tương tác với hợp đồng thông minh.
- Cấp hoặc thu hồi quyền chi tiêu.
- Đặt NFT lên sàn hoặc cấp quyền cho operator.
- Thay đổi cấu hình của ví thông minh.
Phí mạng thấp không đồng nghĩa rủi ro thấp. Một giao dịch chỉ tốn ít phí vẫn có thể cấp quyền sử dụng lượng tài sản lớn hơn nhiều so với giá trị hiển thị ở trường phí.
Blind signing là gì và vì sao nguy hiểm?
Blind signing, hay ký mù, là việc xác nhận chữ ký khi thiết bị hoặc ứng dụng ví không thể giải mã và hiển thị đầy đủ nội dung theo cách con người có thể hiểu. Người dùng có thể chỉ nhìn thấy chuỗi ký tự, mã hex, hàm không xác định hoặc một cảnh báo rằng dữ liệu không thể được xác minh.
Tình huống này có thể xảy ra khi:
- Ví chưa hỗ trợ định dạng dữ liệu của ứng dụng.
- Thiết bị phần cứng không nhận diện được lời gọi hợp đồng.
- Hợp đồng hoặc ứng dụng sử dụng cấu trúc tùy chỉnh.
- Giao diện cố tình che giấu nội dung có ý nghĩa tài chính.
Rủi ro của blind signing là người dùng không thể biết chính xác mình đang chấp thuận điều gì. Chữ ký có thể là một giao dịch bình thường, nhưng cũng có thể cấp quyền chi tiêu, chuyển tài sản hoặc tạo lệnh có thể được thực thi sau.
Không nên bật chế độ ký mù chỉ vì website yêu cầu. Nếu không có cách độc lập để xác minh dữ liệu, lựa chọn an toàn là dừng thao tác.
Checklist kiểm tra chữ ký ví trước khi xác nhận
1. Kiểm tra đúng bối cảnh
- Bạn có chủ động bắt đầu thao tác này không?
- Yêu cầu ký có xuất hiện ngay sau hành động hợp lý như đăng nhập, hoán đổi hoặc nhận tài sản không?
- Website có bất ngờ yêu cầu ký lại nhiều lần không?
- Nội dung ví hiển thị có khớp với việc bạn định làm không?
Một yêu cầu chữ ký xuất hiện không đúng bối cảnh là tín hiệu nên từ chối, kể cả khi giao diện trông quen thuộc.
2. Đọc chính xác tên miền
- Kiểm tra toàn bộ tên miền, không chỉ logo hoặc tên dự án.
- Chú ý ký tự gần giống, lỗi chính tả, dấu gạch nối và tên miền phụ.
- Không xem biểu tượng ổ khóa hoặc HTTPS là bằng chứng website chính chủ.
- Mở dự án từ dấu trang đã lưu hoặc kênh chính thức đã kiểm tra thay vì liên kết trong tin nhắn riêng, quảng cáo hay bình luận.
- Nếu thông điệp ký chứa trường domain hoặc URI, hãy đối chiếu với website đang mở.
Tên miền trên trình duyệt và tên miền trong nội dung chữ ký phải phù hợp. Nếu chúng khác nhau mà không có giải thích rõ ràng, không nên ký.
3. Xác minh mạng và địa chỉ hợp đồng
- Kiểm tra đang sử dụng đúng blockchain hoặc mạng dự kiến.
- Đối chiếu toàn bộ địa chỉ hợp đồng từ nguồn dự án và trình khám phá blockchain.
- Không dựa riêng vào vài ký tự đầu và cuối của địa chỉ.
- Xác định địa chỉ đích là hợp đồng, ví cá nhân, router, spender hay operator.
- Nếu hợp đồng có thể nâng cấp, lưu ý địa chỉ tương tác và phần triển khai logic có thể khác nhau.
- Nhãn tên trên trình khám phá blockchain chỉ là dữ kiện hỗ trợ, không phải bảo đảm tuyệt đối.
Đặc biệt với giao dịch cấp quyền, địa chỉ cần kiểm tra thường là spender hoặc operator, không chỉ địa chỉ token.
4. Đọc quyền đang được yêu cầu
Hãy tìm các nội dung tương đương với:
- Cho phép chi tiêu token với hạn mức cụ thể hoặc không giới hạn.
- Cấp quyền quản lý tất cả NFT trong một bộ sưu tập.
- Cho phép một hợp đồng chuyển tài sản thay mặt ví.
- Ký permit hoặc giấy phép ngoài chuỗi.
- Thêm module, chủ sở hữu hoặc khóa phiên vào ví thông minh.
Ưu tiên hạn mức vừa đủ cho thao tác hiện tại thay vì quyền không giới hạn, nếu ứng dụng hỗ trợ. Sau khi không còn sử dụng giao thức, có thể thu hồi quyền truy cập ví crypto để giảm phạm vi rủi ro. Việc ngắt kết nối website khỏi ví không đồng nghĩa quyền trên blockchain đã được thu hồi.
5. Kiểm tra tài sản, số lượng và địa chỉ nhận
- Đúng loại coin, token hoặc NFT cần thao tác.
- Đúng số lượng và đơn vị thập phân.
- Đúng địa chỉ nhận cuối cùng.
- Không có tài sản phụ bị đưa vào giao dịch mà bạn không dự kiến.
- Giá trị chuyển phải được tách biệt với phí mạng.
Nếu ví hiển thị thay đổi số dư dự kiến hoặc mô phỏng giao dịch, hãy dùng thông tin đó như một lớp kiểm tra bổ sung. Mô phỏng có thể hữu ích nhưng không phải bảo đảm tuyệt đối, đặc biệt khi trạng thái blockchain thay đổi hoặc hợp đồng có hành vi phức tạp.
6. Đọc nội dung của thông điệp
Với chữ ký đăng nhập hoặc dữ liệu có cấu trúc, cần kiểm tra:
- Tên miền và URI.
- Địa chỉ ví được yêu cầu ký.
- Mạng hoặc chain ID.
- Mục đích của chữ ký.
- Nonce.
- Thời điểm phát hành và hết hạn.
- Địa chỉ hợp đồng xác minh, nếu có.
- Tài sản, số lượng hoặc quyền liên quan.
Nếu nội dung chỉ là mã hex hoặc chuỗi không thể hiểu, hãy coi đây là blind signing cho đến khi có thể giải mã bằng một nguồn đáng tin cậy.
7. Đối chiếu trên thiết bị ký
Khi dùng ví phần cứng, màn hình của thiết bị là nơi cần kiểm tra trước khi xác nhận. Không chỉ tin vào dữ liệu trên máy tính hoặc điện thoại, vì giao diện bên ngoài có thể bị thay đổi bởi website giả mạo hoặc phần mềm độc hại.
Nếu thiết bị chỉ hiển thị dữ liệu không thể đọc, không nên tiếp tục chỉ vì màn hình website nói rằng giao dịch an toàn.
Những rủi ro ký giao dịch crypto thường gặp

Cấp quyền không giới hạn
Quyền không giới hạn giúp người dùng không phải phê duyệt lại nhiều lần, nhưng tạo ra phạm vi ảnh hưởng lớn nếu spender bị tấn công, hợp đồng có lỗ hổng hoặc địa chỉ được cấp quyền là giả mạo.
Ký permit hoặc lệnh ngoài chuỗi
Một số chữ ký không gửi giao dịch ngay. Kẻ tấn công có thể giữ chữ ký rồi gửi nó lên blockchain khi có điều kiện phù hợp. Vì thế, kiểm tra lịch sử giao dịch mà chưa thấy tài sản rời ví không đủ để kết luận chữ ký vô hại.
Phê duyệt toàn bộ NFT
Quyền operator có thể cho phép bên được cấp quyền quản lý nhiều NFT trong một bộ sưu tập. Phạm vi này rộng hơn thao tác bán hoặc chuyển một NFT đơn lẻ.
Nhầm mạng hoặc hợp đồng giả
Tên token, biểu tượng và giao diện có thể bị sao chép. Địa chỉ hợp đồng mới là dữ kiện quan trọng để phân biệt tài sản và ứng dụng trên từng mạng.
Giao diện bị xâm nhập
Ngay cả khi người dùng truy cập tên miền quen thuộc, giao diện vẫn có thể hiển thị yêu cầu bất thường nếu website, thư viện hoặc tài khoản quản trị bị xâm nhập. Vì vậy, cần đối chiếu nội dung trên ví thay vì chỉ dựa vào uy tín trước đó của dự án.
Ký lại yêu cầu cũ
Thông điệp không có nonce, thời hạn hoặc ràng buộc tên miền có thể có nguy cơ bị tái sử dụng tùy thiết kế của ứng dụng. Không nên ký một nội dung cũ chỉ vì trước đây đã từng ký nội dung tương tự.
Cách xử lý khi không thể xác minh nội dung chữ ký
Nếu ví không hiển thị đủ dữ liệu để kiểm tra chữ ký ví, hãy thực hiện theo thứ tự sau:
- Không ký và không thử lại liên tục. Đóng cửa sổ xác nhận trước khi tiếp tục kiểm tra.
- Xác nhận tên miền từ nguồn độc lập. Không dùng lại liên kết vừa nhận qua tin nhắn hoặc quảng cáo.
- Kiểm tra thông báo chính thức của dự án. Tìm xem dự án có đang cảnh báo sự cố giao diện, hợp đồng hoặc tên miền hay không.
- Đối chiếu địa chỉ hợp đồng. So sánh toàn bộ địa chỉ trên trình khám phá blockchain và tài liệu chính thức của dự án.
- Xem tên hàm, spender, operator và giá trị chuyển. Nếu ví không giải mã được, có thể kiểm tra dữ liệu giao dịch bằng trình khám phá hoặc công cụ mô phỏng đáng tin cậy, nhưng không nhập seed phrase vào bất kỳ công cụ nào.
- Thử ví hoặc thiết bị có khả năng hiển thị rõ hơn. Chỉ làm điều này nếu không phải nhập seed phrase vào website và bạn hiểu cách khôi phục ví an toàn.
- Hỏi qua kênh hỗ trợ công khai đã xác minh. Không làm theo người chủ động nhắn riêng và không chia sẻ seed phrase, khóa riêng hay mã khôi phục.
- Bỏ qua giao dịch nếu vẫn còn điểm không rõ. Mất một cơ hội giao dịch thường ít nghiêm trọng hơn việc cấp nhầm quyền kiểm soát tài sản.
Cần làm gì nếu đã ký yêu cầu đáng ngờ?

Cách xử lý phụ thuộc vào loại chữ ký và trạng thái giao dịch.
Nếu mới ký nhưng chưa thấy giao dịch trên blockchain
- Ngắt kết nối ví khỏi website đáng ngờ và đóng phiên trình duyệt.
- Kiểm tra xem chữ ký có phải permit, lệnh giao dịch hoặc yêu cầu có thể được gửi lên chuỗi sau hay không.
- Theo dõi địa chỉ ví và các giao dịch đang chờ.
- Tìm cơ chế hủy chữ ký hoặc tăng nonce nếu giao thức hỗ trợ. Cách vô hiệu hóa khác nhau giữa các ứng dụng nên không thể áp dụng một phương pháp chung.
- Nếu chữ ký có khả năng cho phép chuyển tài sản giá trị cao và không thể vô hiệu hóa, cân nhắc chuyển tài sản sang ví mới được tạo trên thiết bị sạch.
Nếu giao dịch vẫn đang chờ xác nhận
Một số mạng và ví cho phép gửi giao dịch thay thế hoặc hủy bằng cùng nonce với mức phí phù hợp. Biện pháp này không bảo đảm thành công vì giao dịch ban đầu có thể được xác nhận trước hoặc mạng có cơ chế xử lý khác.
Không ký một giao dịch hủy nếu bạn không hiểu nội dung của chính giao dịch đó.
Nếu giao dịch cấp quyền đã được xác nhận
- Kiểm tra spender hoặc operator đã được cấp quyền.
- Thu hồi quyền bằng công cụ phù hợp với đúng blockchain.
- Kiểm tra nhiều mạng nếu ví từng sử dụng cùng địa chỉ trên các mạng khác nhau.
- Theo dõi các giao dịch phát sinh sau thời điểm cấp quyền.
- Không cho rằng thao tác disconnect trong ví đã xóa quyền trên chuỗi.
Nếu tài sản đã bị chuyển
Giao dịch blockchain đã xác nhận thường không thể tự hoàn tác. Hãy lưu lại mã giao dịch, địa chỉ liên quan, thời gian và ảnh chụp màn hình để phục vụ việc báo cáo cho nền tảng, dự án hoặc cơ quan có thẩm quyền. Không trả phí cho người tự nhận có thể đảo ngược giao dịch hoặc khôi phục tài sản mà không đưa ra cơ chế có thể kiểm chứng.
Nếu đã nhập seed phrase hoặc khóa riêng
Đây không còn là sự cố chữ ký đơn lẻ. Hãy coi toàn bộ ví đã bị xâm phạm, tạo ví mới trên môi trường sạch và ưu tiên di chuyển tài sản còn lại. Trình tự xử lý cụ thể được trình bày trong hướng dẫn khi seed phrase bị lộ.
Nguyên tắc an toàn khi sử dụng ví crypto
- Dùng ví riêng cho hoạt động thường ngày và ví lưu trữ tài sản dài hạn.
- Chỉ giữ lượng tài sản cần thiết trong ví thường xuyên kết nối ứng dụng.
- Đọc nội dung trên ví hoặc thiết bị ký, không chỉ đọc giao diện website.
- Ưu tiên quyền có hạn mức và thời hạn phù hợp.
- Định kỳ kiểm tra approval, operator, permit và quyền của ví thông minh.
- Không nhập seed phrase để đăng nhập, xác minh, nhận airdrop, hủy giao dịch hoặc thu hồi quyền.
- Không ký khi nội dung, tên miền, địa chỉ hợp đồng hoặc quyền được yêu cầu chưa thể xác minh.
Quy tắc ngắn gọn là: ký đăng nhập chỉ nên tạo phiên đăng nhập; ký thông điệp phải được đọc như một thỏa thuận có thể có hiệu lực; ký giao dịch phải được kiểm tra như một hành động có thể thay đổi tài sản và quyền trên blockchain. Khi ví không thể giải thích rõ bạn đang ký gì, từ chối là lựa chọn an toàn hơn.
