Questions tagged [script]

This tag should be used for questions regarding Bitcoin transaction scripts or scripting languages used in transactions of altcoins such as Solidity. Scripts are a set of instructions on how to complete a transaction.

Filter by
Sorted by
Tagged with
1
vote
1answer
153 views

Bitcoin's script expressivity

I'm conscious that Bitcoin's script is not turing complete, as multiple answers point out (e.g., this answer and this one). But I'm wondering if script can express the language of a PDA or ...
1
vote
1answer
46 views

Can I use opcodes traditionally used for verifying keys to verify payment sizes?

Can I use binary opcodes usually used for verifying keys to verify payment sizes? It looks like these opcodes like OP_EQUALVERIFY and OP_NUMEQUALVERIFY are used for checking signatures or keys, ...
1
vote
1answer
596 views

Bitcoin core multisig signing order

I have a technical question regarding the signrawtransaction function in Bitcoin core when signing a partially-signed transaction. I have tested different scenarios and signrawtransaction will always ...
1
vote
1answer
921 views

Why are Virtual Machines used in Ethereum?

I'm wondering why the Ethereum Virtual Machine (EVM) is used? What if they didn't use it? Why don't we have them in Bitcoin?
1
vote
2answers
3k views

How to manually verify a signature given scriptSig and scriptPubKey?

First transaction Given a transaction on the blockchain: 3a1b9e330d32fef1ee42f8e86420d2be978bbe0dc5862f17da9027cf9e11f8c4 One of the outputs transfers 424,242.42424242 BTC to ...
1
vote
1answer
241 views

P2SH (pay to script hash) within a script?

BIP16 P2SH defines special rules to apply on scripts with a specific pattern, namely: OP_HASH160 <scriptHash> OP_EQUAL. My question is: Can a P2SH be used within a script? So can I e.g. make a ...
1
vote
2answers
283 views

txout script criteria (scriptpubkey critieria)

what is the criteria for a txout script to be accepted into a mined block? is there any criteria at all? the reason i ask is that OP_RETURN is regularly used in txout scripts yet it is not spendable: ...
1
vote
1answer
329 views

Does createrawtransction accept scriptPubKey and redeemScript as inputs?

According to the built-in RPC documentation the signature for createrawtransaction is: createrawtransaction [{"txid":"id","vout":n},...] {"address":amount,...}. Gavin in his example on 2-of-3 ...
1
vote
1answer
161 views

Can someone explain this [outdated] BIP12 OP_EVAL exploit?

