Amber avatar
Coin98 Insights
Nơi chia sẻ tất cả những kiến thức Crypto từ cơ bản đến nâng cao, kinh nghiệm đầu tư Bitcoin và các hình thức đầu tư tiền điện tử khác.

Public Key là gì? So sánh Public Key và Private Key

Public key là một chuỗi ký tự bao gồm chữ và số, đóng vai trò như một địa chỉ ví cho phép nhận crypto vào tài khoản của người dùng.
Amber avatar
Vy Bùi
6 min read
Published Jul 17 2023
Updated Oct 18 2023
Amber media

Khi bước chân vào thế giới crypto, thứ đầu tiên mà bất kỳ ai cũng phải có là ví tiền điện tử để lưu trữ, gửi và nhận coin/token. Và nếu là một người mới, hẳn bạn sẽ cảm thấy lạ lẫm với những thuật ngữ như public key, private key, passphrase khi tạo ví.

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về Public Key là gì, cách hoạt động như thế nào và sự khác biệt giữa Public Key vs Private Key.

Public Key là gì?

Trong mật mã học, public key là phương pháp giúp mã hoá một thông tin có thể đọc được thành một chuỗi các ký tự phức tạp bao gồm chữ và số ngẫu nhiên. Mỗi public key sẽ đi kèm với một private key để giúp giải mã chuỗi ký tự đó thành thông tin ban đầu.

Trong crypto, public key đóng vai trò như một địa chỉ ví cho phép người dùng nhận tài sản crypto về ví của mình. Không ai có quyền truy cập vào ví để sử dụng tài sản bên trong trừ khi người đó có private key. 

Khi tạo một ví mới, người dùng sẽ được cấp hai loại khóa là public key & private key. Trong đó:

Public Key có thể được chia sẻ công khai một cách thoải mái mà không làm ảnh hưởng đến tài sản bên trong ví.
Private Key là bí mật và không được chia sẻ cho bất kỳ ai.

*Private Key là mật mã để mở khóa Public Key, cung cấp cho người dùng quyền truy cập và sở hữu ví để thực hiện giao dịch gửi hoặc rút tài sản bên trong. 

Public key là gì? 

Hiểu một cách đơn giản, nếu xem ví tiền điện tử là một tài khoản ngân hàng thì:

Public key là số tài khoản, giúp xác định danh tính của một cá nhân và có thể được chia sẻ thoải mái để nhận tiền.
Private key là mật khẩu để đăng nhập vào tài khoản, cung cấp quyền sử dụng và thực hiện giao dịch đối với tài sản bên trong.

Tuy nhiên, một public key thông thường sẽ rất dài và phức tạp, gây ra sự bất tiện cho người dùng, vì vậy khi ứng dụng vào crypto, chúng đã được rút gọn lại thành một phiên bản ngắn hơn gọi là địa chỉ ví.

Ví dụ:

Một public key có định dạng: 0x04345f1a86ebf24a6dbeff80f6a2a574d46efaa3ad3988de94aa68b695f09db9ddca37439f99548da0a1fe4acf4721a945a599a5d789c18a06b20349e803fdbbe3

advertising

Nó sẽ được rút gọn thành một địa chỉ ví có dạng: 0xd5e099c71b797516c10ed0f0d895f429c2781142

Public Key hoạt động như thế nào?

Trong mật mã học

Trước tiên, cùng tìm hiểu về cách hoạt động cơ bản của public key trong lĩnh vực mật mã học. 

Public key hoạt động dựa trên công nghệ mật mã hóa khóa công khai (public key cryptography, hay PKC). PKC là hệ thống mật mã giúp xác minh tính xác thực và đảm bảo tính toàn vẹn của dữ liệu bằng phương pháp mã hóa bất đối xứng (asymmetric cryptography). PKC lần đầu tiên được sử dụng chủ yếu để mã hóa và giải mã tin nhắn trong máy tính truyền thống. 

Công nghệ PKC cung cấp một cặp khóa: public key và private key, trong đó:

