Pay-to-Pubkey Hash là gì? Tìm hiểu P2PKH là gì trong Bitcoin

loading...

Pay-to-Pubkey Hash là gì? Tìm hiểu P2PKH là gì trong Bitcoin. Bài viết này Thời Đại Blockchain giới thiệu đến các bạn về thuật ngữ trong tiền ảo Bitcoin đó là P2PKH. Nào hãy cùng chúng tôi tìm hiểu về định nghĩa này nhé.

Pay-to-Pubkey Hash là gì? Tìm hiểu P2PKH là gì trong Bitcoin
Pay-to-Pubkey Hash là gì? Tìm hiểu P2PKH là gì trong Bitcoin

Pay-to-Pubkey Hash là gì?

Pay-to-Pubkey Hash được viết tắt là P2PKH. Là hình thức cơ bản của việc thực hiện một giao dịch và là hình thức giao dịch phổ biến nhất trên mạng Bitcoin. Các giao dịch thanh toán cho một địa chỉ Bitcoin chứa các tập lệnh P2PKH được giải quyết bằng cách gửi khóa công khai và chữ ký số được tạo bởi khóa riêng tương ứng.

ScriptPubKey và ScriptSig cho một giao dịch được hiển thị dưới đây:

<ScriptPubKey = OP_DUP OP_HASH160 <Khóa công khai> OP_EQUAL OP_CHECKSIG
ScriptSig = <Chữ ký> <Khóa công khai>

Đánh giá về P2PKH

Hai loại thanh toán được gọi là P2PK (thanh toán cho khóa công khai) và P2PKH (thanh toán bằng mã khóa công khai).

Satoshi sau đó quyết định sử dụng P2PKH thay vì P2PK vì hai lý do:

  • Elliptic Curve Cryptography (mã hóa được sử dụng bởi khóa công khai và khóa riêng) dễ bị lỗi bởi thuật toán Shor đã được sửa đổi để giải bài toán Logarit trong Elliptic Curve. Trong tiếng Anh đơn giản, nó có nghĩa là tương lai một máy tính lượng tử có thể lấy được khóa riêng từ khóa công khai. Bằng cách xuất bản khóa công khai chỉ khi các đồng tiền được chi tiêu (và giả định rằng các địa chỉ không được sử dụng lại), một cuộc tấn công như vậy sẽ không có hiệu quả.
  • Với hash (băm) nhỏ hơn (20 byte), việc in và nhúng dễ dàng hơn vào các phương tiện lưu trữ nhỏ như mã QR.

Một địa chỉ Bitcoin chỉ là một hash, vì vậy người gửi không thể cung cấp một khóa công khai đầy đủ trong scriptPubKey. Khi đổi tiền ảo đã được gửi đến địa chỉ Bitcoin, người nhận cung cấp cả chữ ký và khóa công khai. Kịch bản lệnh xác minh rằng khóa công khai đã cung cấp hash cho hàm hash trong scriptPubKey, và sau đó nó cũng kiểm tra chữ ký chống lại khóa công khai.

Ví dụ về P2PKH

Các hình dưới đây giúp minh họa cách các tính năng này được sử dụng bằng cách hiển thị luồng công việc mà Alice sử dụng để gửi cho Bob một giao dịch và sau đó Bob sử dụng để chi tiêu giao dịch đó. Cả Alice và Bob sẽ sử dụng hình thức phổ biến nhất của loại giao dịch Pay-To-Public-Key-Hash (P2PKH) chuẩn. P2PKH cho phép Alice chi tiêu Satoshi vào một địa chỉ Bitcoin điển hình, và sau đó cho phép Bob tiếp tục chi tiêu những Satoshi đó bằng cách sử dụng cặp khóa mã hóa đơn giản.

Trước tiên, Bob phải tạo cặp khóa riêng / khóa công khai trước khi Alice có thể tạo giao dịch đầu tiên. Bitcoin sử dụng thuật toán chữ ký số Elliptic Curve (ECDSA) với secp256k1; Khóa riêng tư secp256k1 là 256 bit dữ liệu ngẫu nhiên. Một bản sao của dữ liệu đó được xác định biến thành khóa công khai secp256k1. Bởi vì việc chuyển đổi có thể được lặp lại đáng tin cậy sau này, khóa công khai không cần phải được lưu trữ.

Khóa công khai (pubkey) sau đó được mã hóa hash. Hàm hash pubkey này cũng có thể được lặp lại đáng tin cậy sau đó, vì vậy nó cũng không cần phải được lưu trữ. Hàm hash rút ngắn và làm xáo trộn khóa công khai, giúp việc sao chép thủ công trở nên dễ dàng hơn và cung cấp bảo mật chống lại các vấn đề không lường trước được, có thể cho phép tái tạo khóa riêng từ dữ liệu khóa công khai tại một số điểm sau này.

Bob cung cấp băm pubkey cho Alice. Pubkey hashes hầu như luôn được gửi mã hóa dưới dạng địa chỉ Bitcoin, là base58. Các chuỗi được mã hóa có chứa số phiên bản địa chỉ, hàm hash và kiểm tra phát hiện lỗi để bắt lỗi chính tả. Địa chỉ có thể được truyền qua bất kỳ phương tiện nào, bao gồm các phương tiện một chiều ngăn người tiêu dùng giao tiếp với người nhận và có thể mã hóa thêm thành định dạng khác, chẳng hạn như mã QR chứa bitcoin: URI. Khi Alice có địa chỉ và giải mã nó trở thành hash chuẩn, cô ấy có thể tạo giao dịch đầu tiên. Cô tạo ra một đầu ra giao dịch P2PKH tiêu chuẩn chứa các hướng dẫn cho phép bất cứ ai chi tiêu đầu ra đó nếu họ có thể chứng minh họ kiểm soát khóa riêng tương ứng với khóa công khai hash của Bob. Các hướng dẫn này được gọi là tập lệnh pubkey hoặc scriptPubKey.

Alice khởi tạo giao dịch và nó được thêm vào chuỗi chặn. Các mạng phân loại nó như một đầu ra giao dịch chưa được sử dụng (UTXO), và Bob ví phần mềm sẽ hiển thị nó như là một sự cân bằng spendable. Một thời gian sau, Bob quyết định chi tiêu UTXO, anh ta phải tạo một đầu vào tham chiếu đến giao dịch Alice được tạo bởi mã hash của nó, được gọi là Mã định danh giao dịch (txid) và đầu ra cụ thể mà cô đã sử dụng theo số chỉ mục của nó (chỉ mục đầu ra). Sau đó, anh ta phải tạo một tập lệnh chữ ký – một tập hợp các tham số dữ liệu đáp ứng các điều kiện Alice được đặt trong kịch bản lệnh pubkey của đầu ra trước đó. Chữ ký script cũng được gọi là scriptSigs.

XEM THÊM: P2SH LÀ GÌ?

Lời kết:

Trên là những kiến thức và thông tin về Pay-to-Pubkey Hash (P2PKH). Nếu bạn có góp ý hoặc thắc mắc thì hãy bình luận ngay bên dưới đây nhé. Thời Đại Blockchain xin chân thành cảm ơn!
Biên soạn bởi ThoiDaiBlockchain.Com
Pay-to-Pubkey Hash là gì? Tìm hiểu P2PKH là gì trong Bitcoin
4.8 (96.92%) 13 votes
loading...

BÌNH LUẬN

Vui lòng nhập bình luận của bạn!
Vui lòng nhập tên của bạn tại đây