Bitcoin.com

Ano ang Bitcoin Script Language?

Ang wikang Bitcoin Script ang kumokontrol sa bawat transaksyon ng BTC. Alamin kung paano gumagana ang mga opcode, locking script, at Taproot, na ipinaliwanag sa simpleng Ingles.

Huling Na-update
Nai-publish
Oras ng Pagbasa3 minutong pagbabasa
Isinulat ni
Neil Author
Neill Velardo
Crypto content specialist since 2017; reviews iGaming platforms firsthand
Sinuri ni
Graham Stone Author Image
Graham Stone
What is the Bitcoin Script Language?

Ang Bitcoin Script ay ang wikang pang-programa na kumokontrol sa bawat transaksyon sa Bitcoin network. Ito ay isang simpleng, stack-based na wika na naglalahad ng eksaktong mga kondisyon kung kailan maaaring gastusin ang bitcoin, at bawat full node sa network ay tumatakbo rito sa tuwing pinapatotohanan ang isang transaksyon. Kung wala ito, ang Bitcoin ay magiging isang talaan ng mga numero na walang mekanismo para ipatupad kung sino ang may-ari ng ano.

Karamihan sa mga gumagamit ay hindi kailanman nakikita nang direkta ang wikang scripting ng Bitcoin. Hinahawakan ito nang hindi nakikita ng kanilang mga wallet. Ngunit sa tuwing nagpapadala ka o tumatanggap ng BTC, dalawang maliliit na programa ang tumatakbo nang sabay-sabay sa libu-libong kompyuter, sinusuri kung natugunan na ang mga kondisyon sa paggastos. Ang pag-unawa kung paano ito gumagana ay nagpapaliwanag ng maraming bagay tungkol sa kung bakit nakaayos ang Bitcoin sa paraang ito, at kung ano ang kaya at hindi nito magawa kumpara sa mga plataporma tulad ng Ethereum.

Sinasaklaw ng artikulong ito kung paano gumagana ang Bitcoin Script, tinatalakay ang mga pangunahing uri ng transaksyon na pinapagana nito, ipinaliwanag ang Taproot upgrade na nag-modernisa sa scripting layer noong 2021, at tinatalakay kung nasaan na ang debate tungkol sa covenant opcode hanggang Hunyo 2026.

Pamamahalaan nang ligtas ang iyong Bitcoin gamit ang self-custody. Bitcoin.com Wallet app.

Mga Pangunahing Tala

  • Ang Bitcoin Script ay isang stack-based na wika ng pagprograma na nakapaloob sa protocol ng Bitcoin na naglalarawan ng mga kundisyong kailangang matugunan upang magamit ang anumang output ng bitcoin.
  • Bawat transaksyon ng Bitcoin ay may kasamang dalawang script: isang locking script (ScriptPubKey) na itinakda ng tatanggap at isang unlocking script (ScriptSig) na ibinibigay ng gumagastos. Dapat pareho silang magpatupad nang matagumpay para maging balido ang transaksyon.
  • Ang Bitcoin Script ay sinadyang hindi Turing-complete. Wala itong mga loop, walang permanenteng estado sa pagitan ng mga pagpapatupad, at may mahigpit na limitasyon sa laki ng script. Dahil dito, garantisadong tatapos ang bawat script, na isang tampok sa seguridad, hindi isang limitasyon.
  • Ang wikang pang-script ay umunlad sa pamamagitan ng limang pangunahing format: P2PK, P2PKH, P2SH, SegWit (P2WPKH/P2WSH), at Taproot (P2TR), na bawat isa ay nagpapalawak sa mga posibilidad habang nananatiling tugma sa mga naunang bersyon.
  • Ipinakilala ng Taproot (Nobyembre 2021) ang Schnorr signatures, ang mga MAST-based na landas ng paggastos para sa privacy, at ang Tapscript bilang isang na-update na wikang scripting na may nakapaloob na mekanismo para sa mas malinis na mga pag-upgrade sa hinaharap.
  • Ang mga totoong kaso ng paggamit na nakabatay sa Bitcoin Script ay kinabibilangan ng mga pitaka na may maraming pirma, mga transaksyong naka-lock sa oras, mga Kontratang Naka-lock sa Hash na May Oras (ang pundasyon ng Lightning), escrow, at mga Kontratang Diskretong Log.
  • Hindi tulad ng mga smart contract ng Ethereum, ang Bitcoin Script ay walang estado: ang bawat script ay tumatakbo nang ganap na nakahiwalay at walang kaalaman sa anumang ibang transaksyon. Ito ay isang sinadyang arkitektural na pagpili.
  • Ang pinaka-aktibong larangan ng pag-unlad ng Bitcoin Script noong 2026 ay ang mga covenant opcode, partikular ang OP_CTV (BIP-119) at OP_CAT (BIP-347), na magpapahintulot sa mga script na takdaan kung ano ang dapat hitsura ng isang transaksyon sa paggastos. Wala pa sa kanila ang na-aktiba sa mainnet.

