Trình khám phá khóa & địa chỉ Bitcoin
Khám phá nền tảng mật mã của Bitcoin. Công cụ giáo dục trực quan về cách dẫn xuất khóa riêng tư, khóa công khai và địa chỉ.
Khám phá nền tảng mật mã học của Bitcoin.
Xem cách khóa riêng tư, khóa công khai và địa chỉ liên quan đến nhau — trực quan.
Công cụ giáo dục này minh họa cấu trúc và định dạng của các loại khóa và địa chỉ Bitcoin. Tạo các giá trị ví dụ ngẫu nhiên để xem cách mỗi bước trong chuỗi dẫn xuất biến đổi dữ liệu — từ entropy thô đến các địa chỉ bạn sử dụng hàng ngày.
Chỉ Dành Cho Mục Đích Giáo Dục
Không bao giờ sử dụng các khóa hiển thị trên bất kỳ trang web nào cho tiền thật. Công cụ này minh họa cấu trúc và định dạng của các khóa và địa chỉ Bitcoin, không phải dẫn xuất mật mã thực tế. Các giá trị được tạo ở đây là các ví dụ ngẫu nhiên nhằm minh họa tiền tố, độ dài và định dạng mã hóa đúng. Dẫn xuất khóa thực tế yêu cầu phần mềm ngoại tuyến an toàn.
Trình Khám Phá Khóa & Địa Chỉ
Nhấn nút bên dưới để tạo một bộ giá trị ví dụ ngẫu nhiên mới. Mỗi lần tạo sử dụng Web Crypto API để lấy các byte ngẫu nhiên, sau đó định dạng chúng để khớp với cấu trúc khóa và địa chỉ thực của Bitcoin.
Khóa Riêng Tư (Raw)
Số ngẫu nhiên 256-bit (32 byte)
--
64 ký tự hex = 256 bit entropy, được tạo qua crypto.getRandomValues()
Định Dạng Wallet Import (WIF)
Khóa riêng tư mã hóa Base58Check
--
Cấu trúc: Byte phiên bản (0x80) + byte khóa riêng tư + cờ nén (0x01) + checksum 4 byte. Checksum là 4 byte đầu tiên của SHA-256(SHA-256(payload)). Kết quả sau đó được mã hóa Base58. Khóa WIF nén bắt đầu bằng K hoặc L; không nén bắt đầu bằng 5.
Lưu ý Ví dụ trên hiển thị cấu trúc định dạng đúng. Việc chuyển đổi WIF thực tế yêu cầu mã hóa Base58Check với hàm băm kép SHA-256.
Khóa Công Khai Nén
33 byte qua phép nhân đường cong elliptic secp256k1
--
Dẫn xuất: Khóa công khai được tính là P = k * G trong đó k là khóa riêng tư và G là điểm tạo secp256k1. Định dạng nén sử dụng tiền tố 02 (y chẵn) hoặc 03 (y lẻ) theo sau là tọa độ x 32 byte. Đây là hàm một chiều — bạn không thể suy ra khóa riêng tư từ khóa công khai.
Các Định Dạng Địa Chỉ
Các cách mã hóa khác nhau của hash khóa công khai
--
Bắt đầu bằng 1 | ~25-34 ký tự | Base58Check(0x00 + RIPEMD160(SHA256(pubkey)) + checksum)
--
Bắt đầu bằng 3 | ~25-34 ký tự | Base58Check(0x05 + RIPEMD160(SHA256(script)) + checksum)
--
Bắt đầu bằng bc1q | ~42 ký tự | Bech32(hrp + witness version 0 + 20-byte keyhash)
--
Bắt đầu bằng bc1p | ~62 ký tự | Bech32m(hrp + witness version 1 + 32-byte tweaked pubkey)
Sơ Đồ Luồng Dẫn Xuất
Sơ đồ dưới đây hiển thị chuỗi hoàn chỉnh từ entropy ngẫu nhiên đến địa chỉ Bitcoin. Mỗi phép biến đổi là một thao tác mật mã một chiều — bạn luôn có thể đi tiếp nhưng không bao giờ đi ngược lại.
Số Ngẫu Nhiên 256-bit
Khóa Riêng Tư (Hex)
Định Dạng WIF
Mã hóa Base58Check
Version + Key + Flag + Checksum
Khóa Công Khai
secp256k1 (k * G)
RIPEMD160(SHA256(pubkey))
Hash 20 byte
P2PKH
1...
P2SH
3...
SegWit
bc1q...
Taproot
bc1p...
Tìm Hiểu Mật Mã Học Đường Cong Elliptic
Bitcoin sử dụng đường cong elliptic secp256k1, được định nghĩa bởi phương trình y² = x³ + 7 trên trường hữu hạn. Đường cong cụ thể này được chọn vì hiệu quả và không có backdoor đã biết — không giống một số đường cong NIST đã gây lo ngại trong cộng đồng mật mã học.
Phép Nhân Điểm
Khóa riêng tư k được nhân với điểm tạo G để tạo ra khóa công khai P = k * G. Phép toán này sử dụng phép cộng điểm lặp lại trên đường cong elliptic. Thao tác dễ thực hiện theo một chiều nhưng không khả thi để đảo ngược — đây là Bài Toán Logarit Rời Rạc Đường Cong Elliptic (ECDLP).
Kích Thước Không Gian Khóa
Đường cong secp256k1 có bậc xấp xỉ 2256 — khoảng 1,16 x 1077 khóa riêng tư có thể. Để so sánh, số nguyên tử ước tính trong vũ trụ quan sát được là khoảng 1080. Tấn công brute-force vào khóa riêng tư là không thể về mặt tính toán với công nghệ hiện tại hoặc có thể thấy trước.
Nén vs Không Nén
Một điểm đường cong elliptic có cả tọa độ x và y (64 byte không nén). Vì y có thể được suy ra từ x bằng phương trình đường cong, các khóa nén chỉ lưu x cộng một byte tiền tố cho biết tính chẵn lẻ của y — giảm kích thước từ 65 xuống 33 byte. Bitcoin hiện đại dùng khóa công khai nén độc quyền.
Chữ Ký Schnorr (Taproot)
Taproot giới thiệu chữ ký Schnorr (BIP 340), có một số ưu điểm so với ECDSA: có thể chứng minh an toàn, cho phép tổng hợp chữ ký đa chữ ký hiệu quả, và làm cho các điều kiện chi tiêu phức tạp không thể phân biệt với các điều kiện đơn giản trên chuỗi — cải thiện đáng kể quyền riêng tư và giảm phí.
Giải Thích Các Định Dạng Khóa Riêng Tư
Khóa riêng tư Bitcoin về cơ bản chỉ là một số 256-bit, nhưng nó có thể được biểu diễn ở nhiều định dạng. Mỗi định dạng phục vụ một mục đích khác nhau — từ tính toán thô đến nhập/xuất dễ đọc.
| Định Dạng | Tiền Tố | Độ Dài | Mô Tả |
|---|---|---|---|
| Raw Hex | — | 64 ký tự | Thập lục phân thuần túy, 32 byte |
| WIF (Không Nén) | 5 | 51 ký tự | Base58Check, không có cờ nén |
| WIF (Nén) Khuyến Nghị | K hoặc L | 52 ký tự | Base58Check, với cờ nén 0x01 |
| Mini Private Key | S | 30 ký tự | Định dạng nhỏ gọn, dùng trong đồng xu vật lý |
Mã Hóa Địa Chỉ: Base58Check vs Bech32
Bitcoin sử dụng hai sơ đồ mã hóa về cơ bản khác nhau cho địa chỉ. Hiểu sự khác biệt giải thích tại sao các định dạng địa chỉ trông rất khác nhau và tại sao các định dạng mới hơn được coi là vượt trội hơn.
- Dùng bảng chữ Base58: 1-9, A-Z, a-z, loại trừ 0, O, I, l để tránh nhầm lẫn thị giác
- Checksum 4 byte từ hash SHA-256 kép được thêm vào payload
- Phân biệt chữ hoa/thường (hỗn hợp), làm mã QR kém hiệu quả hơn
- Byte phiên bản xác định tiền tố: 0x00 = "1...", 0x05 = "3..."
- Có thể phát hiện lỗi nhưng không thể xác định ký tự nào bị sai
- Dùng bảng chữ thường 32 ký tự: a-z trừ b, i, o + chữ số 0-9 trừ 1
- Mã sửa lỗi BCH có thể phát hiện tới 4 lỗi ký tự và xác định vị trí chúng
- Chỉ chữ thường — mã QR hiệu quả hơn (chế độ chữ-số)
- Phần dễ đọc (bc) + dấu phân cách (1) + dữ liệu + checksum 6 ký tự
- Bech32m (BIP 350) sửa lỗi biến đổi độ dài trong Bech32 gốc
Tại Sao Có Các Loại Địa Chỉ Khác Nhau?
Sự phát triển định dạng địa chỉ Bitcoin phản ánh nhiều năm cải tiến giao thức, mỗi lần giải quyết các hạn chế cụ thể trong khi vẫn duy trì khả năng tương thích ngược với toàn bộ mạng.
P2PKH — Bản Gốc
Được giới thiệu cùng với Bitcoin. Pay-to-Public-Key-Hash thêm một lớp bảo mật bằng cách băm khóa công khai trước khi sử dụng trong địa chỉ. Nếu ECDSA bị phá vỡ, tiền trong các địa chỉ P2PKH chưa tiết lộ khóa công khai vẫn được bảo vệ bởi hàm băm.
P2SH — Script Có Thể Lập Trình
BIP 16 giới thiệu Pay-to-Script-Hash, cho phép các điều kiện chi tiêu phức tạp (đa chữ ký, time-lock) trong khi giữ địa chỉ đơn giản. Người gửi không cần biết script — họ chỉ gửi đến địa chỉ "3...". Sau này trở thành wrapper cho khả năng tương thích SegWit.
Bech32 — Segregated Witness
Nâng cấp SegWit (BIP 141/173) tách dữ liệu chữ ký khỏi dữ liệu giao dịch, sửa lỗi transaction malleability và kích hoạt Lightning Network. Địa chỉ Native SegWit sử dụng mã hóa Bech32, giảm trọng số giao dịch ~30-40% và hạ phí tương ứng.
Bech32m — Taproot
Nâng cấp Taproot (BIP 340/341/342) giới thiệu chữ ký Schnorr, MAST (Merkelized Alternative Script Trees), và cải thiện quyền riêng tư. Các giao dịch đa chữ ký phức tạp trở nên không thể phân biệt với các thanh toán đơn giản trên chuỗi. Sử dụng mã hóa Bech32m (BIP 350) để sửa lỗi checksum tinh tế trong Bech32 gốc.
Câu Hỏi Thường Gặp
Mối quan hệ giữa khóa riêng tư và khóa công khai là gì?
Tại sao định dạng WIF bắt đầu bằng 5, K hoặc L?
Ai đó có thể đoán khóa riêng tư của tôi không?
Sự khác biệt giữa Bech32 và Bech32m là gì?
Tại sao Bitcoin băm khóa công khai thay vì dùng trực tiếp?
Công cụ này có an toàn không? Các giá trị được tạo có phải thật không?
Áp Dụng Kiến Thức Vào Thực Tế
Giờ khi bạn đã hiểu cách khóa và địa chỉ Bitcoin hoạt động, hãy bắt đầu đào với NoxHash. Chúng tôi xử lý mật mã học — bạn thu lợi nhuận. Quản lý khóa an toàn, rút tiền tức thì đến bất kỳ định dạng địa chỉ nào.