Bitcoin.com

Što je Bitcoin Script jezik?

Programski jezik Bitcoin Script kontrolira svaku BTC transakciju. Saznajte kako opkodi, zaključavajući skripti i Taproot funkcioniraju, objašnjeno jednostavnim engleskim jezikom.

Posljednje ažuriranje
Objavljeno
Vrijeme čitanja3 min čitanja
What is the Bitcoin Script Language?

Bitcoin Script je programski jezik koji kontrolira svaku transakciju na Bitcoin mreži. To je jednostavan, na steku temeljen jezik koji definira točne uvjete pod kojima se bitcoin može potrošiti, a svaki puni čvor na mreži ga izvršava svaki put kad se transakcija potvrdi. Bez njega bi Bitcoin bio samo registar brojeva bez mehanizma za provođenje prava vlasništva.

Većina korisnika nikada ne vidi skriptni jezik Bitcoina izravno. Njihovi novčanici to rješavaju neprimjetno. Ali svaki put kad šaljete ili primate BTC, dva mala programa istovremeno se izvršavaju na tisućama računala, provjeravajući jesu li ispunjeni uvjeti potrošnje. Razumijevanje načina na koji to funkcionira objašnjava mnogo o tome zašto je Bitcoin strukturiran onako kako jest i što može, a što ne može u usporedbi s platformama poput Ethereuma.

Ovaj članak objašnjava kako Bitcoin Script funkcionira, prikazuje glavne vrste transakcija koje omogućuje, objašnjava nadogradnju Taproot koja je 2021. modernizirala sloj skriptiranja i obrađuje stanje rasprave o opkodu za saveze (covenant) u lipnju 2026.

Upravljajte svojim Bitcoinom sigurno uz samostalno čuvanje. Aplikacija Bitcoin.com novčanik.

Ključne poruke

  • Bitcoin Script je programski jezik temeljen na hrpi, ugrađen u Bitcoin protokol, koji definira uvjete pod kojima se bilo koji bitcoin izlaz može potrošiti.
  • Svaka Bitcoin transakcija uključuje dva skripta: skript za zaključavanje (ScriptPubKey) koji postavlja primatelj i skript za otključavanje (ScriptSig) koji dostavlja potrošač. Oba moraju uspješno izvršiti da bi transakcija bila valjana.
  • Bitcoin Script je namjerno ne-Turing potpun. Nema petlji, nema trajnog stanja između izvođenja i ima stroge granice veličine skripte. To jamči da se svaka skripta završi, što je sigurnosna značajka, a ne ograničenje.
  • Skriptni jezik razvio se kroz pet glavnih formata: P2PK, P2PKH, P2SH, SegWit (P2WPKH/P2WSH) i Taproot (P2TR), pri čemu svaki proširuje mogućnosti, a istovremeno ostaje kompatibilan s prethodnim verzijama.
  • Taproot (listopad 2021.) uveo je Schnorr potpise, MAST-om utemeljene putanje trošenja za privatnost i Tapscript kao ažurirani skriptni jezik s ugrađenim mehanizmom za čiže buduće nadogradnje.
  • Praktični slučajevi upotrebe u stvarnom svijetu izgrađeni na Bitcoin Scriptu uključuju novčanike s višestrukim potpisom, vremenski zaključane transakcije, Hash Time-Locked Contracts (temelj Lightning mreže), escrow i Discreet Log Contracts.
  • Za razliku od Ethereum pametnih ugovora, Bitcoin Script je bezstanje: svaki skript se izvršava u potpunoj izolaciji, bez ikakvog saznanja o bilo kojoj drugoj transakciji. To je namjerni arhitektonski izbor.
  • Najaktivnije područje razvoja Bitcoin skripte u 2026. godini su opkodi saveza, osobito OP_CTV (BIP-119) i OP_CAT (BIP-347), koji bi omogućili skriptama da ograniče kako transakcija potrošnje mora izgledati. Nijedan od njih još nije aktiviran na glavnoj mreži.

Što je Bitcoin Script?

