Bitcoin Script

GPTKB entity

Statements (54)
Predicate Object
gptkbp:instanceOf gptkb:programming_language
gptkbp:category Blockchain technology
Cryptocurrency scripting language
Smart contract language
gptkbp:creator gptkb:Satoshi_Nakamoto
gptkbp:documentation bitcoin.org
gptkbp:feature Stateless
Deterministic execution
Limited expressiveness
No loops
No recursion
Simple opcodes
gptkbp:features Designed to minimize attack surface
https://www.w3.org/2000/01/rdf-schema#label Bitcoin Script
gptkbp:influencedBy gptkb:Forth
gptkbp:introducedIn 2009
gptkbp:limitation No direct access to external data
No floating point arithmetic
No network access
No persistent storage
No random number generation
No state between transactions
gptkbp:notableFor gptkb:Atomic_swaps
gptkb:Lightning_Network_contracts
Escrow transactions
Multi-signature wallets
Time-locked transactions
gptkbp:opcode gptkb:OP_CHECKLOCKTIMEVERIFY
gptkb:OP_CHECKSEQUENCEVERIFY
OP_CHECKMULTISIG
OP_CHECKSIG
OP_DUP
OP_ELSE
OP_ENDIF
OP_EQUALVERIFY
OP_HASH160
OP_IF
OP_RETURN
gptkbp:purpose Define conditions for spending bitcoins
gptkbp:supports gptkb:Pay-to-PubKey-Hash_(P2PKH)
gptkb:Pay-to-Script-Hash_(P2SH)
gptkb:Pay-to-Witness-PubKey-Hash_(P2WPKH)
gptkb:Pay-to-Witness-Script-Hash_(P2WSH)
gptkb:Timelocks
Multi-signature transactions
gptkbp:TuringComplete False
gptkbp:type Stack-based language
gptkbp:usedBy gptkb:Bitcoin
gptkbp:bfsParent gptkb:CheckLockTimeVerify
gptkb:Discreet_Log_Contracts
gptkb:OP_CHECKSIGFROMSTACK_proposal
gptkb:Simplicity_(programming_language)
gptkb:Bitcoin_protocol
gptkbp:bfsLayer 7