Public key giúp mã hóa tin nhắn hoặc văn bản có thể đọc được thành một mật mã dưới dạng các ký tự chữ & số, phức tạp và khó hiểu.
Private key giúp giải mã & sắp xếp lại mật mã thành tin nhắn, văn bản ban đầu. 
Công nghệ Public Key Cryptography

Với công nghệ PKC, chỉ có chủ sở hữu private key mới có thể đọc tin nhắn đã được mã hóa (gọi là mật mã) bằng public key. Đồng thời, để gửi tin nhắn cho ai đó, bạn phải mã hóa tin nhắn bằng public key của người đó và người nhận tin nhắn sẽ giải mã nó bằng private key tương ứng của họ.

Tuy nhiên, cần lưu ý rằng private key có thể giúp giải mã và mở khóa public key, nhưng sẽ không có trường hợp ngược lại. Nói cách khác:

Trong trường hợp mất public key, bạn có thể khôi phục public key bằng private key.
Trong trường hợp mất private key, bạn không thể khôi phục private key bằng public key.

Trong blockchain

Công nghệ PKC được áp dụng và đóng vai trò trung tâm trong cơ chế bảo mật của ví tiền điện tử, nhằm đảm bảo tính an toàn cho cả người dùng và mạng lưới blockchain

Một cặp khóa public key và private key sẽ được tạo ra khi người dùng tạo ví mới. Theo đó, người dùng có thể tự do chia sẻ public key, nhưng phải giữ bí mật và tránh tiết lộ thông tin về private key.

Ví dụ dưới đây sẽ cho thấy cách hoạt động của public key & private key trong một giao dịch trên blockchain. Khi Trang muốn gửi cho Vy 1 BTC:

Bước 1: Vy gửi địa chỉ ví (phiên bản rút gọn của public key) của mình cho Trang. Giao dịch gửi 1 BTC sẽ được mã hóa bằng public key của Vy và chỉ có Vy mới có thể giải mã nó bằng private key đi kèm.

Bước 2: Trang sử dụng private key để đăng nhập vào ví và bắt đầu giao dịch gửi 1 BTC. Ở bước này, Trang sẽ ký giao dịch để chứng minh quyền sở hữu 1 BTC trong ví của mình.

Bước 3: Các node sẽ tiến hành xác thực giao dịch. Ví dụ: nếu Trang không có 1 BTC để gửi, các node sẽ từ chối giao dịch. Nếu cô ấy có đủ BTC để gửi, giao dịch sẽ được chấp thuận. Khi quá trình xử lý và xác thực đã hoàn tất, giao dịch sẽ ghi vào blockchain và không thể đảo ngược. Lúc này, 1 BTC sẽ được gửi đến ví của Vy.

Bước 4: Vy sử dụng private key của mình để truy cập vào ví và sử dụng 1 BTC mà Trang đã gửi. Đồng nghĩa với việc Vy dùng private key để giải mã giao dịch đã được mã hóa phía trên.

Cách hoạt động Public Key & Private Key

Ưu nhược điểm Public Key

Ưu điểm

Công nghệ public key mang lại những ưu điểm sau đây:

Tính bảo mật: Chỉ có private key tương ứng mới có thể giải mã và truy cập được public key.
Tính xác thực: Việc ký giao dịch giúp người nhận có thể đảm bảo rằng giao dịch được thực hiện bởi một người cụ thể. 
Tính thuận tiện: Công nghệ mật mã hóa cho phép người dùng được tự do chia sẻ public key của mình nhưng vẫn đảm bảo an toàn cho tài sản bên trong, miễn là private key không bị lộ.

Nhược điểm

Việc quản lý public key và private key yêu cầu sự cẩn thận và bảo mật cao đến từ người dùng. Bởi public key là công khai, do đó các tài sản và dữ liệu bên trong có thể dễ dàng theo dõi on-chain. 

Trong trường hợp bạn không bảo mật tốt và để lộ private key, người khác có thể giải mã được public key của bạn và chuyển hết tài sản sang một public key khác.

Khác biệt giữa Public Key và Private Key

Bảng dưới đây thể hiện rõ sự khác biệt giữa public key và private key:

So sánh public key và private key