Bitcoin Script je skriptni jezik temeljen na steku i bez stanja, ugrađen u Bitcoin protokol. Svaki izlaz transakcije na Bitcoin mreži nosi zaključavajući skript (nazvan ScriptPubKey) koji određuje uvjete za potrošnju sredstava. Svatko tko želi potrošiti ta sredstva mora dostaviti otključavajući skript (nazvan ScriptSig, odnosno u SegWit i Taproot transakcijama podaci svjedoka) koji zadovoljava te uvjete.

Jezik svoju strukturu preuzima iz Fortha, minimalističkog programskog jezika temeljenog na steku, razvijenog 1960-ih. Poput Fortha, Bitcoin Script čita s lijeva na desno, radi na strukturi podataka nazvanoj stack i koristi obrnutu poljsku notaciju (RPN), pri čemu operateri slijede svoje operande umjesto da im prethode. Izvršava jednu instrukciju odjednom, nema petlji i ne zadržava trajnu memoriju između izvršavanja.

Ta posljednja točka je ona s kojom se većina ljudi prva susreće kad uče o Bitcoin Scriptu objašnjenom na razini protokola: jezik je namjerno neturing-kompletan. Turing-kompletan jezik može izvršiti bilo kakvu računsku operaciju ako mu se osigura dovoljno vremena i resursa. Bitcoin Script to po svojoj prirodi ne može, a razlozi tog izbora uvelike utječu na način na koji mreža radi.

Kako Bitcoin Script radi: model steka

Da biste razumjeli kako Bitcoin Script radi, morate razumjeti steku. Stek je struktura podataka koja radi po načelu posljednji u, prvi van (LIFO). Zamislite hrpu tanjura: na nju možete dodavati ili uklanjati samo s vrha. U Bitcoin Scriptu se podaci guraju na vrh hrpe, a opkodi (kodi operacija) manipuliraju onim što se nalazi na vrhu.

Kada Bitcoin čvor potvrđuje transakciju, pokreće dva skripta uzastopno:

  1. Skripta za otključavanje (ScriptSig ili svjedok) Osigurava ga osoba koja troši kovanice. Time se podaci gurnu na gomilu, obično digitalni potpis i javni ključ.
  2. Skript za zaključavanje (ScriptPubKey) priloženo izlazu koji se troši. Ovo sadrži opkode koji djeluju na podatke na stacku i provjeravaju jesu li ispunjeni uvjeti trošenja.

Ako se skripta izvrši bez pogrešaka i na kraju ostavi ne-nultu vrijednost (TRUE) na steku, transakcija je valjana. Ako dođe do pogreške ili ostavi FALSE, transakciju odbijaju čvorovi i nikada ne dospijeva u blok.

Ovo izvršavanje je potpuno bez stanja. Skripta nema saznanja o bilo kojoj prethodnoj transakciji, nema svijest o trenutačnim stanjima i nema memoriju koja se prenosi nakon završetka izvršavanja. Svaka skripta se svaki put pokreće iznova, u izolaciji.

Korak po korak: standardna P2PKH transakcija

Pay-to-Public-Key-Hash (P2PKH) je izvorni tip Bitcoin transakcije, u upotrebi od 2009. P2PKH adrese počinju s "1." Evo kako ScriptPubKey i ScriptSig izgledaju u praksi:

Otključavanje skripte (ScriptSig):

<potpis> <javni ključ>

Kod zaključavanja (ScriptPubKey):

OP_DUP OP_HASH160 <hash javnog ključa> OP_EQUALVERIFY OP_CHECKSIG

Kada čvor spoji i izvrši oboje zajedno, operacije na steku se odvijaju korak po korak:

  • Potpis i javni ključ iz ScriptSiga gurnuti su na gomilu.
  • OP_DUP duplicira javni ključ na vrhu hrpe
  • OP_HASH160 Heshira duplicat (SHA-256 praćeno RIPEMD-160), proizvodeći 20-bajtni hash
  • Hash javnog ključa iz zaključavajućeg skripta gura se na gomilu.
  • OP_EQUALVERIFY Provjerava da se dva hash-a podudaraju. Ako se ne podudaraju, izvršavanje se zaustavlja i transakcija ne uspijeva.
  • OP_CHECKSIG Provjerava da je potpis valjan za javni ključ

Ako svi koraci prođu, hrpa se završava vrijednošću TRUE i sredstva se otpuštaju. Cijeli proces traje milisekunde i na svakom čvoru u mreži se odvija identično.

