Maximum number of inputs per transactionCan we interpret a rolling average transaction count per block as the 'adoption curve' for Bitcoin?Recommended Transaction SizeOptimising the inputs for a transactionWhat is the maximum number of output addresses I can send to with one bitcoin transaction?Get transaction fees per transaction via gettransactionWhat would be the implications of limiting Bitcoin transactions to fifty inputs?Determine inputs/outputs of a transaction before sendingIs there a maximum fee per byte in satoshis?Why does Bitcoin need transaction fees prior to hitting its maximum coin limit?What happens if “transaction size” is larger than “maximum block size”?

if condition in the past

Has there ever been an airliner design involving reducing generator load by installing solar panels?

NMaximize is not converging to a solution

What's that red-plus icon near a text?

meaning of に in 本当に?

Replacing matching entries in one column of a file by another column from a different file

Operational amplifier as a comparator at high frequency

Why are electrically insulating heatsinks so rare? Is it just cost?

How old can references or sources in a thesis be?

Why can't I see bouncing of switch on oscilloscope screen?

What does "Puller Prush Person" mean?

Decision tree nodes overlapping with Tikz

Mutually beneficial digestive system symbiotes

What is the word for reserving something for yourself before others do?

Was any UN Security Council vote triple-vetoed?

Languages that we cannot (dis)prove to be Context-Free

Horror movie about a virus at the prom; beginning and end are stylized as a cartoon

Can a monk's single staff be considered dual wielded, as per the Dual Wielder feat?

Arrow those variables!

Rock identification in KY

How can bays and straits be determined in a procedurally generated map?

How do I deal with an unproductive colleague in a small company?

How does one intimidate enemies without having the capacity for violence?

Is it unprofessional to ask if a job posting on GlassDoor is real?



Maximum number of inputs per transaction


Can we interpret a rolling average transaction count per block as the 'adoption curve' for Bitcoin?Recommended Transaction SizeOptimising the inputs for a transactionWhat is the maximum number of output addresses I can send to with one bitcoin transaction?Get transaction fees per transaction via gettransactionWhat would be the implications of limiting Bitcoin transactions to fifty inputs?Determine inputs/outputs of a transaction before sendingIs there a maximum fee per byte in satoshis?Why does Bitcoin need transaction fees prior to hitting its maximum coin limit?What happens if “transaction size” is larger than “maximum block size”?













3















In theory, what is the maximum number of inputs per transaction? Is it defined primarily by the maximum number we can store on the 9 byte varint?



How big of a number can be stored on 9 bytes?



Would such a transaction even fit in a block if it had just 1 output?










