Làm thế nào để xuất private key từ ví mô tả Bitcoin Core?

avatar
Bitpush
07-24
Bài viết này được dịch máy
Xem bản gốc

Vào năm 2024.6.23, bài viết của giáo viên chuỗi 《Có thực sự không? Bitcoin Core không hỗ trợ nhập private key?》 đã giới thiệu phương pháp và các lệnh cụ thể để tự tạo private key BTC và nhập vào ví mô tả (descriptor wallet) mới nhất của Bitcoin Core. Một số bạn đã hỏi thêm một số câu hỏi mở rộng, do đó bài viết này được viết để bổ sung ngắn gọn.


Câu hỏi một: Ví mô tả có hỗ trợ nhập cụm từ hạt giống BIP39 không?


Trả lời: Không hỗ trợ.


Mặc dù ví mô tả hỗ trợ ví phân cấp xác định BIP32, nhưng không hỗ trợ cụm từ hạt giống BIP39.


Đây là lý do tại sao giáo viên chuỗi không khuyến nghị sử dụng cụm từ hạt giống để tạo ví lạnh BTC trong 《Khóa học siêu cơ bản của Lưu giáo viên chuỗi》, mà thay vào đó là tạo và sao chép trực tiếp private key. Thậm chí với cụm từ hạt giống, các ví phần cứng và phần mềm khác nhau cũng có thể triển khai theo các quy định khác nhau, dẫn đến việc cụm từ hạt giống được tạo trong phần mềm A không thể nhập vào phần mềm B, hoặc khi nhập vào sẽ nhận được địa chỉ hoàn toàn khác, do đó không thể tìm thấy BTC đã tích trữ.


Câu hỏi hai: Làm thế nào để tạo ví mô tả hỗ trợ private key?


Trả lời: Phiên bản mới nhất của Bitcoin Core sẽ không tự động khởi tạo ví cho bạn. Bạn cần sử dụng lệnh để tự tạo ví. Việc tạo với tùy chọn vô hiệu hóa private key sẽ tạo ra ví chỉ quan sát (watch-only wallet), không vô hiệu hóa private key sẽ tạo ví tiêu chuẩn. Lệnh cụ thể như sau:

$ bitcoin-cli -named createwallet wallet_name="testwallet" descriptors=true disable_private_keys=false


Lưu ý rằng trong lệnh trên, disable_private_keys=false được chỉ định rõ ràng để không vô hiệu hóa private key.


Để tăng tính bảo mật, tốt nhất là mã hóa ví.

$ bitcoin-cli -rpcwallet=testwallet encryptwallet "mật khẩu mã hóa cục bộ của bạn"


Câu hỏi ba: Vậy làm thế nào để xuất private key của một địa chỉ cụ thể từ ví mô tả?


Trả lời: Rất đơn giản! Chỉ cần hiển thị mô tả. Lệnh cụ thể:

$ bitcoin-cli listdescriptors true{  "wallet_name": "testwallet",  "descriptors": [    {      "desc": "pkh(5KQ2upQdz2wPfYCT2MfXdgmqZKZtFPDmzm8ubXimR76pYMANUdM)#8rrz94h2",      "timestamp": 1753270055,      "active": false    },...


Kết quả của lệnh trên là mô tả private key được giới thiệu trong bài viết của giáo viên chuỗi vào ngày 2024.6.23 《Có thực sự không? Bitcoin Core không hỗ trợ nhập private key?》. Có thể thấy, Bitcoin Core không mã hóa hoặc ẩn mô tả private key mà bạn nhập, mà hiển thị đầy đủ.


Lưu ý tham số true sau lệnh listdescriptors, nó chỉ rõ việc hiển thị mô tả private key. Nếu không có tham số này, chỉ sẽ hiển thị mô tả public key, và bạn sẽ không thấy private key.


Sau khi thấy mô tả private key, chúng ta có thể sử dụng lệnh getdescriptorinfo được giới thiệu trong bài viết của giáo viên chuỗi vào ngày 2024.6.23 để xác minh:

$ bitcoin-cli getdescriptorinfo "pkh(5KQ2upQdz2wPfYCT2MfXdgmqZKZtFPDmzm8ubXimR76pYMANUdM)"{  "descriptor": "pkh(04e510bfa12225bbc2044a1847eda44a26e8a842cbf45c11d74ade893e506fc9e209c7c0044c5321ea22edf9dc1d8e45bed3663ed7c637eb564a7dd0a23ca8e45c)#afvrzgrk",  "checksum": "8rrz94h2",  "isrange": false,  "issolvable": true,  "hasprivatekeys": true}


Kết quả không rõ ràng lắm, không thấy địa chỉ BTC tương ứng với mô tả private key. Chúng ta cần sử dụng lệnh sau để xem địa chỉ tương ứng:

$ bitcoin-cli deriveaddresses "pkh(04e510bfa12225bbc2044a1847eda44a26e8a842cbf45c11d74ade893e506fc9e209c7c0044c5321ea22edf9dc1d8e45bed3663ed7c637eb564a7dd0a23ca8e45c)#afvrzgrk"[  "13cuZK94jvtCBPDoXd86MiiFTyMnQWkCS6"]


Lưu ý rằng tham số sau lệnh deriveaddresses là mô tả public key từ kết quả của lệnh trước.


Đến đây chúng ta đã có đủ xác nhận về mô tả private key ban đầu và địa chỉ tương ứng.


Có phải rất đơn giản không? Ồ, thực ra không phải! Do đó, giáo viên chuỗi lười biếng, thực sự sử dụng electrum. Điều này đã được nói từ trước trong các bài viết về tự tạo private key.


Ngoài ra, các lệnh được trình bày ở trên thực tế là được thực hiện trên Bitcoin Knots. Knots là một phiên bản nhánh của Core, có thêm một số chức năng lọc và tinh gọn, giúp tiết kiệm tài nguyên cho việc chạy nút.


Gì cơ, bạn còn muốn hỏi về địa chỉ và private key của ví HD? Bài viết này đã quá dài rồi. Chủ đề phức tạp và khó khăn hơn này, chúng ta hãy để dành cho lần sau nhé!

Khu vực:
Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
Thêm vào Yêu thích
Bình luận