Private Key và Public Key trong Bitcoin là gì?

Private Key và Public Key trong Bitcoin là gì?

Trong bài viết này, xin giới thiệu cho các bạn 2 khái niệm Private Key và Public Key của Bitcoin là gì và so sánh giữa Private Key và Public Key.

Bitcoin là gì?

Bitcoin là đồng tiền kỹ thuật số đầu tiên trên thế giới, thành công nhờ công nghệ Blockchain đằng sau nó cho phép xác thực được giao dịch bỏ qua được chi phí trung gian. Hiện nay Bitcoin đã trở nên rất phổ biến và có lẽ không xa lạ với mọi người nữa.

Làm thế nào để có được Bitcoin

  • Giao dịch với người khác bằng tiền mặt hoặc vật phẩm để đổi lấy BTC của họ
  • Đào Bitcoin (mining): Bạn có thể nhận được Bitcoin từ phần thưởng khi đào được 1 block hoặc là phí khi xác thực giao dịch của người khác (transaction fee).

Ví tiền điện tử là gì?

Ví tiền điện tử là phần mềm cho phép bạn lưu trữ và nhận các loại tiền mã hóa như Bitcoin, Ethereum… Ví có thể lưu trữ nhiều đồng coin và token cùng một lúc nhưng hầu hết các ví sẽ chỉ hỗ trợ một số loại tiền mã hóa nhất định.

Các ví tiền điện tử này sẽ được bảo vệ bởi khóa cá nhân hay còn gọi là Private Key. Đây là một mã thập lục phân dài liên kết từ thiết bị đến ví tiền điện tử của bạn và để có thể sử dụng được số tiền trong ví thì mã này phải khớp với khóa công khai hay Public Key.

Tương tự như các ứng dụng ngân hàng truyền thống, bạn có thể truy cập để biết được số dư của mình trên nhiều thiết bị khác nhau và rủi ro chỉ xảy ra khi bạn quên mật khẩu hoặc làm mất điện thoại.

Nếu bỏ qua những xử lý bên trong của các phần mềm ví (wallet) và hỏi rằng điều gì không thể thiếu và làm nên 1 wallet thì đó là cặp Private Key và Public Key, chúng xác định nên tính độc nhất của 1 wallet.

Sau đây chúng ta sẽ đi tìm hiểu lần lượt các khái niệm Private Key là gì, Public Key là gì và so sánh sự khác biệt giữa Private Key và Public Key.

Private Key là gì?

Private Key hay còn gọi là Khóa riêng tư, là một hình thức mã hóa tinh vi cho phép người dùng truy cập vào tiền điện tử của mình. Khóa riêng là một khía cạnh không thể thiếu của bitcoin và altcoin, và bảo mật của nó giúp bảo vệ người dùng khỏi bị đánh cắp và truy cập trái phép vào tiền.

Một Private Key luôn bắt đầu bằng con số 5 và nó là một dãy số có dạng như thế này: 5Kb8kLf9zgWQnogidDA76MzPL6TsZZY36hWXMssSzNydYXYB9KF.

3 đặc điểm chính của Private Key:

  • Thứ nhất: Private Key là 1 số biểu diễn bởi 256 Bit: Về lý thuyết thì ta sẽ có 2256 (~1077) Private Key, nhưng thực tế thì Bitcoin sử dụng 1 chuẩn gọi là secp256k1 ECDSA và làm cho dãy số nhỏ hơn 1 chút nhưng không đáng kể, nó vẫn là 1 con số lớn nằm trong khoảng đó và làm cho việc đoán nó trở nên bất khả thi.
  • Thứ hai: Mất Private Key, tài khoản của bạn sẽ bị thất lạc vĩnh viễn: Từ Private Key bạn có thể sinh ra được Public Key, và từ Public Key bạn sinh ra được address (địa chỉ Bitcoin). Tuy nhiên quá trình ngược lại là điều không thể.
  • Thứ ba: Sinh Private Key như thế nào?: Để 1 Private Key hợp lệ thì nó cần là 1 số biểu diễn dưới dạng 256 bit và thỏa mãn chuẩn secp256k1. Kết hợp 2 yếu tố đó, ta có thể viết 1 script sinh ngẫu nhiên 1 số 256 bit trong khoảng từ 0x1 đến 0x1 to 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140.

Đến đây ta có thể hiểu được độ bảo mật của Bitcoin liên quan đến dãy số của Private Key như thế nào rồi chứ. Private cực kỳ quan trọng và cần phải giữ bí mật.

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

