Địa chỉ Bitcoin là một chuỗi ký tự số và chữ cái mà bạn có thể chia sẻ với bất kỳ ai muốn gửi Bitcoin cho bạn. Một địa chỉ Bitcoin được tạo từ khóa công khai (cũng là một chuỗi ký tự số và chữ cái) bắt đầu bằng số "1". Đây là một ví dụ về địa chỉ Bitcoin:
1J7mdg5rbQyUHENYdx39WVWK7fsLpEoXZy
Trong một giao dịch, địa chỉ Bitcoin thường xuất hiện dưới dạng người nhận thanh toán (payee). Nếu bạn so sánh một giao dịch Bitcoin với một tấm séc, địa chỉ Bitcoin chính là người nhận thanh toán, là thứ chúng ta sẽ điền vào trường người nhận. Người nhận thanh toán của séc có thể là tài khoản ngân hàng, công ty, tổ chức, hoặc thậm chí là séc thanh toán bằng tiền mặt. Thay vì chỉ định một tài khoản cụ thể, séc sử dụng một tên trừu tượng làm người nhận thanh toán, điều này làm cho nó trở thành một công cụ thanh toán khá linh hoạt. Tương tự, địa chỉ Bitcoin sử dụng một sự trừu tượng hóa tương tự, cũng làm cho các giao dịch Bitcoin trở nên linh hoạt. Một địa chỉ Bitcoin có thể đại diện cho chủ sở hữu của một cặp khóa công khai và khóa riêng tư, hoặc nó có thể đại diện cho một thứ gì đó khác. Bây giờ, chúng ta hãy xem một ví dụ đơn giản về việc tạo địa chỉ Bitcoin từ khóa công khai.
Địa chỉ Bitcoin có thể thu được từ khóa công khai bằng một thuật toán băm mật mã một chiều. Thuật toán băm là một hàm một chiều nhận đầu vào có độ dài tùy ý để tạo ra một dấu vân tay hoặc giá trị băm. Các hàm băm mật mã được sử dụng rộng rãi trong Bitcoin: địa chỉ Bitcoin, địa chỉ script và trong các thuật toán proof-of-work trong khai thác. Các thuật toán được sử dụng để tạo địa chỉ Bitcoin từ khóa công khai là Secure Hash Algorithm (SHA) và RACE Integrity Primitives Evaluation Message Digest (RIPEMD), cụ thể là SHA256 và RIPEMD160.
Sử dụng khóa công khai K làm đầu vào, tính toán giá trị băm SHA256 của nó và sử dụng kết quả để tính toán giá trị băm RIPEMD160 để thu được một số có độ dài 160 bit (20 byte).
A = RIPEMD160(SHA256(K))
Trong công thức, K là khóa công khai và A là địa chỉ Bitcoin đã tạo.
Gợi ý: Địa chỉ Bitcoin khác với khóa công khai. Địa chỉ Bitcoin được tạo bằng hàm băm một chiều của khóa công khai.
Các địa chỉ Bitcoin mà người dùng thường thấy được mã hóa bằng "Base58Check" (xem phần "Mã hóa Base58 và Base58Check"), sử dụng 58 ký tự (Mã hóa Base58 và Base58Check cũng được sử dụng ở những nơi khác trong Bitcoin, chẳng hạn như trong địa chỉ Bitcoin, khóa riêng tư, khóa đã mã hóa và script hash, để cải thiện khả năng đọc và nhập liệu chính xác.
