hi all!
Qua vài ngày trên google thì cũng thu được 1 ít kết quả, mình tổng hợp lại để chia sẻ cùng anh em hiểu chi tiết hơn về
Private key, Public key, Address trong Bitcoin. Cảm ơn các anh em
@dalat @duongchuot @taongam đã cùng thảo luận về vấn đề này
* Trước tiên trong Bitcoin tạo
Private key, Public key, Address là không có giới hạn nên anh em không phải lo btc hết địa chỉ để dùng
* Trên
Private/Public key còn có cấp cao hơn là
Exended private/public key .... vân vân và mây mây cho đến cấp cao nhất là
Master private/public key (nguyên tắc là cứ cấp cao hơn thì tạo được nhiều cấp dưới, nghĩa là 1
extend private key ----> nhiều
private key
* Hình ảnh về mối quan hệ giữa 3 thành phần này:
* Các địa chỉ bitcoin được sinh ra như thế nào: hiện tại có rất nhiều cách để tạo ra 1 địa chỉ bitcoin, nhưng về cơ bản nó được tổng hợp ở 1 trong 2 định dạng như sau:
- New
Address được tạo từ
Bitcoin core (muốn dùng anh em phải tài về và cài đặt đợi nó sync data tầm vài trăm GB gì đó, giờ chắc cũng tầm và tháng mới xong, khi đó mới dùng đc). Một address trên đó sẽ có
private key/public key muốn view thì dùng lệnh trong console.
Master private key ở đây là
password + file wallet.dat nằm trong thư mục bitcoin) không tìm được chuỗi
Master private/public key trong trường hợp này nên lúc nào cũng phải nhớ pass + file .dat đó, mất 1 trong 2 thì coi như xong. Đọc trên mạng thì có vài vụ mất bitcoin vì quá chủ quan: lưu trên ổ cứng nhưng khi đổi ổ cứng thì vứt luôn ổ cũ vào thùng rác mà quên copy file .dat, quên mật khẩu mở file thấy bảo đang đầu tư máy khủng để giải mã tầm 10 năm sẽ tìm được pass để vào
- New
HD Address được tạo từ
Seed (hạt giống) là một chuỗi gồm 3 đến 24 từ bằng tiếng anh, phổ biến là seed trên 12 từ cho nó an toàn, khi tạo ví ở định dạng này bạn sẽ nhận được một chuỗi là
private/public key. Cái quan trọng nhất bạn cần phải nhớ là 24 từ đã dùng để tạo
seed, vì nó là Master private key. không thể biết chuỗi
Master private key này chỉ biết là nó được tạo ra từ 24 từ kia
Trong quá trình đi tìm hiểu, mình đã tự trả lời được các câu hỏi sau:
- Public key dùng để làm gì, tra cứu nó như thế nào?
tl: Public key là địa chỉ để nhận coin, khi có public key sẽ tìm ra được Address tại link này
http://gobittest.appspot.com/Address
- Có Address liệu có tìm được Public key không?
tl:
Không, vì nếu tìm được thì từ Public key người ra cũng đã tìm ra Private key (ở trên đã nói ngay là nó không có cơ chế đảo ngược)
- Từ Address bạn tìm kiếm được thông tin gì?
tl: từ Address bạn sẽ tìm được mã Hash160, từ mã này tìm ra được một Address khác ----> 1 private key có 2 Address (Address and Compressed Address)
- Add ví ở chế độ Watch only nếu có Address or Public key như thế nào?
tl: nếu có Public dùng tool ở trên tìm ra Address rồi add vào blockchain.info hoặc dùng electrum
* nếu sử dụng bitcoin core thì có thể add ngay được bằng Public key, nhưng mình khuyên các bạn ko nên sử dụng vì khi add vào nhưng không có cách gỡ ra được ----> có thể nhầm mà gửi btc tới ví này thì mất luôn
- Từ Address không tìm ra được Public key, vậy muốn tìm Public key bạn cần phải có thông tin gì?
tl: Cần phải có private key hoặc tối thiểu bạn phải có Extended public key là chuỗi có ký tự có mã xPub ở đầu, vì vậy khi xuất xPub thường sẽ có cảnh báo như ảnh
- Vậy hiện tại ví cứng dùng cách nào để tạo Addresss, sử dụng có an toàn?
tl: ví cứng dùng HD Address để tạo địa chỉ vì vậy nó có xPrv/xPub key, sử dụng an toàn vì nó thêm một bước phải xác nhận giao dịch, cũng không thể mất xPrv hay Prv vì nó ko có tính năng show cái này
Câu hỏi cuối cùng: Nếu bạn mất 24 từ tạo Seed hoặc mất ví cứng kèm mã PIN thì bạn có mất hết coin trong đó không?
tl:
KHÔNG, còn vì sao không thì mình không biết (có thể trong ví không có gì để mất)
Chúc cả nhà một buổi tối vui vẻ!