Ano ang Bitcoin Script?

Ang Bitcoin Script ay isang stack-based, stateless na wikang scripting na nakapaloob sa protocol ng Bitcoin. Bawat output ng transaksyon sa Bitcoin network ay may kasamang locking script (tinatawag na ScriptPubKey) na naglalahad ng mga kundisyon para sa paggastos ng pondo. Ang sinumang nais gastusin ang pondong iyon ay dapat magbigay ng unlocking script (tinatawag na ScriptSig, o sa mga transaksyon ng SegWit at Taproot, ang witness data) na nakakatugon sa mga kundisyong iyon.

Ang wika ay kumukuha ng istruktura nito mula sa Forth, isang minimalistang wikang pang-programa na nakabatay sa stack na binuo noong dekada 1960. Tulad ng Forth, binabasa ng Bitcoin Script mula kaliwa papakanan, gumagana sa isang istrukturang datos na tinatawag na stack, at gumagamit ng Reverse-Polish Notation (RPN), kung saan ang mga operator ay sumusunod sa kanilang mga operando sa halip na nauuna. Ipinapatupad nito ang isang tagubilin nang paisa-isa, walang mga loop, at hindi nag-iimbak ng permanenteng memorya sa pagitan ng mga pagpapatupad.

Ang huling puntong iyon ang unang napapansin ng karamihan kapag unang natututo tungkol sa Bitcoin Script na ipinaliwanag sa antas ng protocol: sinadya na hindi Turing-complete ang wika. Ang isang Turing-complete na wika ay kayang gumanap ng anumang komputasyon kung mabibigyan ng sapat na oras at mapagkukunan. Hindi ito posible sa Bitcoin Script dahil sa disenyo, at malaki ang kahalagahan ng mga dahilan sa likod ng pagpiling iyon sa kung paano gumagana ang network.

Paano Gumagana ang Bitcoin Script: Ang Modelo ng Stack

Upang maunawaan kung paano gumagana ang Bitcoin Script, kailangan mong maunawaan ang stack. Ang stack ay isang estrukturang pang-dato na gumagana sa prinsipyong Last-In, First-Out (LIFO). Isipin ang isang bunton ng mga plato: maaari ka lamang magdagdag o magtanggal mula sa ibabaw. Sa Bitcoin Script, itinutulak ang data sa bunton at ang mga opcode (mga kodigo ng operasyon) ang nagmamanipula sa anumang nasa ibabaw.

Kapag pinapatotohanan ng isang Bitcoin node ang isang transaksyon, pinapatakbo nito nang sunud-sunod ang dalawang script:

  1. Ang script para sa pag-unlock (ScriptSig o saksi) ibinibigay ng taong gumagastos ng mga barya. Itulak nito ang datos sa stack, karaniwang isang digital na pirma at isang pampublikong susi.
  2. Ang script ng pag-lock (ScriptPubKey) Nakakabit sa output na ginagastos. Naglalaman ito ng mga opcode na kumikilos sa datos ng stack at sumusuri kung natutugunan ang mga kondisyon ng paggastos.

Kung maipatupad ang script nang walang error at mag-iwan ng hindi-zero na halaga (TRUE) sa stack sa dulo, balido ang transaksyon. Kung mabigo ito o mag-iwan ng FALSE, tinatanggihan ng node ang transaksyon at hindi ito napapasama sa block.

Ang pagpapatupad na ito ay ganap na walang estado. Wala itong kaalaman sa anumang nakaraang transaksyon, walang kamalayan sa kasalukuyang balanse, at walang memorya na naiipon pagkatapos nitong tumakbo. Bawat script ay tumatakbo mula sa simula, nang hiwalay, sa bawat pagkakataon.

Hakbang-hakbang: Isang karaniwang transaksyon ng P2PKH

Ang Pay-to-Public-Key-Hash (P2PKH) ay ang orihinal na uri ng transaksyon sa Bitcoin na ginagamit mula pa noong 2009. Nagsisimula sa "1" ang mga P2PKH address. Narito kung ano ang hitsura ng ScriptPubKey at ScriptSig sa praktis:

Pag-unlock ng script (ScriptSig):

<pirma> <pampublikong susi>

Script para sa pag-lock (ScriptPubKey):

OP_DUP OP_HASH160 <hash ng pampublikong susi> OP_EQUALVERIFY OP_CHECKSIG

Kapag pinagsama-sama at isinasagawa nang sabay ng node ang dalawa, ang mga operasyon sa stack ay nagpapatuloy hakbang-hakbang:

  • Ang pirma at pampublikong susi mula sa ScriptSig ay itinutulak sa stack.
  • OP_DUP Kinokopya ang pampublikong susi sa tuktok ng pila
  • OP_HASH160 Gumagawa ng hash sa duplicate (SHA-256 na sinundan ng RIPEMD-160), na nagbubunga ng 20-byte na hash.
  • Ang hash ng pampublikong susi mula sa locking script ay itinutulak sa stack.
  • OP_EQUALVERIFY Sinusuri kung magkatugma ang dalawang hash. Kung hindi, humihinto ang pagpapatupad at nabibigo ang transaksyon.
  • OP_CHECKSIG Kinukumpirma na balido ang pirma para sa pampublikong susi.

