0Pricing
Cryptology Academy · Pelajaran

Skrip Bitcoin & Verifikasi Tanda Tangan UTXO

Telusuri skrip pay-to-public-key-hash (P2PKH) dan penandatanganan ECDSA.

Skrip Bitcoin & Verifikasi Tanda Tangan UTXO adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Model UTXO

Bitcoin menggunakan Unspent Transaction Outputs (UTXOs). Setiap UTXO adalah koin dengan skrip pengunci (scriptPubKey). Untuk membelanjakannya, pihak yang membelanjakan menyediakan skrip pembuka (scriptSig) yang memenuhi skrip pengunci. UTXO bersifat atomik — sudah dibelanjakan atau belum dibelanjakan, tidak pernah sebagian.

Skrip Bitcoin

Bitcoin Script adalah bahasa berbasis tumpukan yang tidak lengkap-Turing. Skrip dijalankan dengan memasukkan data ke tumpukan dan menjalankan opkode. Tidak ada perulangan atau rekursi — skrip selalu berhenti. Keterbatasan yang disengaja ini mencegah penolakan layanan dan membuat verifikasi skrip berjalan dalam O(n) terhadap panjang skrip.

P2PKH: Membayar ke Hash Kunci Publik

Jenis output yang paling umum. scriptPubKey: OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG. scriptSig: . Eksekusi: masukkan sig+pubkey, duplikasi pubkey, jalankan hash160, bandingkan dengan hash yang disematkan, verifikasi tanda tangan ECDSA. Jika semuanya berhasil: koin dapat dibelanjakan.

Jejak Eksekusi P2PKH

Jejak tumpukan untuk P2PKH: masukkan ; masukkan ; OP_DUP → masukkan salinan; OP_HASH160 → jalankan hash160(top); masukkan ; OP_EQUALVERIFY → keluarkan dua item, gagal jika tidak sama; OP_CHECKSIG → keluarkan sig+pubKey, verifikasi ECDSA, masukkan TRUE/FALSE. Skrip berhasil jika TRUE.

ECDSA dalam Bitcoin

Bitcoin menggunakan ECDSA pada secp256k1 (kurva Koblitz, y^2 = x^3 + 7 mod p). Kunci privat d ∈ [1, n-1]. Kunci publik Q = d*G. Sign(m): k acak; r = (k*G).x mod n; s = k^{-1}(H(m)+r*d) mod n. Tanda tangan = (r, s). Dikodekan dalam DER di scriptSig.

Jenis SIGHASH

Tanda tangan Bitcoin mengikat bagian transaksi tertentu: SIGHASH_ALL (bawaan): tanda tangani semua masukan+keluaran. SIGHASH_SINGLE: tanda tangani hanya keluaran yang bersesuaian. SIGHASH_NONE: tidak menandatangani keluaran apa pun (berbahaya). SIGHASH_ANYONECANPAY: tanda tangani hanya masukan sendiri — memungkinkan transaksi kolaboratif.

P2SH: Membayar ke Hash Skrip

P2SH memungkinkan kondisi pembelanjaan yang kompleks disembunyikan di balik hash. scriptPubKey: OP_HASH160 OP_EQUAL. scriptSig: . Eksekusi: evaluasi apakah hash(redeemScript) == scriptHash, lalu jalankan redeemScript. Memungkinkan multisig tanpa mengungkapkan kondisi sampai koin dibelanjakan.

Multisig (2-dari-3)

redeemScript: OP_2 OP_3 OP_CHECKMULTISIG. scriptSig: OP_0 . OP_0 mengatasi bug dalam OP_CHECKMULTISIG yang mengeluarkan satu item tumpukan tambahan. Multisig 2-dari-3 memerlukan 2 dari 3 tanda tangan mana pun.

SegWit dan P2WPKH

Saksi Terpisah (SegWit, BIP-141) memindahkan tanda tangan dari scriptSig ke bidang saksi terpisah. Ini memperbaiki kelenturan transaksi (ID berubah jika scriptSig berubah). scriptPubKey P2WPKH: OP_0 <20-byte pubKeyHash>. Saksi: [ ].

Taproot (P2TR)

Taproot (BIP-340/341/342) menggunakan tanda tangan Schnorr dan Pohon Sintaksis Abstrak yang di-Merkle-kan (MAST). Pembelanjaan bawaan: satu tanda tangan Schnorr (tidak dapat dibedakan dari pembelanjaan melalui jalur kunci). Kondisi kompleks disembunyikan dalam pohon Merkle dan hanya diungkapkan jika digunakan. Privasi + efisiensi.

Verifikasi Skrip dalam Kode

Bitcoin Core memvalidasi skrip dalam penerjemah tumpukan. CheckSig memanggil VerifyScript, yang menjalankan gabungan scriptSig+scriptPubKey. Untuk setiap opkode CHECKSIG, opkode tersebut memanggil CheckECDSASignature, yang memverifikasi (r,s) yang dikodekan dalam DER terhadap hash transaksi menggunakan secp256k1.

Pemeriksaan Singkat

Apa yang diverifikasi OP_CHECKSIG dalam skrip P2PKH?

Ringkasan

UTXO menggunakan Bitcoin Script berbasis tumpukan. P2PKH: pola pembelanjaan yang paling umum — memverifikasi hash kunci publik, lalu memeriksa tanda tangan ECDSA. SegWit memperbaiki kelenturan; Taproot menambahkan Schnorr dan MAST. Berikutnya: kriptanalisis diferensial.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Skrip Bitcoin & Verifikasi Tanda Tangan UTXO” gratis?

Ya — teks lengkap “Skrip Bitcoin & Verifikasi Tanda Tangan UTXO” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Skrip Bitcoin & Verifikasi Tanda Tangan UTXO”?

Telusuri skrip pay-to-public-key-hash (P2PKH) dan penandatanganan ECDSA. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Skrip Bitcoin & Verifikasi Tanda Tangan UTXO” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Rantai Hash & Penautan Blok
  2. Pohon Merkle: Integritas Transaksi dalam Skala Besar
  3. Bukti Kerja: Penambangan & Penyesuaian Kesulitan
  4. Skrip Bitcoin & Verifikasi Tanda Tangan UTXO
← Kembali ke Cryptology Academy