Skip to main content

Questions tagged [transaction-verification]

The process in which every Bitcoin node checks every part of every Bitcoin transaction worldwide for conformance to standard rules and uses the complete history of all previous Bitcoin transactions to check that money being spent in a transaction has not previously been spent in any earlier transaction since the beginning of Bitcoin.

Filter by
Sorted by
Tagged with
0 votes
0 answers
25 views

Is this a scam? [duplicate]

I made an account with karcof.com so someone could pay me. Once the account was created the sender sent me 41k in BTC. So now I have a balance of 41k on my karcof account. I tried to withdraw it but ...
Amber Sowell's user avatar
0 votes
2 answers
31 views

hashTypeCode/sighash flag example byte arrays for each type

Say I have this (randomly selected) transaction confirmed: txprev.txid: 64891cd6a9771adf75b343367850198633d2865df516533f523ce33fdf8c55c2 txprev.version : 01000000 txprev.input count : 01 ...
Lee's user avatar
  • 877
0 votes
1 answer
51 views

What is the hashTypeCode?

After a transaction is serialised ready for signature or signature verification, a 4 byte hashTypeCode must be added (step 9 here). As it's derived from a single byte, it has 256 possible values. What ...
Lee's user avatar
  • 877
0 votes
1 answer
64 views

Can I create multiple OP_RETURN UTxO in single transaction

Is it possible to generate multiple OP_RETURN utxos in one transaction? I see there is an answer for that in 2015, I wonder if it's still the case. I know nothing prevents us from doing so, but ...
Saburo Ronin's user avatar
0 votes
1 answer
50 views

How to validate a bitcoin transaction

Sorry for the noob question, but I just installed bitcoin core last week and am running a full node. I want to verify a transaction I sent to a new coldcard wallet. How do I do this in core?
SatoshiMcHodlpants's user avatar
0 votes
1 answer
47 views

Monitoring a sequence of bitcoin transactions

Me and a person I met on the internet have agreed to a sequence of two btc transactions, but neither of us trusts the other party. We would like to hire a person to monitor the sequence on the ...
gatinueta's user avatar
  • 103
0 votes
0 answers
56 views

Is there anyway to produce the transaction's hash created by sender?

It seems that when someone wants to send Bitcoins, he creates a transaction and the transaction_id will be transaction's hash. after block confirmation this id will be change and we can find out this ...
Mohsen Ghorbani's user avatar
0 votes
1 answer
87 views

How many nodes and edges does the UTXO-coinbase graph have?

Imagine a graph where the leaf nodes are the UTxOs, the intermediate nodes are spent TxOs (vout), the root nodes are the blockheaders and coinbase merklepairs, and the edges are the data required to ...
Lee's user avatar
  • 877
2 votes
1 answer
102 views

What is the point of having a script language now?

When I first started learning how transaction are validated, it made sense why a script language was needed: the scriptPubKey was executed along the scriptSig, the software just executes this "...
mathboi's user avatar
  • 191
2 votes
1 answer
97 views

Does the stack have access to the current block height when validating transaction?

In the "Freezing funds until a time in the future" example here https://en.bitcoin.it/wiki/Script it mentions that the "Top stack item is checked against the current time or block ...
Steve's user avatar
  • 99
0 votes
0 answers
32 views

Using high-level language to verify blocks

I would like to know if there exists a low-level library in Python or any other language that automates the process of verifying blocks, i.e. verifying the hash, the merkle root and the transactions. ...
aleph2's user avatar
  • 111
0 votes
0 answers
52 views

Lib bitcoinconsensus verification returns SCRIPT_ERR_INVALID_STACK_OPERATION on a P2SH multisig output

I tried to verify an old transaction 6a26d2ecb67f27d1fa5524763b49029d7106e91e3cc05743073461a719776192 P2SH multisig input 0 using lib bitcoinconsensus and I got SCRIPT_ERR_INVALID_STACK_OPERATION. ...
Alec Matusis's user avatar
2 votes
1 answer
177 views

Certain spent P2PKH outputs give error: Non-canonical DER signature