Objašnjenje Bitcoin opkoda

Bitcoin opkodi su pojedinačne naredbe koje čine skriptu. Svaki opkod je jedan bajt, što omogućuje 256 mogućih slotova. Od toga je otprilike 80 trenutno aktivno na mainnetu. Preostali su ili rezervirani, onemogućeni ili dodijeljeni mehanizmu OP_SUCCESS za buduću kompatibilnost, uvedenom s Tapscriptom.

Opkodi spadaju u nekoliko kategorija:

  • Opkodi za guranje podataka Gurajte vrijednosti poput javnih ključeva, potpisa i hashova na vrh stoga
  • Aritmetički opkodi Izvršiti operacije sabiranja, oduzimanja i uspoređivanja. Napomena: množenje i dijeljenje su onemogućeni.
  • Kryptografski opkodi uključiti OP_SHA256, OP_HASH160, OP_SHA1 za haširanje i OP_CHECKSIG za provjeru potpisa
  • Opkodi za kontrolu protoka Omogući uvjetnu logiku: OP_IF, OP_ELSE, OP_ENDIF, OP_NOTIF
  • Opkodi za manipulaciju stekom uključuju OP_DUP (duplicirati gornji element), OP_DROP (ukloniti gornji element) i OP_SWAP (zamijeniti dva gornja elementa)

Nekoliko opkoda je onemogućio Satoshi Nakamoto 2010. godine nakon što su otkrivene ranjivosti u njihovim izvornim implementacijama. To uključuje OP_CAT (spajanje dvaju stavki na stacku), OP_MUL (množenje) i OP_DIV (dijeljenje). Njihov nedostatak imao je trajne posljedice na ono što Bitcoin Script može izraziti, a nekoliko najaktivnije raspravljanih prijedloga za nadogradnju Bitcoina u 2026. godini odnosi se na to hoće li se neki od njih ponovno omogućiti.

Za potpunu referencu opkoda, uključujući heksadecimalne vrijednosti i opise, Stranica Bitcoin Wiki skripte je mjerodavan izvor.

Zašto je ne-Turingova potpunost prednost

Standardno objašnjenje je da Bitcoin Script nema petlji, pa su skripte zajamčeno ograničene i mreža je zaštićena od beskonačnog izvršavanja. To je točno, ali umanjuje važnost te činjenice.

Dublji argument odnosi se na površinu napada. Turing-potpuni jezik može izraziti bilo kakvu računicu. Ta izražajnost je također prostor u kojem žive bugovi. Ethereumov Solidity proizveo je neke od najskupljih softverskih ranjivosti u povijesti. Hakiranje DAO-a 2016. godine iskoristilo je grešku u ponovnom ulasku (reentrancy) u pametnom ugovoru i prouzročilo gubitke od oko 60 milijuna dolara po tadašnjim cijenama, što je na kraju dovelo do kontroverznog hard forka Ethereum mreže. Širi DeFi ekosustav tijekom više godina pretrpio je gubitke od stotina milijuna dolara uslijed iskorištavanja ranjivosti pametnih ugovora.

Bitcoin Script čini tu vrstu napada strukturno nemogućom. Ne možete napisati Bitcoin skriptu koja poziva druge skripte, izvršava petlje dok se uvjet ne promijeni ili pohranjuje stanje između transakcija. Svaki je skript ograničen, završavajući program koji se može pregledati. Maksimalna veličina skripta je 10.000 bajtova. Maksimalan broj ne-push opkoda po skriptu je 201. Validaor uvijek može izračunati trošak izvršenja u najgorem slučaju prije pokretanja skripta.

Za mrežu koja drži stotine milijardi dolara vrijednosti, ta predvidljivost vrijedi više od fleksibilnosti koju žrtvujete. Ethereum rješava problem neograničene računalne snage ograničenjima gasa, naplaćujući korisnicima za svaki izvršeni opkod i zaustavljajući skripte koje prekorače proračun. To funkcionira, ali uvodi vlastitu složenost i načine kvara. Bitcoin u potpunosti zaobilazi problem dizajnom.

