Public Key và Private Key là 2 thành phần quan trọng của hệ thống mã hóa bất đối xứng. Private Key (khóa bí mật) là chuỗi ký tự ngẫu nhiên được tạo ra bởi thuật toán mã hóa bất đối xứng. Public Key (khóa công khai) là chuỗi ký tự được tạo ra từ Private Key bằng thuật toán mật mã có thể chia sẻ công khai, dùng để mã hóa dữ liệu hoặc xác minh chữ ký số. Hãy cùng Block24 tìm hiểu chi tiết hơn qua bài viết sau.
Public Key & Private Key là gì?
Private Key là một chuỗi ký tự ngẫu nhiên (thường ở dạng hex hoặc base64), được tạo ra bởi thuật toán mã hóa bất đối xứng. Bất kỳ ai có Private Key đều có toàn quyền kiểm soát tài sản, nó đóng vai trò tương tự như mật khẩu tài khoản ngân hàng của bạn.
Public Key là một chuỗi ký tự được tạo ra từ Private Key bằng thuật toán mật mã (ECDSA hoặc EdDSA). Nó được dùng công khai, cho phép người khác gửi dữ liệu/tài sản cho bạn hoặc xác minh chữ ký số của bạn mà không cần biết Private Key. Public Key đóng vai trò tương tự như số tài khoản ngân hàng của bạn.

Cách hoạt động của Public Key và Private Key
Public Key và Private Key hoạt động dựa trên cơ chế mã hóa bất đối xứng, một nguyên lý bảo mật cho phép hai bên trao đổi dữ liệu an toàn mà không cần chia sẻ mã khóa bí mật. Trong cặp khóa này, dữ liệu được mã hóa bằng Public Key thì chỉ có thể được giải mã bằng Private Key, và ngược lại, dữ liệu được ký bằng Private Key chỉ có thể xác minh bằng Public Key. Mỗi người dùng sẽ sở hữu một cặp khóa duy nhất để đảm bảo quyền kiểm soát tài sản và danh tính số.

Trong blockchain, ứng dụng quan trọng nhất của cặp khóa này là tạo và xác minh chữ ký số với cơ chế sau:
- Khi người dùng muốn thực hiện một giao dịch, ví (hoặc phần mềm) sẽ dùng Private Key để ký lên nội dung giao dịch, chữ ký này là duy nhất và không thể làm giả.
- Giao dịch sau đó được gửi lên mạng lưới blockchain, nơi các node sử dụng Public Key tương ứng để xác minh chữ ký.
- Nếu chữ ký hợp lệ, tức là đúng với Private Key mà Public Key đó đại diện, thì giao dịch được chấp nhận và ghi vào blockchain.
Với cơ chế này, mạng lưới có thể xác minh danh tính người gửi mà không cần lộ bất kỳ thông tin nhạy cảm nào.
Ví dụ:
Bạn dùng ví MetaMask để gửi 1 ETH sang một địa chỉ khác, khi thực hiện lệnh chuyển tiền, ví sẽ yêu cầu bạn ký giao dịch. Nếu thực hiện yêu cầu này thì có nghĩa là bạn đồng ý sử dụng Private Key để tạo ra chữ ký số cho nội dung giao dịch: “Gửi 1 ETH đến địa chỉ XYZ”.

Chữ ký số này là duy nhất cho giao dịch đó, và chỉ bạn (người giữ Private Key) mới có thể tạo ra một cách hợp lệ. Sau khi ký xong, giao dịch kèm chữ ký số được gửi lên blockchain.
Lúc này, các node trên blockchain không biết bạn là ai, cũng không cần xác minh danh tính (bằng tên, CCCD hay mật khẩu), mà họ dùng Public Key (chính là địa chỉ ví) của bạn để xác minh chữ ký số. Nếu chữ ký khớp với nội dung giao dịch và đúng với Public Key, mạng sẽ xác định rằng “người gửi thực sự là chủ sở hữu ví” và tiến hành xử lý giao dịch.
Ngược lại, nếu ai đó cố tình gửi giao dịch bằng địa chỉ ví của bạn nhưng không có chữ ký đúng (vì họ không có Private Key), mạng sẽ tự động từ chối vì không hợp lệ.
Phân biệt giữa Public key và Private key
Dưới đây là bảng so sánh những điểm khác biệt giữa Public key và Private key:
Public Key | Private Key | |
Khái niệm | Khóa được sinh ra từ Private Key, có thể chia sẻ công khai | Khóa bí mật, dùng để kiểm soát và ký các hành động trên blockchain |
Tính bảo mật | Không cần giữ bí mật, có thể chia sẻ thoải mái | Phải giữ bí mật tuyệt đối, nếu bị lộ sẽ mất toàn bộ quyền kiểm soát |
Chức năng chính | Xác minh chữ ký số và nhận tài sản | Ký giao dịch và quản lý quyền truy cập tài sản |
Sinh ra từ | Được tạo ra từ Private Key thông qua thuật toán mật mã học | Được tạo ngẫu nhiên bởi hệ thống ví hoặc phần mềm tạo khóa |
Ai có thể sử dụng | Bất kỳ ai, thường là người gửi tiền, node mạng lưới, ứng dụng bên ngoài | Chỉ chủ sở hữu ví, không được chia sẻ với bất kỳ ai |
Rủi ro nếu bị lộ | Không ảnh hưởng đến ví | Mất toàn bộ quyền kiểm soát ví và tài sản |
Ứng dụng thực tế trong Web3 & Crypto
Trong hệ sinh thái Web3 và Crypto, Public Key và Private Key đóng vai trò nền tảng cho mọi hoạt động liên quan đến quyền sở hữu, bảo mật và xác thực. Cặp khóa này giúp thế giới blockchain vận hành theo cách phi tập trung, không cần bên trung gian. Một số ứng dụng tiêu biểu:
- Quản lý tài sản: Mỗi ví crypto (như MetaMask, Trust Wallet,...) hoạt động dựa trên một cặp khóa. Private Key dùng để ký giao dịch và toàn quyền kiểm soát tài sản trong ví. Public Key tạo ra địa chỉ ví, bạn có thể chia sẻ công khai để người khác gửi tài sản đến.
- Xác thực danh tính và quyền sở hữu: Trong Web3, người dùng không cần đăng nhập bằng email/mật khẩu hay xác minh danh tính. Thay vào đó, chỉ cần ký xác thực bằng Private Key để chứng minh quyền sở hữu ví.
- Ký và gửi giao dịch trên blockchain: Khi chuyển tài sản, tương tác với smart contract, hoặc thực hiện bất kỳ giao dịch nào trên blockchain, người dùng phải ký bằng Private Key để chứng minh rằng hành động đó là do chính chủ thực hiện. Blockchain sử dụng Public Key để xác minh chữ ký, đảm bảo rằng giao dịch hợp lệ, không phải là giả mạo.

