27 / 736ADDR

Alamat Bitcoin

Informasi penerimaan pembayaran, bukan rekening bank

Saat seseorang ingin membayar Anda dengan bitcoin, Anda memberinya alamat dari dompet. Bagaimana memakainya dengan aman, mengapa alamat penerimaan berikutnya berubah, dan apa yang sebenarnya bisa diketahui tentang penerima?

Alamat Bitcoin adalah informasi untuk menerima pembayaran. Alamat memberi tahu dompet pengirim cara menyiapkan pembayaran agar penerima dapat membelanjakannya nanti dengan memenuhi syarat yang berlaku. Anda boleh membagikannya kepada pembayar; alamat bukan kunci rahasia maupun cadangan dompet.

Alice ingin membayar Bob. Bob membuka Terima di dompetnya, memeriksa alamat yang muncul, lalu mengirimkannya sebagai teks atau kode QR. Alice membacanya dengan dompet sendiri dan memeriksa penerima serta jumlah sebelum mengirim. Ia tidak perlu memahami setiap karakter karena aplikasi yang mengolahnya. Dari alamat itu, dompet menyusun syarat yang harus dipenuhi untuk membelanjakan uang nanti, biasanya tanda tangan dengan kunci privat yang tepat. Transaksi mencatat syarat tersebut sebagai skrip bernama scriptPubKey. Isinya adalah jumlah dan skrip, bukan teks alamat yang biasa dilihat. Jadi, alamat merupakan cara praktis menyampaikan rincian pembayaran, bukan wadah berisi koin. [1] [3]

Salin alamat yang panjang atau pindai kode QR, jangan mengetiknya satu per satu. Namun pemeriksaan belum selesai: perangkat lunak berbahaya dapat mengganti alamat di papan klip. Bandingkan seluruh alamat dengan informasi yang diperoleh dari penerima melalui saluran tepercaya. Jika memakai Hardware Wallet, periksa juga layar perangkat itu sendiri. Awal dan akhir saja tidak cukup karena alamat penipu bisa menirunya. Alamat memuat checksum untuk membantu menemukan salah ketik, tetapi checksum tidak dapat menentukan apakah alamat berformat benar memang milik orang yang dimaksud. Dompet juga harus mendukung format dan jaringannya. Pembayaran uji dalam jumlah kecil bisa membantu, tetapi bukan pengganti pemeriksaan alamat pada transfer berikutnya. Protokol tidak menyediakan pembatalan sederhana untuk pembayaran terkonfirmasi ke alamat yang salah tetapi valid. [2] [7] [8] [18]

Saat Bob membuka Terima lagi, ia mungkin melihat alamat berbeda. Bukan berarti uangnya hilang. Alamat baru membantu menjaga privasi: orang yang mengetahui satu alamat publik bisa mengikuti pembayaran ke alamat itu di blockchain, tetapi seharusnya tidak otomatis melihat seluruh penerimaan dompet. Memakai alamat yang sama berulang kali memudahkan hubungan itu. Alamat baru pun tidak menjamin anonimitas; transaksi berikutnya bisa mengungkap hubungan lain. Alamat boleh dibagikan untuk pembayaran, tetapi tetap perlu pertimbangan sebelum memublikasikannya di mana-mana. Satu alamat juga tidak berarti satu orang: beberapa orang bisa mengelola dana bersama, atau sebuah layanan mengelolanya untuk pelanggan. [1] [14]

Dompet mengelola kunci, menemukan pembayaran yang dapat dibelanjakan, lalu menampilkan jumlahnya. Jadi, saldo bisa berasal dari banyak alamat. HD Wallet yang umum membuat serangkaian kunci dari satu dasar bersama; alamat baru tidak berarti membuka dompet lain. Ketika membayar, aplikasi juga bisa mengembalikan dana yang tersisa ke alamat sendiri, yaitu Change Address. Namun alamat saja tidak cukup untuk pemulihan. Cadangan harus dapat memulihkan kunci yang diperlukan beserta aturan penggunaannya. Banyak dompet memakai Seed Phrase, sekumpulan kata pemulihan; pengaturan yang lebih rumit mungkin membutuhkan informasi tambahan. Pembayar tidak pernah memerlukan kata-kata itu atau kunci privat Anda. [10] [14]