Khi giao dịch với tiền điện tử, người dùng thường được cung cấp địa chỉ công khai và khóa riêng để gửi và nhận tiền xu hoặc mã thông báo. Địa chỉ công cộng là nơi tiền được gửi và nhận. Nhưng ngay cả khi một người dùng có mã thông báo gửi vào địa chỉ của anh ta, anh ta có thể rút chúng mà không cần khóa riêng. Khóa công khai được tạo từ khóa riêng thông qua thuật toán toán học phức tạp. Tuy nhiên, gần như không thể đảo ngược quá trình bằng cách tạo khóa riêng từ khóa chung.

Khóa riêng có thể có một vài dạng khác nhau, thường được mô tả dưới dạng một loạt các ký tự chữ và số, khiến cho hacker khó có thể bẻ khóa. Hầu hết người dùng đại diện cho khóa ví của họ ở định dạng nhập ví, có 51 ký tự. Hãy nghĩ về một địa chỉ công cộng như một hộp thư và khóa riêng là chìa khóa của hộp. Người đưa thư, và bất kỳ ai thực sự, có thể chèn các chữ cái và gói nhỏ thông qua việc mở trong hộp thư. Tuy nhiên, người duy nhất có thể truy xuất nội dung của hộp thư là người có khóa duy nhất. Do đó, điều quan trọng là phải giữ chìa khóa an toàn vì nếu nó bị đánh cắp hoặc nhận được mà không được phép, hộp thư có thể bị xâm phạm.

Một ví kỹ thuật số lưu trữ khóa riêng của người dùng. Khi giao dịch được bắt đầu, phần mềm ví sẽ tạo chữ ký số bằng cách xử lý giao dịch bằng khóa riêng. Điều này duy trì một hệ thống an toàn vì cách duy nhất để tạo chữ ký hợp lệ cho bất kỳ giao dịch cụ thể nào là sử dụng khóa riêng. Chữ ký được sử dụng để xác nhận rằng một giao dịch đã đến từ một người dùng cụ thể và đảm bảo rằng giao dịch không thể thay đổi một khi được phát sóng. Nếu giao dịch bị thay đổi, thậm chí một chút, chữ ký cũng sẽ thay đổi.

Nếu người dùng mất khóa riêng của họ, họ không thể truy cập vào ví để chi tiêu, rút ​​tiền hoặc chuyển tiền. Do đó, bắt buộc phải lưu khóa riêng ở một vị trí an toàn. Có một số cách mà ví kỹ thuật số có chứa khóa riêng có thể được lưu trữ. Khóa riêng có thể được lưu trữ trên ví giấy là tài liệu đã được in bằng khóa riêng và mã QR trên đó để có thể dễ dàng quét khi cần giao dịch.

Khóa riêng cũng có thể được lưu trữ bằng ví phần cứng sử dụng thẻ thông minh hoặc thiết bị USB để tạo và bảo mật khóa riêng ngoại tuyến. Một ví phần mềm ngoại tuyến cũng có thể được sử dụng để lưu trữ khóa riêng. Ví này có một phân vùng ngoại tuyến cho các khóa riêng và một bộ phận trực tuyến có các khóa công khai được lưu trữ. Với ví phần mềm ngoại tuyến, một giao dịch mới được chuyển ngoại tuyến để được ký điện tử và sau đó được chuyển trở lại trực tuyến để được phát lên mạng tiền điện tử.

Public Key là gì?

Public Key hay còn gọi là khóa công khai là một mã mật mã cho phép người dùng nhận tiền điện tử vào tài khoản của mình. Khóa công khai cùng với khóa riêng là những công cụ quan trọng cần có để đảm bảo an ninh cho nền kinh tế tiền điện tử.

Công thức tính Public Key đơn giản hóa như sau: Public_key = Private_key * G. Public_key chính là số lần nhân G với Private_key lần về mặt hình học.

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

Khi người dùng bắt đầu giao dịch đầu tiên của mình bằng bitcoin hoặc altcoin, một cặp khóa công khai và khóa riêng được tạo. Mỗi phím là một chuỗi dài các ký tự chữ và số giúp giữ an toàn cho người dùng nắm giữ trong hệ sinh thái kỹ thuật số. Khóa riêng được người dùng biết đến một mình và đóng vai trò là ID kỹ thuật số của người dùng. Khóa riêng cho phép người dùng chi tiêu, rút ​​tiền, chuyển nhượng hoặc thực hiện bất kỳ giao dịch nào khác từ tài khoản của mình. Một thuật toán tinh vi được áp dụng cho khóa riêng để tạo khóa chung và cả hai khóa được lưu trữ trong ví kỹ thuật số.