Ipak, "nije Turing-kompletan" ne znači "nesposoban za složenu logiku". Bitcoin Script podržava zahtjeve za trošenje više strana, uvjete temeljene na vremenu, otkrivanje preobrazbe haša i kombinacije svega toga. Lightning Network, koji dnevno usmjerava milijune uplata, u potpunosti je izgrađen na primitivima Bitcoin Scripta.

Vrste skripti: Evolucija od P2PKH do Taproot

Sloj skriptiranja Bitcoina značajno se razvio od 2009. godine, pri čemu svaka nadogradnja uvodi novi format transakcije, a istovremeno ostaje kompatibilan sa svime što je postojalo prije.

P2PK (Plaćanje na javni ključ, 2009)

Izvorni format, korišten u prvim Bitcoin transakcijama, uključujući Satoshijevu isplatu Hal Finneyju u bloku 170. Sredstva su bila zaključana izravno na cijeli javni ključ umjesto na njegov hash. Rijetko se danas koristi u novim transakcijama jer prije potrošnje izlaže javni ključ na lancu, što se smatra slabijom sigurnosnom praksom od prvo hashiranja ključa.

P2PKH (Plaćanje na javni ključ-hash, 2009)

Standardni format više od desetljeća. P2PKH zaključava sredstva na hash javnog ključa umjesto na sam ključ, čime javni ključ ostaje skriven do trenutka potrošnje, proizvodeći kraću 20-bajtnu adresu i čineći osnovu svih adresa koje započinju s "1". Prema on-chain podacima tvrtke Unchained (travanj 2026.), P2PKH adrese trenutačno drže otprilike 43 % rudovanog zaliha bitcoina.

P2SH (Pay-to-Script-Hash, 2012, BIP 16)

Uveden soft forkom 1. travnja 2012., P2SH je prebacio teret složenih skripti za trošenje s pošiljatelja na primatelja. Umjesto ugradnje cijele skripte zaključavanja u izlaz, P2SH izbacuje commit na 20-bajtni hash "skripte za isplatu". Cijeli skript otkriva se tek kada se kovanice potroše. Time je multisig postao praktičan za obične korisnike: postavka multisiga 2 od 3 više nije zahtijevala da su sva tri javna ključa vidljiva pošiljatelju u trenutku plaćanja. P2SH adrese započinju s "3".

Za detaljnu analizu načina na koji P2SH validacija funkcionira na razini protokola, Vodič za transakcije developer.bitcoin.org Korak po korak prolazi kroz mehanizam skripte za otkup.

P2WPKH i P2WSH (izvorni SegWit, 2017, BIP 141)

Segregated Witness, aktiviran u kolovozu 2017. na bloku 481.824, premjestio je podatke potpisa izvan glavnog tijela transakcije u zasebnu svjedodžbenu strukturu. Podaci svjedodžbe dobivaju popust od 75 % na težinu, što transakcije SegWit čini znatno jeftinijima. Standardna transakcija P2WPKH s jednim ulazom i dva izlaza teži otprilike 141 virtualni bajt, u usporedbi s 226 vbytea za ekvivalentnu transakciju P2PKH, prema Sparkova analiza tipova Bitcoin adresa od ožujka 2026. SegWit je također riješio problem podložnosti transakcija, što je bio preduvjet za Lightning Network. Izvorne SegWit adrese započinju s "bc1q."

P2TR (Pay-to-Taproot, 2021., BIP-ovi 340/341/342)

Taproot je aktiviran u studenom 2021. na bloku 709.632 i predstavlja najznačajnije ažuriranje skriptnog sloja Bitcoina od SegWita. Uveo je Schnorr potpise, novu vrstu izlaza s podrškom za MAST i Tapscript kao ažurirani skriptni jezik. Adrese Taproota započinju s "bc1p".

Taproot i Tapscript: Kako se Bitcoinov skriptni jezik promijenio u 2021.

Taproot nije jedna promjena. To su tri prijedloga za poboljšanje Bitcoina osmišljena zajedno i aktivirana istovremeno.

BIP 340: Schnorr potpisi

Bitcoin je izvorno koristio ECDSA (Elliptic Curve Digital Signature Algorithm). Satoshi ga je djelomično odabrao zato što su Schnorr potpisi tada bili zaštićeni patentom. Taj je patent istekao 2008. godine, a Taproot je napokon uveo Schnorr u protokol.