Kode QR hanyalah cara menyajikan informasi. Isinya bisa berupa alamat saja atau permintaan pembayaran berawalan bitcoin:, dengan jumlah, label penerima, atau pesan. BIP21 menjelaskan mekanisme ini dan BIP321 memperluasnya. Periksa apa yang benar-benar dibaca dompet sebelum menyetujui. Permintaan Lightning Network, seperti invoice untuk satu pembayaran atau offer yang dapat dipakai berulang kali untuk meminta invoice baru, memakai alur pembayaran berbeda; Lightning Address memudahkan mendapatkan permintaan seperti itu. Sebagian permintaan menyediakan beberapa cara membayar. Begitu pula, tanda tangan digital pada pesan tidak otomatis mengonfirmasi identitas: BIP322 dapat menunjukkan bahwa syarat suatu skrip dapat dipenuhi, tetapi tidak dengan sendirinya membuktikan identitas hukum atau persetujuan terhadap sembarang tagihan. [15] [16] [17]

Base58Check menggabungkan byte versi dengan data yang disebut payload. Empat byte pertama SHA256(SHA256(version || payload)) ditambahkan, lalu hasilnya dikodekan menggunakan alfabet Base58. Di mainnet, 0x00 berarti P2PKH dan 0x05 berarti P2SH, sehingga alamat biasanya diawali 1 atau 3. Jaringan uji memakai versi lain. Alfabet ini menghilangkan karakter yang mudah tertukar: 0, O, I, dan l. Checksum 32-bit tersebut mendeteksi banyak kesalahan ketik, tetapi tidak mengautentikasi penerima. [2] [3]

Representasi SegWit native memuat awalan bc untuk mainnet atau tb untuk testnet, pemisah 1, versi witness, dan data dalam kelompok 5 bit. Di ujungnya terdapat 6 karakter checksum. BIP173 memperkenalkan Bech32; setelah ditemukan kelemahan pada penyisipan dan penghapusan tertentu, BIP350 mempertahankan Bech32 untuk versi 0 dan menetapkan Bech32m untuk versi 1–16. Huruf boleh semuanya kecil atau semuanya besar, tetapi tidak boleh dicampur. Batas pengkodeannya 90 karakter. Penulisan yang valid pun bisa merujuk pada jaringan yang salah atau versi yang tidak didukung. [7] [8]

P2PKH dan P2WPKH merujuk pada HASH160 kunci publik sepanjang 20 byte. P2SH memakai HASH160 dari redeemScript, sedangkan P2WSH memakai SHA256 dari witnessScript. Jadi SegWit v0 mengenali P2WPKH 20 byte dan P2WSH 32 byte. P2TR menurut BIP341 berbeda: program versi 1 memuat kunci output Q yang telah disesuaikan, berformat x-only dan sepanjang 32 byte, bukan hash kunci penerimaan biasa. Perhitungan Q juga dapat memasukkan akar pohon skrip tambahan. Dengan begitu, kunci terikat secara kriptografis pada syarat pembelanjaan tersebut. Karena itu, alamat saja tidak mengungkap semua pilihan pembelanjaan. [6] [9]

Output Bitcoin awal sering membayar langsung ke kunci publik. P2PKH menunda pengungkapannya sampai dana dibelanjakan. BIP13 dan BIP16 memungkinkan P2SH membawa hash skrip yang lebih kompleks. BIP141 menambahkan program witness berversi, BIP173 menambahkan Bech32, lalu BIP341 bersama BIP350 membawa format Taproot dengan Bech32m. Perbedaan tampilan mencerminkan perbedaan syarat verifikasi. Jangan ‘mengonversi’ alamat dengan mengganti awalan secara manual: hasilnya bisa menjadi output lain atau output yang tidak dapat dibelanjakan. Sebagian skrip nonstandar dan output pay-to-pubkey awal tidak memiliki alamat kanonis biasa. [4] [5] [6] [7] [8] [9] [3]