I understand that BIP12 was withdrawn, and probably because of this exploit below. Can someone explain how this attack would have worked and the effect it would have on the network? for (;;) { ...
1
vote
1answer
37 views

Is there a difference between OP_PUSHBYTES and OP_PUSHDATA

In some documentation about Script we sometimes have to use OP_PUSHBYTESx or OP_PUSHDATAx to indicate that some number of bytes will be an element to read. They seem to do the same thing so is there a ...
1
vote
1answer
86 views

WitnessScript vs. Script Witness

In BIP 174/PSBT, there is a PSBT Input key-value pair called "PSBT_IN_WITNESS_SCRIPT" (0x05) and another called "PSBT_IN_FINAL_SCRIPTWITNESS" (0x08). What is the difference between ...
1
vote
2answers
44 views

About Bitcoin Core

I have just downloaded the Bitcoin Core from https://bitcoin.org/en/download I would like to ask the following since I have read the following article: https://blockgeeks.com/guides/best-bitcoin-...
1
vote
3answers
66 views

What are some good solutions for analyzing Bitcoin script patterns?

I'm interested in analyzing the Bitcoin blockchain for occurrences of particular scripts and spending patterns. What are some good solutions for this? An ideal solution would let me filter ...
1
vote
1answer
98 views

Is a script spendable if multiple items are left on the stack?

Is a script spendable if the top item left on the stack evaluates to "TRUE", and that is the only item left in the stack? In other words, is it okay for multiple items to be left on the stack? For ...
1
vote
1answer
531 views

Bitcoin TX decode failed while sending to a the network(regtest)

I have created a signature manually (referring the signature output formats in bitcoin-cli). But i tried to send the same to the network I am getting error code: -22 error message: TX decode ...
1
vote
1answer
53 views

Bitcoin script (pay-to-pubkey-hash)

Example for 'pay-to-pubkey-hash' is quoted in Wiki bitcoin script. I have a doubt that 14 is for bytes to push. But the data to push is 20 bytes. Please anyone could explain to me? Script: 76 --> ...
1
vote
1answer
427 views

Bitcoin raw transaction with manually created redeem script

I am running bitcoin in regtest mode with 2 nodes bitcoinNode1 and bitcoinNode2.I have created a redeem script by writing the opcodes and converted into hex form using btcc. HP-ProBook-440-G4:~$ btcc ...
1
vote
1answer
62 views

How to generate an output address from output scrips which start with 0x00?

A few days ago, I got a BITCOIN traffic which contains some tx message. some of tx messages contain witness data. I want to produce all output addresses from transaction output scripts. I extracted ...
1
vote
2answers
96 views

How to extract raw script from tx messages when the output script starts with 0xA9?

I'm working on extracting output addresses from tx messages in BITCOIN packets. Currently, I extract address from output scripts which starts with 0x76(OP_DUP) like this : 76 a9 14 6d 1d 74 58 95 6e ...
1
vote
1answer
137 views

Script Null into raw trasaction bitcoin core

I'm developing a parser for bitcoin core and into the alpha test of the parser,I noticed than the script bitcoin core are null and the hash raw transaction exist. An example: for this transaction the ...
1
vote
2answers
153 views

How to search for a transaction using a specifc OPCODE?

I have several OPCODES where I need real worlds examples… However they are rarely used. So how to search and disassemble an existing mined transaction using it ?
1
vote
1answer
325 views

what is the use of OP_PUSHBYTES

what is the meaning of this SCRIPTPUBKEY: OP_DUP OP_HASH160 OP_PUSHBYTES_20 xxxxx....xxxxxxxx OP_EQUALVERIFY OP_CHECKSIG in particular I searched for some documentation on OP_PUSHBYTES_X which only ...
1
vote
1answer
731 views

Bitcoin Script: mandatory-script-verify-flag-failed Script failed an OP_EQUALVERIFY operation

I try to spend a P2SH transaction (in regtest) with a timelockscript of 200 blocks. I got the following error: mandatory-script-verify-flag-failed (Script failed an OP_EQUALVERIFY operation) (...
1
vote
1answer
943 views

Script evaluated without error but finished with a false/empty top stack element

I'm trying to spend coins from this tx https://tchain.btc.com/ad7a1ed858eecdd146d9c932779aecae4b33f068d29cf794fad6de20f5a5d449 The scriptpubkey is simple: 1 OP_CHECKSEQUENCEVERIFY OP_DROP ...
1
vote
1answer
85 views

Is it safe to store bitcoins on p2sh (no multisig)?

I've just generated p2sh btc address and look in the output script: HASH160 PUSHDATA(20)[e5c32bdc7f7fb1e6ae7aa1baf42a429803054d2c] EQUALVERIFY while normal (legacy btc address) transaction has ...
1
vote
1answer
342 views

How OP_CHECKSIG knows the source of sig in pay to pubkey hash transaction

https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address_.28pay-to-pubkey-hash.29 The last step of pay to pubkey hash transaction is to check the signature of the previous ...
1
vote
1answer
272 views

Bitcoin RIPEMD160 purpose

Bitcoin uses RIPEMD160 on top of SHA256. Is its sole purpose to make public key address shorter or does it strengthen security in any way?
1
vote
2answers
1k views

What redeem script is used in bitcoin core wallet when generate the address?

I'm trying to generate the address 38DGj87axzmQiZeAd1w1y5FEmuu5a7pfBa in my bitcoin core wallet with code. First, I dump the private key from the address, then I calculate the address from the ...
1
vote
1answer
220 views

Ho to identify a multisig transaction?

79fbae117dc38effafb33304af83ce4894589747aee1ef992f63280567f52f5ba870678b4ab4ff6c8ea600bd217870a8b4f1f09f3a8e8353aeffffffff0130d90000000000001976a914569076ba39fc4ff6a2291d9ea9196d8c08f9c7ab88ac00000000 ...
1
vote
1answer
124 views

Where to find the sighash type?

Where can I find the sighash type specified in a script? Is it included in the scriptsig?
1
vote
1answer
490 views

ScriptSig field during P2PKH transaction signature

In P2PKH transactions, the content after signing the transaction contains: <signature(with hash_flag)><public_key>. However, since the signature can't sign itself, during the signature ...
1
vote
1answer
301 views

Why transaction is signed with locking script from the input transaction?

Finally, I've successfully made a raw transaction with Python and this is the last thing, which is totally mistic for me. In my case, here's the input transaction and it's locking script is: OP_DUP ...
1
vote
2answers
556 views

Types of ScriptPubKey that can contain addresses

I'm trying to get the addresses from the ScriptPubKeys in each transaction (where possible). So far, I know of two patterns of ScriptPubKey where an address can be found: 1. Pay-To-Pubkey ...
1
vote
1answer
167 views

If transaction has impossible locking script, are coins lost?

If a bitcoin transaction's outputs have a locking script that is basically unsolvable, are the bitcoins lost, or can the transaction be invalidated? (Or something else?)
1
vote
3answers
161 views

Is there a way to create a transaction that it can only be confirmed after another unrelated transaction has been confirmed?

Is there a way to create a transaction A that cannot be confirmed until B has been included in a block, although A does not build on any UTXO B creates? B would have already been broadcast by another ...
1
vote
1answer
1k views

OP_CHECKSIG signature hash type 0

On the Bitcoin Wiki's OP_CHECKSIG documentation: Firstly always this (the default) procedure is applied: the public key and the signature are popped from the stack, in that order. If the ...
1
vote
1answer
380 views

Script. OP_PICK/OP_ROLL

OP_PICK should take the nth element from the back of the stack and take it on top: for input xn ... x2 x1 x0 gives xn ... x2 x1 x0 xn I have used it in some scripts, but I've noticed some strange ...
1
vote
1answer
629 views

Redeem bitcoins of non-standard transactions made with eligius

As I understand it, Eligius is the only miner pool accepting non-standard transactions. The Opcodes for the scripts are here. Some use cases for non-standard transactions can be found here. My ...
1
vote
1answer
241 views

how to get one address from two public keys?

Parsing an input script of a transaction, I’ve come across two public keys in the script. Either public key is 33 byte long. I know how to transform a single 33 byte long public into an address. ...
1
vote
1answer
131 views

Why does the script contain the hash of the public key

The ScriptPubKey contains the hash of the public key, and this is compared to the public key in the ScriptSig. It is not possible to derive the public key from the hash (address). But when the output ...
1
vote
1answer
71 views

What happens when a transaction script for mining is used for fund transfer?

So, through an odd bug in hacking some stuff onto Bitcoin, I encountered a peculiar thing. Basically, I managed to generate an transaction with 2 outputs. The first output was a typical txout DUP ...
1
vote
1answer
541 views

How does Multi-Signature Pay 2 Script Hash (P2SH) enable stronger security?

Coinfloor says it will pay out withdrawals using Multi-Signature Pay 2 Script Hash. What is Multi-Signature Pay 2 Script Hash? I read What is "Script Hash" address exactly and how does it ...
1
vote
1answer
144 views

scriptPubKey consisting of the only hash

I found out that some transactions have strange scriptPubKey in their outs. They only contain a hash and nothing more. An example can be seen in JSON-view of block 200639: { "value":"0.00000000", ...
1
vote
1answer
24 views

Script: How to check if the top item on the main stack is numeric or not?

I'm looking for the clearest way to check whether the top element of the stack is numeric or not. Thank you in advance
1
vote
1answer
46 views

Bitcoin Native Script Language

I am intrigued by this Bitcoin Script Language, I want to learn how to program Bitcoin with it. Any idea where I can, find some documentation to read/practice with ?
1
vote
1answer
24 views

Read the “value” being redeemed in a Bitcoin P2SH Script

Is there any way for a Bitcoin P2SH Script to read the amount of Satoshis being redeemed?
1
vote
1answer
49 views

Taproot - Eliminating Key Path

I want to struct a transaction output the key-path of which I want to be eliminated, so enforcing only the script path. In order to eliminate key-path, in my opinion, I should set "Internal ...
1
vote
1answer
48 views

Could CHECKSIGADD be used on new ECDSA multisignatures instead of CHECKMULTISIG?

The proposed Taproot soft fork (BIP 342) defines the new opcode OP_CHECKSIGADD to verify Schnorr multisignatures whilst OP_CHECKMULTISIG (and OP_CHECKMULTISIGVERIFY) are disabled for Taproot spends (...
1
vote
1answer
228 views

Bech32 Multisig error: Witness requires empty scriptSig (code 64)

I've been able to do multisig between two addresses from electrum and one from bitcoind. [root@test bin]# bitcoin-cli -testnet getnewaddress n3JewuY82cprdRvxHdRNG8C3iTkJBKeLbz [root@test bin]# ...
1
vote
1answer
108 views

What is the scriptCode in a P2WSH transaction?

Let's say I am spending from a 2-of-2 multisig with this script: ...

1
4 5
6
7 8
10