Schnorr potpisi su manji, 64 bajta, u usporedbi s 71–73 bajta za ECDSA. Što je još važnije, podržavaju agregaciju ključeva putem sheme nazvane MuSig2. Agregacija ključeva omogućuje više potpisnika da kombiniraju svoje pojedinačne ključeve i potpise u jedan agregatni ključ i potpis koji je na lancu neprepoznatljiv od običnog plaćanja s jednim potpisom. Trošenje s multisig novčanikom 2-od-3 putem kooperativne putanje ključeva (cooperative key path) Taproota izgleda identično standardnoj uplati na blockchainu. To je stvarna pobjeda u pogledu privatnosti za svakoga tko drži bitcoin u složenom aranžmanu skrbništva.

BIP 341: Plaćanje u Taproot i MAST

P2TR uvodi novi tip izlaza s dvije potrošačke staze:

  • Jedan ključna staza Trošenje pomoću Schnorr potpisa, koristi se kada se sve strane slažu i žele najjednostavniji i najjeftiniji put
  • Jedan Staza skripte trošiti koristeći MAST (Merkelized Abstract Syntax Tree, što je Taproot implementacija tog koncepta)

MAST omogućuje da se jedan izlaz zabilježi u stablo s više skripti za potrošnju putem Merkleova korijena. Prilikom potrošnje, na lancu se otkriva samo specifični uvjet koji je zapravo korišten. Sve ostale moguće staze potrošnje u stablu ostaju trajno skrivene. Za korisnika koji je konfigurirao složenu politiku trošenja, recimo "mogu trošiti normalno, ili dvoje od troje povjerenika mogu trošiti nakon šest mjeseci, ili ključ za oporavak može trošiti nakon dvije godine", na blockchainu se pojavljuje samo put koji se zapravo izvršio.

Od 2024. godine, udio Taproota u Bitcoin transakcijama porastao je na oko 42%, uglavnom potaknut aktivnošću Ordinalsa i BRC-20 upisa, prema podacima Glassnodea koje je Spark citirao u ožujku 2026. Taj je udio od tada varirao u skladu s tržišnim uvjetima, ali je infrastruktura sada standardna u glavnim novčanicima i na burzama. Stranica teme Taproot tvrtke Bitcoin Optech prati tekući razvoj protokola vezanih uz Taproot.

BIP 342: Tapscript

Tapscript je ažurirani skriptni jezik koji se koristi za trošenja putem skripti unutar Taproot. Dijeli većinu opkoda s naslijeđenim Bitcoin Scriptom, ali uvodi nekoliko značajnih promjena:

  • OP_PROVERI_VIŠEPOTPIS i OP_PROVJERI_VIŠEPOTPIS_VERIFIKACIJA su zastarjeli. Stari multisig opkod imao je neobičnost koja je zaobilazno rješenje zahtijevala guranje dummy elementa na stack. Tapscript ga uklanja i zamjenjuje ga s OP_CHECKSIGADD, koji provjerava Schnorrove potpise jedan po jedan i vodi evidenciju. Sheme višestrukog potpisivanja s pragom postaju čišće i jeftinije za izvršavanje.
  • Uklonjene su granice veličine skripti po listu MAST-a. Pojedinačne skripte unutar grane Taproot mogu biti proizvoljno velike.
  • OP_SUCCESS opkodi su najperspektivnija promjena. U naslijeđenom Skriptu, susret s neodređenim opkodom uzrokuje neuspjeh skripte. U Tapskriptu, opkodi u rasponu OP_SUCCESS uzrokuju da skripta uspije bezuvjetno. Budući soft forkovi mogu dodijeliti stvaran ponašanje ovim opkodima dodavanjem ograničenja o tome kada uspijevaju, bez potrebe za novom verzijom skripte ili cjelovitim ciklom ponovne implementacije kroz ekosustav. Nove mogućnosti mogu se dodati Bitcoinovom sloju skripte čišće nego u bilo kojem prethodnom trenutku u povijesti protokola.

Miniskript