Kung pumasa ang lahat ng hakbang, nagtatapos ang stack sa TRUE at pinakakawalan ang pondo. Ang buong proseso ay tumatagal ng millisegundo at tumatakbo nang magkapareho sa bawat node sa network.

Paliwanag sa mga Opcode ng Bitcoin

Ang mga opcode ng Bitcoin ay ang mga indibidwal na utos na bumubuo sa isang script. Bawat isa ay isang byte, na nagbibigay ng 256 na posibleng slot ng opcode. Sa mga ito, humigit-kumulang 80 ang kasalukuyang aktibo sa mainnet. Ang natitira ay nakalaan, hindi pinagana, o inilaan para sa mekanismong OP_SUCCESS para sa forward-compatibility na ipinakilala sa Tapscript.

Ang mga opcode ay nahahati sa ilang kategorya:

  • Mga opcode ng pag-push ng datos I-push ang mga halaga gaya ng mga pampublikong susi, mga pirma, at mga hash sa stack.
  • Mga opcode ng aritmetika Isagawa ang pagdaragdag, pagbabawas, at paghahambing na mga operasyon. Tandaan na hindi pinagana ang pagmumultiplikar at paghahati.
  • Mga opcode ng kriptograpiya Isama ang OP_SHA256, OP_HASH160, OP_SHA1 para sa pag-hash, at OP_CHECKSIG para sa beripikasyon ng pirma.
  • Mga opcode para sa kontrol ng daloy paganahin ang kondisyunal na lohika: OP_IF, OP_ELSE, OP_ENDIF, OP_NOTIF
  • Mga opcode para sa manipulasyon ng stack Kasama ang OP_DUP (duplicate ang nangungunang item), OP_DROP (alisin ang nangungunang item), at OP_SWAP (palitan ang dalawang nangungunang item)

Ilang opcode ang pinatay ni Satoshi Nakamoto noong 2010 matapos matuklasan ang mga kahinaan sa kanilang orihinal na implementasyon. Kabilang dito ang OP_CAT (pag-ugnay ng dalawang item sa stack), OP_MUL (pagpaparami), at OP_DIV (paghahati). Ang kawalan nila ay nagkaroon ng pangmatagalang epekto sa kung ano ang maaaring ipahayag ng Bitcoin Script, at ilan sa mga pinaka-aktibong pinagtatalunang panukala para sa pag-upgrade ng Bitcoin sa 2026 ay tungkol sa kung dapat muling paganahin ang ilan sa mga ito.

Para sa kumpletong sanggunian ng opcode kasama ang mga halagang hex at mga paglalarawan, ang Pahina ng Bitcoin Wiki Script ay ang awtoritatibong pinagkukunan.

Bakit ang hindi Turing-kumpleto ay isang tampok

Ang karaniwang paliwanag ay walang mga loop ang Bitcoin Script, kaya tiyak na magtatapos ang mga script, at napoprotektahan ang network mula sa walang katapusang pagpapatupad. Tama iyon, ngunit hindi nito lubos na binibigyang-diin ang punto.

Ang mas malalim na argumento ay tungkol sa attack surface. Ang isang Turing-complete na wika ay kayang ipahayag ang anumang komputasyon. Ang ganoong kakayahang ito rin ang espasyo kung saan naninirahan ang mga bug. Ang Solidity ng Ethereum ay nagbunga ng ilan sa mga pinakamahal na kahinaan sa software sa kasaysayan. Ang 2016 DAO hack ay sinamantala ang isang reentrancy flaw sa isang smart contract at nagdulot ng pagkalugi na humigit-kumulang $60 milyon sa presyo noon, na sa huli ay nagdulot ng kontrobersyal na hard fork ng Ethereum network. Ang mas malawak na DeFi ecosystem ay nakakita ng daan-daang milyong dolyar na naubos dahil sa mga exploit sa smart contract sa loob ng maraming taon.

Ginagawang istruktural na imposible ng Bitcoin Script ang ganitong uri ng pag-atake. Hindi ka maaaring magsulat ng Bitcoin script na tumatawag sa ibang mga script, umuulit hanggang sa magbago ang isang kondisyon, o nag-iimbak ng estado sa pagitan ng mga transaksyon. Bawat script ay isang may hangganan, nagtatapos, at maaaring suriin na programa. Ang pinakamataas na laki ng script ay 10,000 bytes. Ang pinakamataas na bilang ng non-push opcodes bawat script ay 201. Lagi nang maaaring kalkulahin ng validator ang pinakamalalang gastos sa pagpapatupad bago pa man patakbuhin ang script.

