Địa chỉ Bitcoin có bốn nhóm phổ biến, nhận biết qua ký tự đầu. Địa chỉ cổ điển bắt đầu bằng số 1, địa chỉ trả cho script bắt đầu bằng số 3, địa chỉ SegWit gốc bắt đầu bằng bc1q, và địa chỉ Taproot bắt đầu bằng bc1p. Tất cả đều gửi và nhận được bitcoin trên cùng một mạng, nhưng chúng khác nhau về cấu trúc bên dưới, mức phí khi chi tiêu, khả năng phát hiện lỗi gõ và mức độ riêng tư.
Bài viết giải thích từng loại, vì sao các loại mới ra đời, chuyện tương thích giữa các dịch vụ, và những lỗi hay gặp khi gửi. Nội dung kỹ thuật, không hướng dẫn giao dịch.
Địa chỉ cổ điển bắt đầu bằng 1
Đây là loại địa chỉ có từ ngày đầu, tương ứng mẫu trả cho dấu vân tay khoá công khai, P2PKH. Địa chỉ mã hoá dấu vân tay hai mươi byte của khoá công khai bằng Base58Check.
Base58 dùng năm mươi tám ký tự, loại bỏ những ký tự dễ nhầm như số không với chữ O hoa, chữ I hoa với chữ l thường. Phần Check thêm bốn byte mã kiểm tra, giúp phát hiện phần lớn lỗi gõ.
Địa chỉ này phân biệt chữ hoa chữ thường, nên khó đọc qua điện thoại và dễ sai khi chép tay.
Khi chi tiêu từ địa chỉ cổ điển, toàn bộ chữ ký và khoá công khai nằm trong phần tính phí đầy đủ, nên phí thường cao nhất trong các loại.
Địa chỉ cổ điển vẫn hoạt động bình thường và mọi ví đều gửi được đến nó. Nhiều ví mới không còn tạo loại này mặc định.
Nếu bạn còn bitcoin ở địa chỉ cũ, nó vẫn an toàn như trước; chỉ là chi tiêu tốn phí hơn.
Địa chỉ script bắt đầu bằng 3
Loại này tương ứng mẫu trả cho dấu vân tay script, P2SH. Địa chỉ chứa dấu vân tay của một script bất kỳ, người chi tiêu phải tiết lộ script đó và thoả mãn nó.
P2SH ra đời để người gửi không phải biết điều kiện phức tạp của người nhận. Ví dụ ví đa chữ ký chỉ cần đưa một địa chỉ bắt đầu bằng 3, người gửi gửi như bình thường.
Sau SegWit, P2SH còn được dùng để bọc SegWit, gọi là SegWit lồng, giúp ví cũ chưa hỗ trợ bc1 vẫn gửi được đến địa chỉ SegWit. Phí khi chi tiêu nằm giữa địa chỉ cổ điển và SegWit gốc.
Nhìn một địa chỉ bắt đầu bằng 3, bạn không biết bên trong là đa chữ ký, SegWit lồng hay điều kiện khác, cho đến khi nó được chi tiêu.
Địa chỉ này cũng mã hoá bằng Base58Check, phân biệt chữ hoa chữ thường.
Đây từng là lựa chọn phổ biến trong giai đoạn chuyển tiếp sang SegWit.
SegWit gốc bắt đầu bằng bc1q
Địa chỉ SegWit gốc dùng mã hoá bech32. Phần đầu bc là mã mạng chính, số 1 là ký tự phân cách, chữ q biểu thị phiên bản witness không.
Bech32 chỉ dùng chữ thường và số, không phân biệt hoa thường, dễ đọc to, dễ quét mã QR hơn. Mã kiểm tra của nó được thiết kế để phát hiện lỗi tốt hơn Base58Check, và trong nhiều trường hợp còn chỉ ra vị trí lỗi.
Có hai dạng: P2WPKH cho một khoá, độ dài bốn mươi hai ký tự; P2WSH cho script, dài hơn, sáu mươi hai ký tự.
Chi tiêu từ địa chỉ SegWit gốc rẻ hơn đáng kể so với địa chỉ cổ điển, nhờ dữ liệu chữ ký nằm trong witness được tính nhẹ.
Hầu hết ví và dịch vụ hiện nay đều hỗ trợ gửi đến bc1q. Một số dịch vụ rất cũ có thể chưa hỗ trợ.
Đây là loại địa chỉ mặc định của nhiều ví hiện đại.
Taproot bắt đầu bằng bc1p
Địa chỉ Taproot dùng mã hoá bech32m, một biến thể của bech32 sửa một điểm yếu nhỏ. Chữ p biểu thị phiên bản witness một.
Địa chỉ chứa trực tiếp khoá công khai đã điều chỉnh, không qua băm. Khoá này có thể đại diện cho một khoá đơn, một khoá gộp từ nhiều bên, hoặc một cam kết kèm cây script ẩn.
Khi chi tiêu bằng đường khoá, giao dịch chỉ có một chữ ký Schnorr, gọn và rẻ. Người quan sát không phân biệt được ví một người hay ví đa chữ ký gộp khoá.
Taproot mang lại lợi ích riêng tư và mở rộng khả năng cho các ứng dụng phức tạp hơn, nhưng mức độ hỗ trợ của ví và dịch vụ tăng dần theo thời gian.
Gửi đến bc1p từ dịch vụ chưa hỗ trợ có thể bị báo lỗi địa chỉ không hợp lệ; đó là vấn đề tương thích, không phải địa chỉ sai.
Taproot là loại địa chỉ mới nhất trong số bốn loại phổ biến.
Những lỗi hay gặp khi gửi
Lỗi thứ nhất: gửi trên sai mạng. Một số dịch vụ hỗ trợ nhiều blockchain có định dạng địa chỉ trông gần giống. Chọn sai mạng có thể làm mất tài sản. Luôn kiểm tra mạng lưới được chọn là Bitcoin.
Lỗi thứ hai: nhầm địa chỉ mạng thử với mạng chính. Địa chỉ mạng thử thường bắt đầu bằng tb1, m, n hoặc số 2. Bitcoin mạng thử không có giá trị; ví mạng chính sẽ báo lỗi nếu gặp.
Lỗi thứ ba: phần mềm độc hại thay địa chỉ trong bộ nhớ tạm. Mã kiểm tra không giúp được, vì địa chỉ thay thế cũng hợp lệ. Phải so ký tự đầu, giữa và cuối.
Lỗi thứ tư: sao chép địa chỉ từ lịch sử giao dịch, rơi vào bẫy đầu độc địa chỉ.
Lỗi thứ năm: gõ tay địa chỉ dài. Mã kiểm tra bắt được phần lớn lỗi gõ, nhưng tốt nhất là quét mã QR hoặc sao chép rồi kiểm tra kỹ.
Mọi lỗi gửi nhầm đến địa chỉ hợp lệ đều không đảo ngược được.
Địa chỉ và quyền riêng tư
Mỗi loại địa chỉ để lại dấu vết khác nhau trên chuỗi. Người quan sát thấy một giao dịch dùng địa chỉ bắt đầu bằng 3 kèm script đa chữ ký sẽ biết cấu hình của ví đó. Với Taproot, khi chi tiêu bằng đường khoá, cấu hình đằng sau được giấu đi.
Việc trộn nhiều loại địa chỉ trong cùng một giao dịch cũng có thể cho người quan sát gợi ý về đầu ra nào là tiền thối, vì ví thường tạo địa chỉ thối cùng loại với đầu vào.
Một số ví cố tình chọn loại địa chỉ thối giống loại địa chỉ người nhận để giảm dấu hiệu này. Đây là những chi tiết nhỏ mà ví tốt quan tâm thay người dùng.
Những người làm phân tích chuỗi dùng loại địa chỉ như một trong nhiều tín hiệu để liên kết giao dịch. Không tín hiệu nào chắc chắn tuyệt đối, nhưng cộng lại có thể rất hiệu quả.
Cần nhắc lại rằng tăng quyền riêng tư bằng thói quen tốt là hợp pháp, còn cố tình che giấu nguồn gốc tiền bất hợp pháp là vi phạm pháp luật; trang này không hướng dẫn việc thứ hai.
So sánh bốn loại địa chỉ
Bắt đầu bằng 1 P2PKH cổ điển, Base58Check, phí chi tiêu cao nhất.
Bắt đầu bằng 3 P2SH, có thể là đa chữ ký hay SegWit lồng, Base58Check.
Bắt đầu bằng bc1q SegWit gốc, bech32, phí thấp, không phân biệt hoa thường.
Bắt đầu bằng bc1p Taproot, bech32m, gọn và riêng tư hơn.
Độ dài bc1q một khoá 42 ký tự.
Độ dài bc1q script 62 ký tự.
Mã kiểm tra Mọi loại đều có, bech32 mạnh hơn Base58Check.
Tương thích Loại cũ được hỗ trợ rộng nhất; bc1p tăng dần.
Mạng thử Địa chỉ thường bắt đầu bằng tb1, m, n hoặc 2.
Dùng lại địa chỉ Hợp lệ nhưng làm giảm quyền riêng tư.
Mã QR Bech32 chữ thường cho mã QR gọn hơn.
Không đảo ngược Gửi đến địa chỉ hợp lệ nhưng sai là mất.
Chọn loại địa chỉ nào
Với người dùng, lựa chọn thường do ví quyết định mặc định. Ví hiện đại thường dùng bc1q hoặc bc1p.
Nếu người gửi báo không gửi được đến địa chỉ của bạn, có thể dịch vụ của họ chưa hỗ trợ loại đó. Một số ví cho phép tạo địa chỉ loại khác trong cùng ví.
Phí khi nhận không khác nhau nhiều; khác biệt nằm ở phí khi bạn chi tiêu sau này.
Bài viết giải thích kỹ thuật, không phải lời khuyên nắm giữ hay giao dịch.
Câu hỏi thường gặp
Địa chỉ Bitcoin bắt đầu bằng 1, 3, bc1q, bc1p khác nhau thế nào?
Lần lượt là P2PKH cổ điển, P2SH, SegWit gốc và Taproot, khác về cấu trúc, phí chi tiêu và quyền riêng tư.
Gửi từ địa chỉ bc1q đến địa chỉ bắt đầu bằng 1 có được không?
Được. Các loại địa chỉ đều cùng mạng Bitcoin và gửi qua lại được.
Vì sao dịch vụ báo địa chỉ bc1p không hợp lệ?
Thường do dịch vụ chưa hỗ trợ Taproot, không phải địa chỉ sai.
Địa chỉ mạng thử nhận biết thế nào?
Thường bắt đầu bằng tb1, m, n hoặc 2. Bitcoin mạng thử không có giá trị.
Mã kiểm tra trong địa chỉ có chống được phần mềm thay địa chỉ không?
Không. Địa chỉ thay thế cũng hợp lệ; phải tự so ký tự đầu, giữa và cuối.