Uz Tapscript, srodan projekt nazvan Miniscript postaje sve relevantniji za programere. Miniscript je strukturiran način pisanja podskupa Bitcoin Skripta koji se može analizirati, kombinirati i generički potpisati. Dok sirovi Script zahtijeva ručnu izradu i teško ga je revidirati, skripte Miniscripta mogu se automatski provjeriti na ispravnost i kombinirati u veće politike. Ne proširuje ono što Script može učiniti, već ono što već može učiniti čini znatno pristupačnijim programerima koji razvijaju novčanike i alate za skrbništvo.

Što Bitcoin Script omogućuje: primjeri upotrebe u stvarnom svijetu

Sljedeće vrste transakcija danas su aktivne na glavnoj mreži Bitcoina, sve izgrađene na primitivima Bitcoin Skripte:

Novčanici s višestrukim potpisom (multisig) Zahtijevati M od N privatnih ključeva za autorizaciju potrošnje. Trezor tvrtke mogao bi zahtijevati odobrenja 3 od 5 za bilo kakvo podizanje sredstava. Bračni par mogao bi koristiti 2 od 2 za zajedničku štednju. Uz Taproot i Schnorr agregaciju ključeva, kooperativne multisig transakcije sada su na lancu neprepoznatljive od standardnih transakcija s jednim potpisom.

Transakcije zaključane u vremenu koristite OP_CHECKLOCKTIMEVERIFY (CheckLockTimeVerify, ili CLTV) i OP_CHECKSEQUENCEVERIFY (CheckSequenceVerify, ili CSV) kako biste spriječili premještanje sredstava prije određene visine bloka ili proteklog vremena. Primjene uključuju planiranje nasljeđivanja, rasporede stjecanja tokena za zaposlenike, mehanizme prisparivanja te kaznene transakcije koje se koriste unutar Lightning Network kanala.

Hashirane vremenski zaključane ugovore (HTLC-ovi) Kombinirajte zahtjev za preobrazbu hasha s vremenskom zaključkom. Uvjet trošenja funkcionira ovako: otkrijte preobrazbu ovog hasha prije ove visine bloka, inače se sredstva vraćaju pošiljatelju. HTLC-ovi su osnovna primitiva Lightning mreže, omogućujući nepoverljivo usmjeravanje plaćanja kroz lance kanala između strana koje nemaju izravan odnos.

Depozit Aranzmani zaključavaju sredstva u P2SH ili Taproot skripti koja zahtijeva suglasnost više strana prije otpuštanja, obično uz posrednika treće strane koji drži ključ za odlučivanje u slučaju izjednačenosti.

Diskretni ugovori o vođenju evidencije (DLC) Koristite Schnorrove adapterne potpise temeljene na oraklima kako biste omogućili financijske ugovore koji se namiruju na temelju podataka iz stvarnog svijeta, poput cijenskih feedova ili ishoda događaja, bez potrebe da orakl preuzme skrbništvo nad sredstvima. DLC-ovi su aktivni na glavnoj mreži Bitcoina i koriste se za opcije i terminske ugovore namirene u Bitcoinima.

Bitcoin Script nasuprot Ethereumovim pametnim ugovorima

Bitcoin Script i Ethereumov Solidity definiraju uvjete pod kojima se sredstva mogu premještati, ali predstavljaju suštinski različite arhitektonske izbore. Vrijedi ih usporediti izravno jer razlike objašnjavaju mnogo o kompromisima koje je svaka mreža prihvatila.