Para sa isang network na humahawak ng daan-daang bilyong dolyar na halaga, mas mahalaga ang prediktibilidad kaysa sa kakayahang nabibigyan mo ng kapalit. Sinusolusyunan ng Ethereum ang problema ng walang limitasyong komputasyon sa pamamagitan ng mga limitasyon sa gas, naniningil sa mga gumagamit para sa bawat opcode na naisakatuparan at pinapatigil ang mga script na nauubusan ng badyet. Epektibo ito, ngunit nagdadala ng sarili nitong komplikasyon at mga paraan ng pagkabigo. Ibinabaliwala ng Bitcoin ang problemang ito nang buo dahil sa disenyo nito.

Gayunpaman, ang "hindi Turing-complete" ay hindi nangangahulugang "hindi kayang magsagawa ng komplikadong lohika." Sinusuportahan ng Bitcoin Script ang mga kinakailangan sa paggastos ng maramihang partido, mga kundisyong nakabatay sa oras, pagbubunyag ng preimage ng hash, at mga kombinasyon ng lahat ng ito. Ang Lightning Network, na nagpapadala ng milyun-milyong bayad araw-araw, ay buo na nakabatay sa mga primitibo ng Bitcoin Script.

Mga Uri ng Script: Ang Ebolusyon Mula sa P2PKH Patungo sa Taproot

Ang scripting layer ng Bitcoin ay malaki ang pagbabago mula pa noong 2009, kung saan sa bawat pag-upgrade ay ipinapakilala ang bagong format ng transaksyon habang nananatiling backward compatible sa lahat ng nauna.

P2PK (Bayad sa Publikong Susi, 2009)

Ang orihinal na format, na ginamit sa mga unang transaksyon ng Bitcoin kabilang ang bayad ni Satoshi kay Hal Finney sa block 170. Ang mga pondo ay direktang naka-lock sa buong pampublikong susi sa halip na sa hash nito. Bihira na itong gamitin sa mga bagong transaksyon ngayon dahil inilalantad nito ang pampublikong susi sa on-chain bago ang paggastos, na itinuturing na mas mahina ang posisyon sa seguridad kaysa sa pag-hash muna ng susi.

P2PKH (Bayad sa Hash ng Publikong Susi, 2009)

Ang karaniwang format sa loob ng mahigit isang dekada. Ikinokandado ng P2PKH ang pondo sa hash ng pampublikong susi sa halip na sa mismong susi, pinananatiling pribado ang pampublikong susi hanggang sa sandali ng paggastos, nagbubunga ng mas maikling 20-byte na address, at bumubuo sa batayan ng lahat ng address na nagsisimula sa "1." Ayon sa on-chain data mula sa Unchained (Abril 2026), kasalukuyang hawak ng mga P2PKH address ang humigit-kumulang 43% ng minahang suplay ng bitcoin.

P2SH (Bayad-sa-Script-Hash, 2012, BIP 16)

Ipinakilala sa pamamagitan ng soft fork noong Abril 1, 2012, inilipat ng P2SH ang pasanin ng mga kumplikadong script sa paggastos mula sa nagpadala patungo sa tumatanggap. Sa halip na isama ang buong locking script sa output, naglalabas ang P2SH ng commit sa isang 20-byte na hash ng "redeem script." Ang buong script ay ibubunyag lamang kapag nagastos na ang mga barya. Dahil dito, naging praktikal ang multisig para sa karaniwang mga gumagamit: ang 2-of-3 na multisig setup ay hindi na nangangailangan na makita ng nagpapadala ang lahat ng tatlong pampublikong susi sa oras ng pagbabayad. Nagsisimula sa "3" ang mga P2SH address.

Para sa detalyadong paglalarawan kung paano gumagana ang beripikasyon ng P2SH sa antas ng protocol, Gabay sa mga transaksyon ng developer.bitcoin.org Ipinapaliwanag nang hakbang-hakbang ang mekanismo ng redeem script.

P2WPKH at P2WSH (Katutubong SegWit, 2017, BIP 141)

Ang Segregated Witness, na na-activate noong Agosto 2017 sa block 481,824, ay inilipat ang datos ng pirma mula sa pangunahing katawan ng transaksyon patungo sa isang hiwalay na istrukturang witness. Ang datos ng witness ay nakakakuha ng 75% na diskwento sa bigat, na ginagawang makabuluhang mas mura ang mga transaksyon ng SegWit. Ang isang karaniwang transaksyon na may isang input at dalawang output na P2WPKH ay may bigat na humigit-kumulang 141 virtual bytes, kumpara sa 226 vbytes para sa katumbas na transaksyon na P2PKH, ayon sa Pagsusuri ng Spark sa mga uri ng Bitcoin address Simula Marso 2026. Inayos din ng SegWit ang malleability ng transaksyon, na isang kinakailangan para sa Lightning Network. Ang mga katutubong SegWit address ay nagsisimula sa "bc1q."

P2TR (Bayad-sa-Taproot, 2021, BIPs 340/341/342)