share|improve this question


























    3















    In theory, what is the maximum number of inputs per transaction? Is it defined primarily by the maximum number we can store on the 9 byte varint?



    How big of a number can be stored on 9 bytes?



    Would such a transaction even fit in a block if it had just 1 output?










    share|improve this question
























      3












      3








      3








      In theory, what is the maximum number of inputs per transaction? Is it defined primarily by the maximum number we can store on the 9 byte varint?



      How big of a number can be stored on 9 bytes?



      Would such a transaction even fit in a block if it had just 1 output?










      share|improve this question














      In theory, what is the maximum number of inputs per transaction? Is it defined primarily by the maximum number we can store on the 9 byte varint?



      How big of a number can be stored on 9 bytes?



      Would such a transaction even fit in a block if it had just 1 output?







      transactions transaction-input input






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Apr 2 at 4:19









      Pedro GonçalvesPedro Gonçalves

      646




      646




















          1 Answer
          1






          active

          oldest

          votes


















          3














          No, the number that can be represented by the varint has no effect on the maximum number of inputs. That number is far too large. Rather the maximum number of inputs is constrained by the block size.



          If it really matters to you what the maximum number that a varint can represent is, it's just the maximum value for a 64-bit integer. That's 0xffffffffffffffff. There's really no constraints on what a varint can represent. A transaction with such a number of inputs would not fit in a block, nor would it fit on any existing single storage medium as that transaction would be at least 664.1 Exabytes in size.



          The maximum number of inputs that can fit in a valid transaction is 27022.



          Such a transaction would not use segwit, so we use the maximum block size without segwit of 1000000 bytes. Subtract the 146 for the header and coinbase transaction to get 999854 bytes for the transaction. Subtract 4 bytes for the version, 4 bytes for the locktime, 1 byte for output count, 8 bytes for output value, 1 byte for output script, and 2 bytes for input count. This leaves us with 999833 bytes. With 37 bytes per input (32 previous txid, 4 output index, and 1 for script length), there can by 27022 inputs.






          share|improve this answer




















          • 2





            To note, that includes zero security or signatures.

            – Anonymous
            Apr 2 at 6:11











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "308"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f85752%2fmaximum-number-of-inputs-per-transaction%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          No, the number that can be represented by the varint has no effect on the maximum number of inputs. That number is far too large. Rather the maximum number of inputs is constrained by the block size.



          If it really matters to you what the maximum number that a varint can represent is, it's just the maximum value for a 64-bit integer. That's 0xffffffffffffffff. There's really no constraints on what a varint can represent. A transaction with such a number of inputs would not fit in a block, nor would it fit on any existing single storage medium as that transaction would be at least 664.1 Exabytes in size.



          The maximum number of inputs that can fit in a valid transaction is 27022.



          Such a transaction would not use segwit, so we use the maximum block size without segwit of 1000000 bytes. Subtract the 146 for the header and coinbase transaction to get 999854 bytes for the transaction. Subtract 4 bytes for the version, 4 bytes for the locktime, 1 byte for output count, 8 bytes for output value, 1 byte for output script, and 2 bytes for input count. This leaves us with 999833 bytes. With 37 bytes per input (32 previous txid, 4 output index, and 1 for script length), there can by 27022 inputs.






          share|improve this answer




















          • 2





            To note, that includes zero security or signatures.

            – Anonymous
            Apr 2 at 6:11















          3














          No, the number that can be represented by the varint has no effect on the maximum number of inputs. That number is far too large. Rather the maximum number of inputs is constrained by the block size.



          If it really matters to you what the maximum number that a varint can represent is, it's just the maximum value for a 64-bit integer. That's 0xffffffffffffffff. There's really no constraints on what a varint can represent. A transaction with such a number of inputs would not fit in a block, nor would it fit on any existing single storage medium as that transaction would be at least 664.1 Exabytes in size.



          The maximum number of inputs that can fit in a valid transaction is 27022.



          Such a transaction would not use segwit, so we use the maximum block size without segwit of 1000000 bytes. Subtract the 146 for the header and coinbase transaction to get 999854 bytes for the transaction. Subtract 4 bytes for the version, 4 bytes for the locktime, 1 byte for output count, 8 bytes for output value, 1 byte for output script, and 2 bytes for input count. This leaves us with 999833 bytes. With 37 bytes per input (32 previous txid, 4 output index, and 1 for script length), there can by 27022 inputs.






          share|improve this answer




















          • 2





            To note, that includes zero security or signatures.

            – Anonymous
            Apr 2 at 6:11













          3












          3








          3







          No, the number that can be represented by the varint has no effect on the maximum number of inputs. That number is far too large. Rather the maximum number of inputs is constrained by the block size.



          If it really matters to you what the maximum number that a varint can represent is, it's just the maximum value for a 64-bit integer. That's 0xffffffffffffffff. There's really no constraints on what a varint can represent. A transaction with such a number of inputs would not fit in a block, nor would it fit on any existing single storage medium as that transaction would be at least 664.1 Exabytes in size.



          The maximum number of inputs that can fit in a valid transaction is 27022.



          Such a transaction would not use segwit, so we use the maximum block size without segwit of 1000000 bytes. Subtract the 146 for the header and coinbase transaction to get 999854 bytes for the transaction. Subtract 4 bytes for the version, 4 bytes for the locktime, 1 byte for output count, 8 bytes for output value, 1 byte for output script, and 2 bytes for input count. This leaves us with 999833 bytes. With 37 bytes per input (32 previous txid, 4 output index, and 1 for script length), there can by 27022 inputs.






          share|improve this answer















          No, the number that can be represented by the varint has no effect on the maximum number of inputs. That number is far too large. Rather the maximum number of inputs is constrained by the block size.



          If it really matters to you what the maximum number that a varint can represent is, it's just the maximum value for a 64-bit integer. That's 0xffffffffffffffff. There's really no constraints on what a varint can represent. A transaction with such a number of inputs would not fit in a block, nor would it fit on any existing single storage medium as that transaction would be at least 664.1 Exabytes in size.



          The maximum number of inputs that can fit in a valid transaction is 27022.



          Such a transaction would not use segwit, so we use the maximum block size without segwit of 1000000 bytes. Subtract the 146 for the header and coinbase transaction to get 999854 bytes for the transaction. Subtract 4 bytes for the version, 4 bytes for the locktime, 1 byte for output count, 8 bytes for output value, 1 byte for output script, and 2 bytes for input count. This leaves us with 999833 bytes. With 37 bytes per input (32 previous txid, 4 output index, and 1 for script length), there can by 27022 inputs.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Apr 2 at 5:24

























          answered Apr 2 at 5:19









          Andrew Chow♦Andrew Chow

          33.3k42462




          33.3k42462







          • 2





            To note, that includes zero security or signatures.

            – Anonymous
            Apr 2 at 6:11












          • 2





            To note, that includes zero security or signatures.

            – Anonymous
            Apr 2 at 6:11







          2




          2





          To note, that includes zero security or signatures.

          – Anonymous
          Apr 2 at 6:11





          To note, that includes zero security or signatures.

          – Anonymous
          Apr 2 at 6:11

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Bitcoin Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid …


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f85752%2fmaximum-number-of-inputs-per-transaction%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Magento 1.9 observer on only new product added ( no updated product )Admin Create New Order ObserverObserver checkout_cart_product_add_after get product quantity in cartHow can I differentiate between product creation and saving existing products?How to get the original price Product SaveBeforeMagento Observer for Admin Sales order Address updateHow do i get quantity in a product_save_after event observer magento2?Using observer event to get updated customer infoSave product observer - detect availabilityEvent not triggered when new product added in admin : Magento 2magento 1.9 observer on quantity product change

          Does an object always see its latest internal state irrespective of thread? The 2019 Stack Overflow Developer Survey Results Are InDoes a finally block always get executed in Java?Java: serial thread confinement questionJava difference between fixed threadpool and scheduled threadpoolJackrabbit and concurrent modificationHow to stop a Runnable scheduled for repeated execution after a certain number of executionsMultiple threads accessing inner classHow can a loop be completed by two thread? say loop from count=1 to count=4 by ist thread and count =5 to 8 by 2nd thread?If I keep a reference to a Runnable, when does the Thread it ran on get released?How to stop a schedule ScheduledExecutorServiceHow to implement a singleThreadedScheduledExcecutor in wildfly

          Adding contour labels to SpatialLinesDataFrame or sf object? The Next CEO of Stack OverflowTearing of SpatialLinesDataFrame and problem with gClip functionAutomatically adjusting map labelsExtracting data.frame from simple features object in RR convert sf object back to SpatialPolygonsDataFrameSimplify polygons of sf objectlines of a SpatialLinesDataFrame corresponding to pointsCropping sf object in R?Pattern matching with grepl on SpatialPolygonsDataFrame object in RHow to create and empty SpatialLinesDataFrame in RWarning message in raster::rotate(): “this does not look like an appropriate object for this function”