HD Wallet menurut BIP32 menurunkan banyak kunci dari akar yang sama. Jalur membedakan jenis output: BIP44 memakai tujuan 44' untuk P2PKH, BIP84 memakai 84' untuk P2WPKH, dan BIP86 memakai 86' untuk P2TR satu kunci. Berikutnya adalah jenis koin (coin type), akun, cabang penerimaan atau kembalian, serta indeks alamat. Seed Phrase saja mungkin tidak menentukan semua jalur, akun, dan aturan Multisig. Output Descriptor juga mencatat asal kunci dan susunan skrip. Pemulihan harus menemukan dana yang sebenarnya, bukan sekadar menampilkan lagi satu alamat yang dikenal. [10] [11] [12] [13] [14]

Pada P2PKH dan P2WPKH, yang mula-mula terlihat biasanya hash kunci; kunci publik terungkap ketika dana dibelanjakan. P2SH dan P2WSH mengungkap redeemScript atau witnessScript yang digunakan. Taproot sudah memuat kunci publik yang disesuaikan di dalam output. Pembelanjaan melalui key path biasanya menambahkan Schnorr Signature, sedangkan melalui script path mengungkap skrip pilihan, control block, dan jalur Merkle; cabang yang tidak digunakan dapat tetap tersembunyi. Jadi, tidak benar bahwa setiap alamat menyembunyikan kunci publik. [6] [9]

Untuk gambaran yang lebih utuh, baca entri ini bersama Private Key, Dompet, Change Address, Bitcoin, SegWit, Taproot. Entri ini juga dirujuk dari Hash, SHA-256, Cold Storage, Watch-only Wallet.

01Apakah alamat Bitcoin merupakan nomor rekening?

Tidak. Alamat memberi tahu dompet pengirim cara menyiapkan pembayaran untuk penerima. Syarat untuk membelanjakannya nanti dicatat dalam transaksi sebagai scriptPubKey. Satu dompet dapat mengelola banyak alamat; alamat saja tidak mengidentifikasi seseorang.

02Bisakah alamat Bitcoin digunakan ulang dengan aman?

Secara teknis, alamat lama tetap dapat menerima pembayaran jika Anda menguasai kunci yang diperlukan dan bisa memenuhi syaratnya. Alamat baru tidak membatalkannya. Namun penggunaan ulang menghubungkan penerimaan, jadi gunakan alamat baru dari dompet untuk pembayaran berikutnya. Untuk setoran ke suatu layanan, ikuti petunjuk terbarunya.

DOC · 001Bitcoin whitepaper — Transactions and PrivacySumber primer DOC · 002Bitcoin Core — Base58Check implementationSumber primer DOC · 003Bitcoin Core — destination encoders and decodersSumber primer DOC · 004BIP 13 — Address Format for pay-to-script-hashSpesifikasi DOC · 005BIP 16 — Pay to Script HashSpesifikasi DOC · 006BIP 141 — Segregated Witness consensus layerSpesifikasi DOC · 007BIP 173 — Base32 address format for native v0-16 witness outputsSpesifikasi DOC · 008BIP 350 — Bech32m format for witness v1 and laterSpesifikasi DOC · 009BIP 341 — Taproot validation and output keysSpesifikasi DOC · 010BIP 32 — Hierarchical deterministic walletsSpesifikasi DOC · 011BIP 44 — Multi-account hierarchySpesifikasi DOC · 012BIP 84 — Derivation for native P2WPKHSpesifikasi DOC · 013BIP 86 — Derivation for single-key P2TRSpesifikasi DOC · 014Bitcoin Core — Output descriptorsDokumentasi DOC · 015BIP 21 — URI schemeSpesifikasi DOC · 016BIP 322 — Generic signed message formatSpesifikasi DOC · 017BIP 321 — URI schemeSumber primer DOC · 018Trezor — verify every address on your deviceDokumentasi
Direvisi: Utamakan sumber · Bukan nasihat investasi