Na-activate ang Taproot noong Nobyembre 2021 sa block 709,632 at ito ang pinakamahalagang pag-upgrade sa scripting layer ng Bitcoin mula pa noong SegWit. Ipinakilala nito ang Schnorr signatures, isang bagong uri ng output na may suporta sa MAST, at ang Tapscript bilang isang na-update na scripting language. Ang mga Taproot address ay nagsisimula sa "bc1p."

Taproot at Tapscript: Paano Nagbago ang Wikang Pagsuskrip ng Bitcoin noong 2021

Ang Taproot ay hindi isang nag-iisang pagbabago. Ito ay tatlong Bitcoin Improvement Proposals na idinisenyo nang magkakasama at sabay na na-aktiba.

BIP 340: Mga Pirma ng Schnorr

Gumamit ang Bitcoin noon ng ECDSA (Elliptic Curve Digital Signature Algorithm). Pinili ito ni Satoshi nang bahagya dahil protektado ng patente ang mga Schnorr signature noon. Nag-expire ang patente noong 2008, at sa wakas ay idinagdag ng Taproot ang Schnorr sa protocol.

Mas maliit ang Schnorr signatures sa 64 bytes kumpara sa 71-73 bytes para sa ECDSA. Mas mahalaga, sinusuportahan nila ang pagsasama-sama ng susi sa pamamagitan ng isang iskema na tinatawag na MuSig2. Pinapayagan ng pagsasama-sama ng susi ang maraming tagapirma na pagsamahin ang kanilang indibidwal na mga susi at mga pirma sa isang solong pinagsama-samang susi at pirma na hindi matutukoy sa on-chain mula sa isang karaniwang pagbabayad na may iisang pirma. Ang paggastos gamit ang 2-of-3 multisig wallet sa pamamagitan ng cooperative key path ng Taproot ay mukhang kapareho ng isang karaniwang bayad sa blockchain. Ito ay isang tunay na pag-unlad sa privacy para sa sinumang may hawak ng bitcoin sa isang kumplikadong areglo ng kustodiya.

BIP 341: Bayad-sa-Taproot at MAST

Ipinapakilala ng P2TR ang isang bagong uri ng output na may dalawang landas ng paggastos:

  • Isang pangunahing landas Gumastos gamit ang isang Schnorr na pirma, na ginagamit kapag nagkasundo ang lahat ng partido at nais nila ang pinakasimple at pinakamurang landas.
  • Isang Daan ng script gumastos gamit ang MAST (Merkelized Abstract Syntax Tree, na siyang implementasyon ng konsepto sa Taproot)

Pinapayagan ng MAST ang isang output na mag-commit sa isang puno ng maraming spending script sa pamamagitan ng Merkle root. Sa paggastos, tanging ang partikular na kundisyong aktwal na ginamit ang inilalantad sa on-chain. Ang lahat ng iba pang posibleng landas ng paggastos sa puno ay nananatiling permanenteng nakatago. Para sa isang gumagamit na nag-configure ng isang kumplikadong patakaran sa paggastos, halimbawa, "Maaari akong gumastos nang normal, o dalawa sa tatlong tagapangasiwa ang maaaring gumastos pagkatapos ng anim na buwan, o ang susi sa pagbawi ang maaaring gumastos pagkatapos ng dalawang taon," tanging ang landas na aktwal na naisakatuparan ang lilitaw sa blockchain.

Noong 2024, ang bahagi ng Taproot sa mga transaksyon ng Bitcoin ay lumago na sa humigit-kumulang 42%, na pangunahing hinihimok ng aktibidad ng Ordinals at BRC-20 inscription ayon sa datos ng Glassnode na binanggit ng Spark noong Marso 2026. Ang bahaging iyon ay nag-iba-iba ayon sa kondisyon ng merkado mula noon, ngunit ang imprastruktura ay ngayon ay pamantayan na sa mga pangunahing wallet at palitan. Pahina ng paksa ng Taproot ng Bitcoin Optech Sinusubaybayan ang patuloy na pag-unlad ng mga protocol sa paligid ng Taproot.

BIP 342: Tapscript

Ang Tapscript ay ang na-update na wikang scripting na ginagamit para sa paggastos sa script-path sa loob ng Taproot. Ibinabahagi nito ang karamihan ng mga opcode sa legacy Bitcoin Script ngunit naglalaman ng ilang makabuluhang pagbabago:

  • OP_CHECKMULTISIG at OP_CHECKMULTISIGVERIFY ay lipas na. Ang lumang multisig opcode ay may kakaibang katangian na nangangailangan ng pag-push ng isang dummy element sa stack bilang pansamantalang solusyon. Inaalis ito ng Tapscript at pinalitan ng Magdagdag ng tseke ng lagda, na nagpapatunay ng mga Schnorr na pirma nang paisa-isa at nagtitipon ng bilang. Nagiging mas malinis at mas mura ang pagpapatupad ng mga threshold multisig na iskema.
  • Tinanggal na ang mga limitasyon sa laki ng script sa bawat dahon ng MAST. Maaaring maging napakalaki ang bawat script sa loob ng sangay ng Taproot.
  • Mga opcode ng OP_SUCCESS ay ang pinaka-makabagong pagbabago. Sa legacy Script, kapag nakatagpo ng hindi nakatalagang opcode, nabibigo ang script. Sa Tapscript, ang mga opcode sa saklaw ng OP_SUCCESS ay nagiging dahilan upang magtagumpay ang script nang walang kondisyon. Maaaring magtalaga ng tunay na pag-uugali sa mga opcode na ito ang mga hinaharap na soft fork sa pamamagitan ng paglalagay ng mga limitasyon kung kailan sila magtatagumpay, nang hindi nangangailangan ng bagong bersyon ng script o ng buong siklo ng muling pag-deploy sa buong ekosistema. Mas malinis na maidagdag ang mga bagong kakayahan sa scripting layer ng Bitcoin kaysa sa anumang naunang punto sa kasaysayan ng protocol.

