Skip to main content
Share Your Experience: Take the 2024 Developer Survey
7 votes
Accepted

How did Taproot get its name?

This was answered in the Bitcoin Optech "Preparing for Taproot" series (2021): “I always assumed the origin of the name was ‘taps into the Merkle root’, but I don’t actually know what ...
Michael Folkson's user avatar
6 votes
Accepted

Where was the term "coinbase" first coined, who first used it?

The term "coinbase" was most likely coined by Satoshi through the IsCoinbase method of the CTransaction class. It was both part of the first publicly distributed version of the source code ...
Antoine Poinsot's user avatar
5 votes
Accepted

What is Tapscript?

Script (uppercase S, also Bitcoin Script) is the scripting language used in Bitcoin. Its programs are called "scripts" (lowercase s), often with an adjective based on the location of the ...
Vojtěch Strnad's user avatar
5 votes

Bitcoin network: data-intensive or compute-intensive system?

This is probably one of those situations where any simple answer is inaccurate and misleading. For any mining node, I expect computing costs much more than storage. By a long way. For an individual ...
RedGrittyBrick's user avatar
5 votes

What is "(mempool) policy"?

Standardness refers to a stricter set of rules enforced by full nodes on a transaction in addition to the consensus rules. Policy is an even broader set of rules or processes followed by a node. ...
Antoine Poinsot's user avatar
4 votes
Accepted

What does Pay to Contract (P2C) mean?

The actual protocol as described all the way back in 2012 in the paper Homomorphic Payment Addresses and the Pay-to-Contract Protocol is a bit more complicated, but the basics are as you've described ...
Vojtěch Strnad's user avatar
4 votes
Accepted

What are outgoing and incoming connections and what is the difference between them?

There's a overlap with this post and others but I'll try to directly correct a couple of things here. Why do we have two types of connections, outgoing and incoming? To risk stating the obvious ...
Michael Folkson's user avatar
3 votes
Accepted

Understanding Script's number encoding, CScriptNum

Numbers in Script are represented as byte vectors of up to 4 bytes and interpreted as signed integers between -2^31+1 and 2^31-1. This is with the exception of OP_0, OP_1NEGATE and OP_1 through OP_16 ...
Antoine Poinsot's user avatar
3 votes

What are the scriptPubKey, scriptSig, redeem script and witness for the various output types?

I thought it would be useful to have a text version of the image of a table in Michael Folkson's answer. If only for accessibility reasons. (it initially proved rather too hard to edit into his answer ...
RedGrittyBrick's user avatar
3 votes
Accepted

What is a payment basepoint?

Basepoints are simply public keys from which all other public keys for a certain category (payments, revocation, htlcs, ..) are derived. They are used in order to deterministically generate fresh keys ...
Antoine Poinsot's user avatar
2 votes
Accepted

Is it even possible to spend a stash of 1-sat UTXOs?

They are economically unspendable. If you only had the described 1-sat UTXOs, you would be unable to build a transaction that meets the minimum feerate. Each UTXO requires some blockspace to be spent. ...
Murch's user avatar
  • 75.7k
2 votes
Accepted

What is incremental relay feerate?

minRelayTxFee was used for a few different notions of minimum feerates until these concepts got separated out in 2017. Although all these variables end in …Fee, they actually refer to a fee for one ...
Murch's user avatar
  • 75.7k
2 votes
Accepted

What is pchCommand?

Yes, pchCommand is the name of the variable for the message name in the network message header. The naming of this variable uses Hungarian Notation. p indicates it is a pointer, ch indicates that it ...
Ava Chow's user avatar
  • 70.8k
2 votes
Accepted

What is meant by "non-standard"?

The terms standard and non-standard are specific to transactions. They have no application outside of that. The terms originate from the IsStandard() function in the original Bitcoin software. ...
Lee's user avatar
  • 833
1 vote
Accepted

Where does the term "derivation path" originate

Is "derivation path" the correct term and where did it come from It is very widely used and you can see part of the origins in BIP-44 from 2014-04-24 Path levels We define the following 5 ...
RedGrittyBrick's user avatar
1 vote

What is TXID?Is it used to calculate merkleroot

There are two types of transaction identifiers, TXID and WTXID. TXID represents the result of a double SHA256 of the serialized transaction form without witness data. It is used to uniquely identify ...
LeaBit's user avatar
  • 950
1 vote

What is a nonce?

Yet another info and info, NONCE stands for: Number used ONCE
Faruk Postacioglu's user avatar
1 vote

What are bitcoin "confirmations"?

Confirmations are a measure of how many times a Bitcoin transaction has been verified by the network. When you receive Bitcoin, you will see a number of confirmations in your client. The more ...
Kate Bowman's user avatar
1 vote

What is sigop (signature operation)?

To add to Pieter's answer: The sigops limit and how sigops are counted changed with the activation of SegWit in 2017. The sigop count in pre-SegWit scripts (P2PK, P2PKH, ...) was quadrupled. The block ...
0xb10c's user avatar
  • 1,440
1 vote

How throughput, latency, finality, waiting time are defined?

I can address some of your questions: Throughput shows how many transactions per second the blockchain is processing. Right now, Bitcoin processes 2.98 tx/s with a peak at 10.92 tx/s. Finality refers ...
Nick Grechino's user avatar
1 vote

What is a sane Miniscript? How does it differ to a valid Miniscript?

A WIP "Work In Progress" that may be of interest to you is the Miniscript Templates repo: https://github.com/Blockstream/miniscript-templates One of the goals is to curate miniscript ...
RandyMcMillan's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible