Say I am a node (M1) in the bitcoin network who wishes to spend some set of bitcoins (T). M1 selects address (A1) with an associated node (M2) that he wishes to transact with and uses some process (F) involving T's private key to sign over T to A1 to be controlled by M2.

My question is how does T get broadcast to the bitcoin network? What model does the software enforce to announce a transaction has occurred? How is this message relayed and what kind of bandwidth does the relay require? Do all nodes reach participate in the transaction relay or just some? How does a miner decide to verify transaction T during his block solution hunt? How many transactions are considered to be a minimum for a block and how many are considered to be a maximum? And finally how long does a miner wait to fill his transaction queue for a given block solution hunt?

  • Why is M1 a node, but M2 is an address?
    – Nick ODell
    Commented Apr 27, 2013 at 2:41

1 Answer 1


You add the transaction T to your (the sender's) unconfirmed transactions pool. From there on, it is treated like any other transaction. Then, your client will send a "inv" message to it's peers saying it has a transaction with hash H. (H being the hash of T) If the peers don't have it, they will send a "gettx" message requesting it, and your client will send it to them. They then add it to their list of unconfirmed transactions and they will do the same thing with their peers.

  • What are the maximum and minimum sizes of a set of transactions associated with a block being mined? Commented Apr 27, 2013 at 3:03
  • Maximum is 1 megabyte. (Transactions are different sizes) Minimum is 1 transaction (You need the coinbase transaction where coins are made out of thin air as reward to the miner)
    – lurf jurv
    Commented Apr 27, 2013 at 16:33
  • Also, the miner is constantly mining, no matter how many transactions he currently has.
    – lurf jurv
    Commented Apr 27, 2013 at 16:34
  • So has anyone modeled the transaction fill versus solution time? What are the average amount of transactions verified per block? I also assume miners can choose to verify only transactors who give fees? Commented Apr 28, 2013 at 22:19
  • 1
    It varies, but the average of the last 10 blocks is 330 transactions per block. That's about 1.8 transactions per second.
    – lurf jurv
    Commented May 3, 2013 at 0:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.