Miniscript

Kasabay ng Tapscript, ang kaugnay na proyektong tinatawag na Miniscript ay lalong naging mahalaga para sa mga developer. Ang Miniscript ay isang istrukturadong paraan ng pagsusulat ng isang subset ng Bitcoin Script na maaaring suriin, pagsamahin, at pirmahan nang pangkalahatan. Kung saan ang hilaw na Script ay nangangailangan ng manwal na pagbuo at mahirap i-audit, ang mga Miniscript script ay maaaring awtomatikong ma-verify para sa katumpakan at pagsamahin sa mas malalaking polisiya. Hindi nito pinalalawak ang mga kakayahan ng Script, kundi ginagawang mas madaling ma-access ng mga developer na gumagawa ng mga wallet at mga kasangkapan sa kustodiya ang mga kakayahan nito.

Ano ang Pinapagana ng Bitcoin Script: Mga Tunay na Kaso ng Paggamit

Ang mga sumusunod na uri ng transaksyon ay aktibo sa Bitcoin mainnet ngayon, lahat ay nakabatay sa mga primitibo ng Bitcoin Script:

Mga pitaka na may maraming pirma (multisig) Kinakailangan ang M sa N na pribadong susi upang pahintulutan ang paggastos. Maaaring mangailangan ang tesorerya ng kumpanya ng 3 sa 5 pag-apruba para sa anumang pag-withdraw. Maaaring gumamit ang mag-asawa ng 2 sa 2 para sa kanilang pinagsamang ipon. Sa pamamagitan ng Taproot at Schnorr key aggregation, ang mga kooperatibong multisig na gastusin ay ngayon on-chain na hindi matutukoy na iba kaysa sa karaniwang transaksyon na may isang pirma.

Mga transaksyon na may takdang oras gamitin ang OP_CHECKLOCKTIMEVERIFY (CheckLockTimeVerify, o CLTV) at OP_CHECKSEQUENCEVERIFY (CheckSequenceVerify, o CSV) upang pigilan ang paggalaw ng pondo bago umabot sa isang tiyak na block height o lumipas na oras. Kasama sa mga aplikasyon ang pagpaplano ng mana, iskedyul ng vesting ng token para sa mga empleyado, mekanismo ng sapilitang pag-iipon, at mga transaksyon ng parusa na ginagamit sa loob ng mga channel ng Lightning Network.

Hash Time-Locked Contracts (HTLCs) Pag-isahin ang kinakailangang preimage ng hash at ang timelock. Ganito gumagana ang kondisyon sa paggastos: ibunyag ang preimage ng hash na ito bago ang taas ng bloke na ito, o babalik ang pondo sa nagpadala. Ang HTLCs ang pangunahing primitibo ng Lightning Network, na nagpapahintulot ng pag-ruta ng pagbabayad nang hindi nangangailangan ng tiwala sa iba't ibang kadena ng mga channel sa pagitan ng mga partidong walang direktang ugnayan.

Pangangalaga sa deposito Ang mga kasunduan ay nagkukulong ng pondo sa isang P2SH o Taproot na script na nangangailangan ng pag-apruba mula sa maraming partido bago ito mapakawalan, karaniwang may isang ikatlong partidong tagapamagitan na humahawak ng susi para sa pantay na boto.

Diskretong Kontrata sa Log (DLCs) Gumamit ng oracle-based Schnorr adaptor signatures upang paganahin ang mga kontratang pinansyal na inaayos batay sa totoong datos gaya ng price feeds o kinalabasan ng mga pangyayari, nang hindi kinakailangang hawakan ng oracle ang anumang pondo. Ang mga DLC ay live na sa Bitcoin mainnet at ginagamit para sa mga produktong opsyon at futures na inaayos sa Bitcoin.

Bitcoin Script laban sa Ethereum Smart Contracts

Ang Bitcoin Script at ang Solidity ng Ethereum ay parehong nagtatakda ng mga kundisyon kung saan maaaring gumalaw ang pondo, ngunit kumakatawan sila sa magkaibang arkitektural na pagpipilian. Mahalagang ihambing ang dalawa nang direkta dahil ipinaliwanag ng mga pagkakaiba ang maraming kompromisong tinanggap ng bawat network.