Khi một giao dịch được bắt đầu bởi người dùng để gửi, ví dụ như bitcoin, cho người khác, giao dịch phải được phát đến mạng nơi các nút phân tán (tức là những người đứng sau máy tính) xác nhận tính hợp lệ của giao dịch trước khi hoàn tất và ghi lại vào blockchain. Trước khi giao dịch được phát sóng, nó được ký điện tử bằng khóa riêng. Chữ ký chứng minh quyền sở hữu của khóa riêng, mặc dù nó không tiết lộ chi tiết của khóa riêng cho bất kỳ ai. Vì khóa công khai được tạo kiểu từ khóa riêng, khóa công khai của người dùng được sử dụng để chứng minh rằng chữ ký số đến từ khóa riêng của anh ấy. Khi giao dịch đã được xác minh là hợp lệ, tiền sẽ được gửi đến địa chỉ công khai của người nhận.

Địa chỉ công khai là phiên bản băm của khóa công khai. Bởi vì khóa công khai được tạo thành từ một chuỗi số cực dài, nó được nén và rút ngắn để tạo thành địa chỉ công cộng. Trong thực tế, khóa riêng sẽ tạo khóa chung, từ đó tạo ra địa chỉ chung. Khi hai người tham gia vào một thỏa thuận trong đó một người gửi các token hoặc tiền xu khác, họ tiết lộ địa chỉ công khai của họ cho nhau. Địa chỉ công cộng giống như số tài khoản ngân hàng. Người gửi cần số để có thể gửi tiền cho người nhận, người sau đó sẽ có thể chi tiêu hoặc rút tiền bằng khóa riêng của mình. Người nhận cũng có thể xác minh lô tiền xu của người gửi bằng cách sử dụng địa chỉ công khai của người gửi sẽ được hiển thị trên màn hình của người gửi.

Mặc dù khóa công khai và địa chỉ được xử lý từ khóa riêng, nhưng trường hợp ngược lại là gần như không thể. Mạng tiền điện tử được bảo mật bằng cách sử dụng các hàm toán học phức tạp để đảm bảo rằng khóa riêng không thể được xử lý từ khóa chung, đặc biệt là khi mọi người trên mạng nhìn thấy khóa công khai và khóa băm của nó. Vì không thể tạo lại khóa riêng từ khóa công khai hoặc địa chỉ, nếu người dùng mất khóa riêng, mọi bitcoin hoặc altcoin ở địa chỉ công khai của anh ta sẽ không thể truy cập được mãi mãi. Mặt khác, người dùng mất khóa công khai của mình có thể được tạo lại bằng khóa riêng.

Ví dụ để bạn có thể hiểu rõ hơn về Public Key/Address và Private Key

Hãy nhìn vào cách mà một giao dịch Bitcoin hoạt động.

Nếu Tom chuyển 1 lượng Bitcoin cho Jenny. Để chuyển Bitcoin, bạn cần 2 thứ: địa chỉ Bitcoin và một Private Key. Địa chỉ Bitcoin thì được tạo 1 cách ngẫu nhiên, nó đơn giản là một dãy gồm chữ và số. Private Key thì cũng là 1 chuỗi gồm chữ và số khác, nhưng không giống địa chỉ Bitcoin, nó được được giữ bí mật.

Thử hình dung ví Bitcoin của bạn là một hộp đựng tiền an toàn với một kính phía trước. Mọi người có thể biết bên trong nó chứa gì, nhưng chỉ có Private Key mới có thể mở nó ra và lấy mọi thứ đi hoặc cho mọi thứ vào.

Khi Tom muốn chuyển Bitcoin cho Jenny, anh ấy sẽ sử dụng Private Key của anh ấy để ký xác nhận một thông điệp với Nguồn Vào ( nguồn giao dịch của lượng Bitcoin ), Số tiền, Nguồn ra ( địa chỉ Bitcoin của Jenny).

Sau đó anh ấy sẽ chúng từ ví Bitcoin của mình cho mạng lưới Bitcoin rộng lớn. Từ mạng lưới này, người đào Bitcoin sẽ xác nhận giao dịch, đặt nó vào một khối giao dịch (a transaction block) và cuối cùng thì giao dịch đó được giải quyết.

Hiểu đơn giản thì:

  • Public Key tương đương với địa chỉ email của bạn.
  • Private Key tương đương với mật khẩu bạn sử dụng để đăng nhập vào tài khoản email của mình.

Bitcoin nói riêng và tiền ảo nói chung đang trở thành xu thế và lĩnh vực nóng trong thời gian gần đây, những kiến thức về chúng và Blockchain có thể mở ra rất nhiều cơ hội mới.

Hi vọng bài viết của mình có thể cung cấp cho các bạn 1 cách nhìn rõ ràng hơn trên góc độ kỹ thuật.

Telegram