Značajka
Bitcoin skripta
Ethereum pametni ugovori
Izvršni model
Zadani na hrpi, bez stanja, ograničeni
Zadani na hrpi (EVM), sa stanjem, s mjeračem plina
Turing-kompletan?
Ne. Nema petlji, zajamčeno da će se završiti.
Da. proizvoljno računanje.
Državno ustrajanje
Nema. Svaki skript se izvršava izolirano.
Ugovori pohranjuju i mijenjaju stanje na lancu.
Primarna svrha
Uslovno trošenje UTXO-a
Programirane aplikacije opće namjene
Zaštita od DoS napada
Strukturno: bez petlji, stroga ograničenja veličine
Gasna ograničenja troškova izvršenja
Privatnost baznog sloja
Poboljšano s Taprootom i MAST-om
Sve javne po zadanome
Sigurnosna povijest
Nije bilo iskorištavanja sloja konsenzusa 16 godina
Značajni eksploati na razini ugovora, milijarde izgubljene
Alati za programere
Opkodi niskog nivoa; Miniscript; Tapscript
Solidity (na visokoj razini), kompajliran u EVM bajtkod
Značajka
Izvršni model
Bitcoin skripta
Zadani na hrpi, bez stanja, ograničeni
Ethereum pametni ugovori
Zadani na hrpi (EVM), sa stanjem, s mjeračem plina
Značajka
Turing-kompletan?
Bitcoin skripta
Ne. Nema petlji, zajamčeno da će se završiti.
Ethereum pametni ugovori
Da. proizvoljno računanje.
Značajka
Državno ustrajanje
Bitcoin skripta
Nema. Svaki skript se izvršava izolirano.
Ethereum pametni ugovori
Ugovori pohranjuju i mijenjaju stanje na lancu.
Značajka
Primarna svrha
Bitcoin skripta
Uslovno trošenje UTXO-a
Ethereum pametni ugovori
Programirane aplikacije opće namjene
Značajka
Zaštita od DoS napada
Bitcoin skripta
Strukturno: bez petlji, stroga ograničenja veličine
Ethereum pametni ugovori
Gasna ograničenja troškova izvršenja
Značajka
Privatnost baznog sloja
Bitcoin skripta
Poboljšano s Taprootom i MAST-om
Ethereum pametni ugovori
Sve javne po zadanome
Značajka
Sigurnosna povijest
Bitcoin skripta
Nije bilo iskorištavanja sloja konsenzusa 16 godina
Ethereum pametni ugovori
Značajni eksploati na razini ugovora, milijarde izgubljene
Značajka
Alati za programere
Bitcoin skripta
Opkodi niskog nivoa; Miniscript; Tapscript
Ethereum pametni ugovori
Solidity (na visokoj razini), kompajliran u EVM bajtkod

Osnovna razdjelna linija je trajnost stanja. Ethereumovi ugovori pohranjuju i mijenjaju podatke koji traju kroz transakcije, čime se omogućuju protokoli za posuđivanje, decentralizirane burze, upravljanje na lancu i standardi tokena. Bitcoin Script nema ekvivalent. Svaki skript se izvršava u vakuumu, bez saznanja o bilo kojoj drugoj transakciji.

Ovo je namjerni arhitektonski izbor, a ne praznina koja čeka da bude popunjena. Skriptni sloj Bitcoina dizajniran je za jednu specifičnu zadaću: provođenje uvjeta za trošenje bitcoina na predvidiv i siguran način, u velikim razmjerima. Za taj posao, bezstanje je prednost. Površina za napad je manja, izvršavanje je determinističko na milijunima neovisnih validatora i ne postoji kategorija eksploatacije pametnih ugovora na razini protokola jer na razini protokola nema ugovora sa stanjem.

Projekti koji žele veću programabilnost na vrhu Bitcoina grade ga u slojevima. Lightning Network obrađuje plaćanja. DLC protokoli obrađuju financijske ugovore referirane na vanjske podatke. Sustavi druge razine poput Arka i Liquid Networka rješavaju različite profile skalabilnosti. Ništa od toga ne zahtijeva izmjenu skriptnog modela osnovne razine.

Debata o savezu: Što bi se moglo promijeniti u Bitcoin skripti

Evolucija Bitcoin skripte oduvijek je bila spora i konzervativna. Trenutno je najaktivnije razvojno područje opkodi saveza, prijedlozi koji bi omogućili skripti da ograniči ne samo tko može potrošiti izlaz, nego i kako mora izgledati rezultirajuća transakcija. Ovo je značajno proširenje izražajne moći skripte.