TampokBitcoin na IskripMga Smart Contract ng Ethereum
Modelo ng pagpapatupadBatay sa stack, walang estado, may hanggananBatay sa stack (EVM), may estado, sinisingil ng gas
Kompleto sa Turing?Hindi. Walang mga loop, garantisadong magtatapos.Oo. Arbitraryong pagkalkula.
Pagpapanatili ng estadoWalang alinman. Ang bawat script ay tumatakbo nang hiwalay.Ang mga kontrata ay nag-iimbak at nagbabago ng estado on-chain.
Pangunahing layuninKondisyunal na paggastos ng mga UTXOMga pangkalahatang-gamit na napiprogramang aplikasyon
Proteksyon laban sa DoSEstruktural: walang mga loop, mahigpit na limitasyon sa lakiMga limitasyon sa gas sa gastos ng pagpapatupad
Pribasiya ng batayang patongPinabuti gamit ang Taproot at MASTAwtomatikong pampubliko ang lahat ng estado.
Kasaysayan ng seguridadWalang pagsasamantala sa layer ng konsensus sa loob ng 16 na taonMga makabuluhang pag-atake sa antas ng kontrata, bilyon-bilyong nawala
Mga kasangkapan para sa developerMababang antas na mga opcode; Miniscript; TapscriptSolidity (mataas na antas), na-compile sa EVM bytecode

Ang pangunahing pamumukod-tangi ay ang kakayahang magpanatili ng estado. Ang mga kontratang Ethereum ay nag-iimbak at nagbabago ng datos na nananatili sa iba't ibang transaksyon, na nagpapahintulot sa mga protocol ng pautang, desentralisadong palitan, pamamahala sa on-chain, at mga pamantayan ng token. Wala itong katumbas sa Bitcoin Script. Bawat script ay tumatakbo sa isang vacuum nang walang kaalaman sa anumang ibang transaksyon.

Ito ay isang sinadyang arkitektural na pagpili, hindi isang puwang na naghihintay na mapunan. Ang scripting layer ng Bitcoin ay idinisenyo para sa isang tiyak na tungkulin: ipatupad ang mga kundisyon para sa paggastos ng bitcoin nang maaasahan at ligtas, sa malawakang sukat. Para sa gawaing iyon, ang kawalan ng estado ay isang kalakasan. Mas maliit ang surface ng pag-atake, deterministiko ang pagpapatupad sa milyun-milyong independiyenteng validator, at walang kategorya ng pagsasamantala sa smart contract sa antas ng protocol dahil walang kontratang may estado sa antas ng protocol.

Ang mga proyektong nais ng mas malaking programmability sa ibabaw ng Bitcoin ay binubuo ito nang patong-patong. Ang Lightning Network ang humahawak ng mga bayad. Ang mga DLC protocol naman ang humahawak ng mga kontratang pinansyal na tumutukoy sa panlabas na datos. Ang mga Layer-2 na sistema tulad ng Ark at Liquid Network ay tumutugon sa iba't ibang profile ng scalability. Wala sa mga ito ang nangangailangan ng pagbabago sa base-layer scripting model.

Ang Debateng Kasunduan: Ano ang Maaaring Magbago sa Bitcoin Script

Ang ebolusyon ng Bitcoin Script ay palaging mabagal at konserbatibo. Ang pinaka-aktibong larangan ng pag-unlad ngayon ay ang mga covenant opcode, na mga panukala na magpapahintulot sa isang script na limitahan hindi lamang kung sino ang maaaring gumastos ng isang output, kundi pati na rin kung ano ang dapat maging hitsura ng kinalabasan na transaksyon. Ito ay isang makabuluhang pagpapalawak ng kakayahan ng Script na magpahayag.

Ang mga nangungunang panukala hanggang Hunyo 2026 ay:

  • OP_CTV (BIP-119, CheckTemplateVerify), na isinulat ni Jeremy Rubin, ay nagdaragdag ng isang opcode na naglalaan ng isang UTXO sa isang tiyak, paunang itinakdang template ng paggastos kabilang ang bersyon ng transaksyon, locktime, bilang ng input, mga sequence, bilang ng output, at mga output. Hindi ito recursive ayon sa disenyo, itinuturing na pinaka-konserbatibong pangunahing panukala, at pangunahing nakatuon sa mga vault, kontrol sa congestion, at ilang pagpapabuti sa Lightning. Simula Abril 2026, ang OP_CTV ay may konkretong mga parameter ng deployment na nakahanda na naglalahad ng Speedy Trial signaling window, ngunit hindi pa nito nakamit ang malawakang pagkakasundo ng komunidad na kinakailangan para sa pag-aktiba, ayon sa Pagsusuri ni BlockEden sa kasunduan para sa Abril 2026.
  • OP_CAT (BIP-347), na iminungkahi nina Ethan Heilman at Armin Sabouri, ay muling magpapagana ng isang opcode na pinatay ni Satoshi noong 2010. Pinagsasama ng OP_CAT ang dalawang item sa stack, na payak sa paglalarawan ngunit malawak ang implikasyon. Kapag pinagsama sa Schnorr signatures, pinapagana nito ang pagsisiyasat sa transaksyon na kahalintulad ng covenant. Sa Bitcoin signet test network, nakabuo ang OP_CAT ng mas maraming transaksyon ng mga developer kaysa sa APO o CTV, ayon sa on-chain na pagsusuri ng sCrypt mula huling bahagi ng 2024. Aktibo na ang OP_CAT sa Liquid Network at Fractal Bitcoin nang walang naiulat na pag-abuso laban dito. Ang BIP-347 ay may opisyal na numero ng panukala at aktibong pananaliksik sa likod nito, ngunit ang pag-aktiba sa mainnet ay nangangailangan ng pagkakasundo ng komunidad na wala pa.
  • Pagpapahusay Pinagsasama ang OP_CTV sa OP_CHECKSIGFROMSTACK (CSFS) at OP_INTERNALKEY, na nakatuon sa mga partikular na pagpapabuti sa pagbuo ng Lightning Network channel, kabilang ang hindi interaktibong pagbubukas ng channel at mas mahusay na pamamahala ng multi-party channel.

Wala sa mga ito ang na-activate sa Bitcoin mainnet hanggang Hunyo 2026. Ang mga teknikal na hindi pagkakasundo sa pagitan nila ay malaking nalulutas. Ang mas mahirap na problema ay ang mekanika ng pag-aktiba. Ang proseso ng soft fork ng Bitcoin ay nangangailangan ng malawakang pagkakasundo, at ang debate tungkol sa covenant ay may natitirang tensyon mula sa mga naunang kontrobersyal na pag-upgrade. Ang malinaw mula sa debate ay may makabuluhang puwang para lumago ang scripting layer ng Bitcoin sa loob ng konserbatibong balangkas nito. Ang katanungang pinag-aaralan ay ang pagsunod-sunod at pagkakasundo ng komunidad, hindi kung may kinabukasan ang wikang scripting.

Konklusyon

Ang Bitcoin Script ay ang hindi nakikitang imprastruktura sa ilalim ng bawat transaksyon sa network. Karamihan sa mga gumagamit ay hindi ito direktang nakakasalamuha. Gumagawa ang mga wallet ng balidong script, pinipirmahan ito, at ini-broadcast nang hindi kailanman inilalantad ang mekanika. Ngunit bawat bayad, bawat Lightning channel, bawat planong may takdang oras, bawat multisig vault ay tumatakbo sa iisang stack-based na Bitcoin scripting language na kasama sa protocol noong 2009.

Ang patong ng scripting ay lumago nang malaki mula noon, kung saan ginawang praktikal ng P2SH ang kumplikadong paggastos, binawasan ng SegWit ang mga bayarin at pinagana ang Lightning, at dinala ng Taproot ang Schnorr signatures, privacy na nakabatay sa MAST, at ang forward-compatible na disenyo ng opcode ng Tapscript. Ang mga panukalang covenant na kasalukuyang aktibong pinag-uusapan ay kumakatawan sa susunod na posibleng kabanata. Kung alin man ang magkakabisa, at saang takdang panahon, ay nananatiling tunay na bukas hanggang kalagitnaan ng 2026.

Hindi kailangang maging developer para maunawaan ang Script. Ngunit kailangan mong kilalanin na ang konserbatismo ng Bitcoin, ang sinadyang mga limitasyon, ang mabagal na dalas ng pag-upgrade, at ang hindi pagiging Turing-kompleto ay hindi isang kakulangan. Ang mga katangiang ginagawang mahuhulaan ang Bitcoin Script ay siya ring mga katangiang nagpanatili ng kalinisan ng layer ng konsensus sa loob ng labing-anim na taon.

Frequently Asked Questions

What does Bitcoin Script actually do?
Bitcoin Script defines the spending conditions attached to every transaction output on the network. When you receive bitcoin, the transaction includes a locking script specifying what must be provided to spend those funds. When you spend them, your wallet produces an unlocking script satisfying those conditions. Every full node validates this independently.
Why doesn't Bitcoin Script have loops?
What is the difference between ScriptSig and ScriptPubKey?
How did Taproot change Bitcoin Script?
Can Bitcoin do smart contracts?
What are Bitcoin covenant opcodes?
What is a UTXO and how does it relate to Bitcoin Script?
What is Miniscript?

Magsimula nang ligtas na mag-invest gamit ang Bitcoin.com Wallet.

Mahigit 85 milyong wallet na ang nalikha hanggang ngayon. Lahat ng kailangan mo para ligtas na bumili, magbenta, magpalitan, at mag-invest ng iyong Bitcoin at cryptocurrency.

A screenshot of the Bitcoin.com Wallet app

I-scan para i-download ang Bitcoin.com Wallet

I-scan ang QR code na ito gamit ang iyong mobile device, awtomatiko kang idirekta sa tamang pahina ng tindahan.