Certain rare spent P2PKH outputs give error: Non-canonical DER signature when I try to verify the spent output using both btcdeb (version 5.0.24) and bitcoinconsensus (version 0.20.2, using Rust ...
Alec Matusis's user avatar
2 votes
2 answers
1k views

How does mining verify a transaction?

I’m very much new to understanding this whole bitcoin concept. As far as I’m concerned, nodes mine for a nonce that, when paired with the data of the block, result in a hash that suffices some ...
Johnafoon's user avatar
1 vote
2 answers
171 views

When the validity of scriptPubKey is checked?

I have a couple of questions related to validation of script in transaction output (scriptPubKey). I apologize for a little more text, but I tried to explain in detail what I don't understand. Since ...
dassd's user avatar
  • 1,099
1 vote
1 answer
101 views

Taking the existing INPUT and changing the OUTPUT to steal bitcoins. Is this a possible bitcoin theft scenario and how to prevent it?

I'm relatively new to Bitcoin and I'm wondering how Bitcoin defends against the following scenario and if it's even possible. Before I start with the scenario, just two notes: 1. There is a lot of ...
dassd's user avatar
  • 1,099
1 vote
1 answer
116 views

Do Bitcore APIs have daily limits?

I can't find online if the bitcore API (https://github.com/bitpay/bitcore/blob/master/packages/bitcore-node/docs/api-documentation.md) has daily limits for making requests, or if there is a need to ...
AlexCav's user avatar
  • 51
1 vote
2 answers
618 views

Unconfirmed transaction Bitcoin Core 22.0

I use Bitcoin Core 22.0. I sent a transaction. By mistake I chose a low feerate, and now the transaction is stuck in the mempool, and who knows if anyone will notice it. In previous versions of ...
Ovidiu's user avatar
  • 11
2 votes
1 answer
117 views

Where is a transaction stored before getting added to the mempool?

A transaction is stored in the mempool before it is confirmed. However, the Bitcoin node can't verify incoming transactions with 'light speed' to add them to a mempool—it obviously needs some time. So,...
Nazarevsky's user avatar
1 vote
2 answers
365 views

Does running a standard Bitcoin full node mean your node verifies transactions of other members?

If I install Bitcoin Core and run it as a Full Node, will Bitcoin Core automatically verify transactions from other users? So, just by installing a Bitcoin Core Full Node, could I possibly process ...
user avatar
2 votes
1 answer
144 views

How come an `OP_3` P2SH redeem script is spendable?

I completed a round trip transaction with the redeem script hash: 31vFvEkyAb2iusbPip36H9rVt6pxExuaVR, whose redeem script is OP_3 (0x53) (yes I know not secure). I can understand OP_1 redeem script ...
Peter's user avatar
  • 115
0 votes
1 answer
59 views

Why does the Bitcoin network encrypt the transaction data? [duplicate]

The whole process of encryption sounds useless to me. Miners/validators and full nodes need to verify each transaction. They need two pieces of information: The original transaction data The ...
Curious George 's user avatar
1 vote
1 answer
254 views

Need a detailed step-by-step P2PK signature validation example

In the process of validating transactions by hand with a new library in elixir. I am starting with f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16, which is one of the first P2PK ...
RooSoft's user avatar
  • 157
3 votes
1 answer
82 views

What Lightning Network transaction information is usable to provide a verifiable public index of received payments?

I have in mind a protocol architecture that includes value transfer, where BTC is the unit of account. To make the protocol scalable I could specify use of the Lightning Network protocol. In this case,...
Lee's user avatar
  • 877
3 votes
1 answer
217 views

When was the 10,000 B limit for scripts introduced?

The file src/script/script.h defines a MAX_SCRIPT_SIZE of 10,000 B. Among other instances, the MAX_SCRIPT_SIZE is used in the IsUnspendable() check, which allows us to avoid adding outputs with ...
Murch's user avatar
  • 76k
2 votes
1 answer
83 views

What rules does a node execute to determine if a transaction is valid and propagate it to other nodes?

How does a node decide whether a transaction is valid and whether to propagate it to other nodes? Could you please mention some of the basic rules that nodes follow for such a purpose?
Nikolas's user avatar
  • 45
4 votes
2 answers
1k views

Why does IsCoinBase() check if there is exactly one input?

In the Bitcoin Core source code there is a function to check if a given transaction is a coinbase or not: bool IsCoinBase() const { return (vin.size() == 1 && vin[0].prevout....
Amir reza Riahi's user avatar
1 vote
2 answers
176 views

When The Unlocking Script Is Created, Who Verifies The Script?

I am familiar with the many ways an unlocking script is created. But in this scenario, lets use P2PKH. When we generate the unlocking script (excuse the simplicity): <dup> <hash160> <...
Jamo's user avatar
  • 167
1 vote
1 answer
140 views

The true reason bitcoin needs merkle proof for SPV wallet?

I know exactly what merkle tree is, and I know it is used to verify a transaction is in a block with just a hundred of bytes flowing through my network cable (btw do I really lack that megabytes ...
cifer's user avatar
  • 151
0 votes
1 answer
61 views

Is there a way to know how many of currently unconfirmed transactions in the MemPool is currently being attempted by other miners?

Assume there there 100 unconfirmed transactions currently in the MemPool. And the size of a block is such that it's roughly made up of 10 transactions. Now when a miner completes the Proof of Work &...
user93353's user avatar
0 votes
3 answers
114 views

What algorithm do miners use to validate individual transactions in a broadcasted solution before accepting it to their blockchain?

If proof of work is a consensus algorithm that guards against malicious nodes from adding faulty blocks, what actually happens when a miner successfully confirms a fraudulent block (i.e. a block that ...
Wonjae Oh's user avatar
1 vote
2 answers
115 views

Curiosity, Minimal transaction accepted as valid? (zero input/ zero output)

$ bitcoin-cli decoderawtransaction 00000000000000000000 { "txid": "f702453dd03b0f055e5437d76128141803984fb10acb85fc3b2184fae2f3fa78", "hash": "...
Michael Tidwell's user avatar
1 vote
1 answer
738 views

Does every single node in the blockchain validate the transactions in the mempool?

I have read several responses to various questions SE. Some responses partially respond to the question so I was hoping to get your help to bridge my gaps in understanding. Does every single node on ...
HeyDoeFarm's user avatar
0 votes
2 answers
62 views

What databases is used to see if a transaction is valid?

When you check a transaction before adding it to a block what data source is used as a source to make sure all the coinbase transactions are valid.
PurpleMoneys89's user avatar
0 votes
1 answer
99 views

Using EQUALVERIFY with different public keys, but generated from the same seed

I am building certain system that involves Bitcoin and therefore I need to understand well how it works under the hood. In order to receive funds, for every new transaction new public key and its hash ...
Boki XD's user avatar
  • 57
1 vote
1 answer
257 views

How and when do nodes stop broadcasting a transaction?

Suppose a node begins broadcasting a signed transaction. Question 1. At what stage is the signature verified? In §5 of the whitepaper, verification only appears during block acceptance after mining. ...
user516728's user avatar
1 vote
3 answers
96 views

Why can't I modify someone else's transactions, if I have their signature data?

As I know, signature system is adding signature to end of transaction. And doesn’t hash transaction, so others can know my signature. If I can send a message directly to the node, can I use other’s ...
Jumo Kang's user avatar
1 vote
1 answer
153 views

How many times and where exactly is ECDSA used in Bitcoin?

I'm currently a little confused about where exactly ECDSA is used in the transaction process... some resources seem to say it's used once, whereas others seem to say it's used three times. Which is ...
compp's user avatar
  • 13
1 vote
1 answer
66 views

Trying to understand a nonstandard transaction in bitcoin tests

I am trying to implement a bitcoin script interpreter and today I stumbled upon a nonstandard transaction in tx_valid.json which gave me a lot of headaches. The transaction in question has the ...
giacomocaironi's user avatar
0 votes
1 answer
153 views

Why is OP_XOR disabled? Are there any forks on which it has been enabled? [duplicate]

Why is OP_XOR disabled? Are there any forks on which it has been enabled? Are there any plans to enable it? Perhaps this is the answer, still perhaps there is another reason for the bitwise logic ...
Lee's user avatar
  • 877
0 votes
2 answers
91 views

Can the order of transactions not strictly follow the chronological order?

Suppose I have 1 bitcoin, I give Alice 0.2 bitcoin first, then Bob 0.2 bitcoin immediately, both transactions are legal can miners reverse the chronological order when packing block ? If (1) is true, ...
KHJUAF403456ZS3K564WAEF's user avatar
2 votes
1 answer
312 views

How does validating a transaction get more and more hard?

As far as I know, to prevent double-spend attack and to confirm that a specific transaction is valid, miners have to go through all blocks in the blockchain and check the sender's history of ...
Amir reza Riahi's user avatar
3 votes
1 answer
281 views

Bitcoin transaction script debugging strategy - how to debug 'invalid script' errors

I've been playing around with DLC transactions but I can't seem to create a valid CET transaction to conclude simple all or nothing bets. Further details below on my specific case, though this ...
satirn's user avatar
  • 308
0 votes
1 answer
141 views

Are the block headers kept in memory?

Bitcoin Core keeps block data as files in the file system and blocks indexes in a LevelDB database to make the search process of transactions and blocks faster. But Bitcoin Core also stores block ...
MHT's user avatar
  • 13
0 votes
1 answer
885 views

Watch incoming transaction with node.js

I would like to watch a set of Bitcoin addresses and be able to execute some logic as they receive a payment. According to this answer it can be done using blockchain.info: const Socket = require('...
forhas's user avatar
  • 137
0 votes
2 answers
155 views

Block 170 transaction validation in the old days

I'm trying to understand how to validate the first non-coinbase transaction, that is transaction 1 of block 169, as it was validated in the old days. This transaction has one input, which decoded ...
StashOfCode's user avatar
1 vote
3 answers
173 views

How much time do miners spend validation?

Before mining, miners have to validate previous block and transactions which exist in mempool. Then, they pick up some validated transactions from pool and start mining on top of validated block using ...
pepperoni's user avatar
1 vote
1 answer
55 views

Why there are signature and public key pair on blocks when transaction verifying is over

I'm student studying about bitcoin and blockchain. I want to know why all blocks have signature and key pair after the transaction is over. Why I ask this, I'm studying post quantum cryptography (PQC) ...
hhhbbb's user avatar
  • 27
1 vote
1 answer
84 views

What's the difference between an 'address' and an 'addressHash' in a transaction on a bitcoind node?

I'm listening to a ZMQ socket; it's sending out messages every time my node receives a transaction. The message is the binary value of the transaction itself. When I decode the binary (using a tool in ...
PhlipPhlops's user avatar
0 votes
1 answer
37 views

Bitcoin transaction validation is not based on a static pattern, but instead is achieved through the execution of a scripting language

What is static pattern and why it is not used in transaction validation and why execution pattern is used through the scripting language i am a bit confused need a clear explanation.
Matta Rithik Reddy's user avatar

1
2 3 4 5
7