Vodeći prijedlozi na dan 20. lipnja su:

  • OP_CTV (BIP-119, Provjera predloška), autor Jeremy Rubin, dodaje jedan opkod koji pridružuje UTXO određenom unaprijed definiranom predlošku potrošnje, uključujući verziju transakcije, vrijeme zaključavanja, broj ulaza, sekvence, broj izlaza i izlaze. Po dizajnu je ne-rekurzivan, smatra se najkonzervativnijim glavnim prijedlogom i prvenstveno je usmjeren na trezore, kontrolu zagušenja i određena poboljšanja Lightning mreže. Od travnja 2026. OP_CTV ima konkretne parametre implementacije na stolu koji definiraju prozor za signalizaciju Speedy Triala, ali nije postigao široki konsenzus zajednice potreban za aktivaciju, prema Analiza saveza BlockEdena za travanj 2026..
  • OP_CAT (BIP-347), koji su predložili Ethan Heilman i Armin Sabouri, ponovno bi omogućio opkod koji je Satoshi onemogućio 2010. godine. OP_CAT spaja dva stavka sa staka, što je jednostavno u opisu, ali široko u implikacijama. Kada se kombinira sa Schnorr potpisima, omogućuje introspekciju transakcija nalik ugovoru. Na testnoj mreži Bitcoin signet, OP_CAT je generirao znatno više transakcija programera nego APO ili CTV, prema on-chain analizi tvrtke sCrypt iz kraja 2024. OP_CAT je već aktivan na mreži Liquid i Fractal Bitcoin, a nije mu pripisana nijedna zlouporaba. BIP-347 ima službeni broj prijedloga i aktivno istraživanje iza sebe, ali aktivacija na glavnoj mreži zahtijeva konsenzus zajednice koji još ne postoji.
  • POBOLJŠAJTE spaja OP_CTV s OP_CHECKSIGFROMSTACK (CSFS) i OP_INTERNALKEY, ciljajući specifična poboljšanja u izgradnji kanala Lightning mreže, uključujući neinteraktivno otvaranje kanala i učinkovitije upravljanje kanalima s više sudionika.

Nijedna od njih nije aktivirana na glavnoj mreži Bitcoina do lipnja 2026. godine. Tehnička neslaganja među njima u velikoj su mjeri rješiva. Teži problem su mehanizmi aktivacije. Bitcoinov proces soft forka zahtijeva širok konsenzus, a rasprava o ugovoru nosi preostalu napetost iz prethodnih spornih nadogradnji. Jasno je iz rasprave da Bitcoinov sloj skriptiranja ima značajan prostor za rast unutar svog konzervativnog okvira. Pitanje na kojem se radi jest sekvenciranje i dogovor zajednice, a ne postoji li budućnost za skriptni jezik.

Zaključak

Bitcoin Script je nevidljiva infrastruktura ispod svake transakcije na mreži. Većina korisnika nikada se ne susreće s njim izravno. Novčanici konstruiraju valjane skripte, potpisuju ih i emitiraju ih bez ikakvog otkrivanja mehanike. No svaka uplata, svaki Lightning kanal, svaki vremenski zaključani plan, svaka multisig riznica funkcionira na istoj stack-baziranoj Bitcoin skriptnoj jezici koja je isporučena s protokolom 2009. godine.

Sloj skriptiranja znatno se razvio od tada, pri čemu je P2SH učinio složeno trošenje praktičnim, SegWit smanjio naknade i omogućio Lightning, a Taproot donio Schnorr potpise, privatnost temeljenu na MAST-u i dizajn opkoda Tapscripta kompatibilan s budućnošću. Prijedlozi saveza koji su sada u aktivnoj raspravi predstavljaju sljedeće potencijalno poglavlje. Hoće li se ići na njihovu aktivaciju, i u kojem vremenskom okviru, ostaje doista otvoreno do sredine 2026. godine.

Razumijevanje Skripta ne zahtijeva da budete programer. No, zahtijeva prepoznavanje da Bitcoinov konzervativizam, namjerna ograničenja, spori ritam nadogradnji i neturingova nepotpunost nisu nedostatak. Svojstva koja Bitcoin Skript čine predvidljivim ista su ona koja su sloj konsenzusa održala čistim već šesnaest godina.

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?

Počnite sigurno ulagati s Bitcoin.com novčanikom

Do sada je stvoreno više od 85 milijuna novčanika. Sve što vam je potrebno za sigurno kupovanje, prodaju, razmjenu i ulaganje vaših Bitcoina i kriptovaluta.

A screenshot of the Bitcoin.com Wallet app

Skenirajte za preuzimanje Bitcoin.com novčanika

Skenirajte ovaj QR kod svojim mobilnim uređajem i bit ćete automatski preusmjereni na odgovarajuću stranicu trgovine.