# Request Rate Threshold Exceeded

The purpose of a transaction is to spend outputs by creating new ones, which represents the money flow. To do this, every input $$i_ \in T_$$ uniquely references an output of another previous transaction, i.e., the ones which will be spent, and creates new outputs that can be spent by future transactions. An output $$o_ \in T_$$ carries a value, which is the number of satoshis that this output is worth. A Bitcoin transaction T consists of a sequence of inputs $$T_ = [i_, \ldots , i_]$$ and a sequence of outputs $$T_ = [o_, \ldots , o_]$$ and is uniquely identified by a transaction ID , which is generated by computing a hash of the transaction. Transaction fees will be paid to the miners, which thus prioritize transactions based on their fees, i.e., the higher the fee, the faster the transaction will be mined. Since a block can only be 1 MiB in size, miners will usually consider transaction fees as a function of satoshis per byte of the transaction, i.e., the larger the transaction the larger the nominal value of the fee should be. A satoshi is defined to be such that one Bitcoin (BTC) equals $$10^$$ satoshis. An output can only be referenced once, and the outputs in the blockchain which have not been referenced at any given moment in time is called the set of unspent outputs . Transaction fees are an essential economical element of the Bitcoin network and change constantly depending on the number of transactions in the mempool and how much peers are willing to pay the miners. This reward is a fixed amount, which gets halved every 210,000 blocks, plus the fees of all transactions in the block. Inputs and outputs are therefore uniquely identified by the ID of the transaction which contains them and their index in the input list and output list, respectively. Special transactions without any inputs referencing other outputs are so-called coinbase transactions and are created when a block is mined to reward the miner, which is how Bitcoins are initially created. Every transaction carries an implicit transaction fee , which is the difference between the sum of the values of the outputs and the sum of the value of the referenced outputs. That is, before a miner mines a block, they will first create a coinbase transaction which will be put in the block and rewards them with Bitcoins.
Bitcoin uses the Elliptic Curve Digital Signature Algorithm (ECDSA) to cryptographically secure transactions. The scheme is based on the computational infeasibility assumption of solving the Elliptic Curve Discrete Logarithm Problem (ECDLP), i.e., given two points Q and Qk on the curve, there is no polynomial-time algorithm for recovering k . This derivation is considered secure, as recovering $$\mathsf$$ from $$\mathsf$$ would require solving ECDLP. Bitcoin uses the secp256k1 curve, which is based on the equation $$= x^ + 7>$$ over the finite field $$\mathbb _$$ with the 256-bit prime number  . Furthermore, btc secp256k1 uses a generator point G with the 256-bit group order $$n = 2^ - \mathtt$$ , i.e., n is the smallest number such that $$Gn = 0$$ . To create and verify signatures, we need the notion of a secret key $$\mathsf$$ and a public key $$\mathsf$$ . In the context of elliptic curve cryptography, $$\mathsf$$ is a randomly chosen integer from $$\$$ and the public key $$\mathsf$$ can be derived by multiplying the generator G with $$\mathsf$$ , i.e., $$\mathsf = G\mathsf$$ .