- Tạo ví HD (Hierarchical Deterministic Wallet): Các tiêu chuẩn như BIP32 và BIP44 sử dụng Private Key để sinh ra hàng nghìn Public Key con theo cấu trúc phân cấp. Nhờ đó, người dùng có thể sử dụng nhiều địa chỉ ví khác nhau mà chỉ cần quản lý một seed phrase duy nhất. Đây là cách mà các ví hiện đại như Ledger, Trezor, MetaMask,... cho phép quản lý đa tài sản, đa chain với một bộ khóa duy nhất.
- Giao tiếp bảo mật: Cặp khóa Public & Private Key còn có thể được dùng để mã hóa thông tin. Trong một số giao thức Web3 bảo mật cao hoặc liên quan đến danh tính phi tập trung (DID - Decentralized Identity), Public Key được dùng để mã hóa dữ liệu, còn người nhận dùng Private Key để giải mã. Đây là nền tảng cho các hệ thống nhắn tin phi tập trung như XMTP, DIDComm hay Lit Protocol.
Cách bảo mật Private Key an toàn
Việc bảo mật Private Key là rất quan trọng để giữ an toàn cho tài sản ví crypto. Một số biện pháp tham khảo:
- Không chia sẻ Private Key với bất kỳ ai: Tuyệt đối không để lộ Private Key với người khác, nếu không thì rủi ro mất tài sản là rất cao.
- Không lưu Private Key trên môi trường nhạy cảm: Tránh lưu Private Key online, những nơi dễ bị xâm phạm như Google Drive, Email, ảnh chụp trên điện thoại, Notepad, Excel trên máy tính. Các phần mềm/thiết bị này khi kết nối mạng có thể bị hack, nhiễm mã độc.
- Nên ghi ra giấy và cất ở nơi an toàn: Cách tốt nhất là viết tay Private Key ra giấy rồi cất ở nơi kín đáo như két sắt, hộp khoá vật lý, hoặc nơi chỉ bạn và người thân tin cậy biết đến. Có thể làm 2-3 bản sao để phòng khi mất mát.
- Cẩn thận với các website/app giả mạo: Chỉ tải phần mềm ví hoặc dùng các trang web chính thức, uy tín. Không được nhập Private Key vào bất kỳ trang web lạ nào mà chưa được kiểm chứng.
- Sử dụng ví có hỗ trợ bảo mật đa lớp: Nên sử dụng các ví hỗ trợ nhiều lớp bảo mật (mật khẩu, mã PIN, 2FA,...) như MetaMask, Trust Wallet, Trezor,...
- Sử dụng ví cứng: Ví cứng như Ledger, Trezor,... là các thiết bị lưu trữ Private Key offline, cách ly hoàn toàn với Internet. Đây là phương pháp an toàn nhất để lưu trữ tài sản số.

FAQ
Có thể chia sẻ Public Key và Private Key cho người khác không?
Có thể chia sẻ công khai Public Key nhưng với Private Key thì tuyệt đối không chia sẻ với bất kỳ ai.
Làm sao để tạo Private key?
Private Key được tự động tạo ra khi bạn tạo ví crypto lần đầu qua các ứng dụng như MetaMask, Phantom, Trust Wallet,…
Nếu bị lộ Private Key thì phải làm sao?
Ngay lập tức chuyển tài sản sang ví mới, xem như bỏ hoàn toàn ví cũ vì nó đã bị mất kiểm soát.
Có thể khôi phục Private Key nếu bị mất không?
Có thể nếu bạn đã sao lưu seed phrase khi tạo ví, còn nếu không có seed phrase thì không thể khôi phục Private Key.
Bình luận
Chưa có bình luận