DeathAndTaxes

Legendary



Offline



Activity: 1218

Merit: 1007





Gerald Davis







DonatorLegendaryActivity: 1218Merit: 1007Gerald Davis Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 01:31:00 AM

Last edit: March 13, 2015, 04:10:44 AM by DeathAndTaxes #1



If the cap is not raised to some higher limit; allowing a larger number of users to maintain direct access, then individuals will be priced out of the blockchain. When that happens Bitcoin becomes yet another network with no direct (peer) access; like FedWire, SWIFT, and other private closed transfer networks. There is no realistic scenario where a network capped permanently at 1MB can have meaningful adoption whilst still maintaining direct access to the blockchain by individuals. To be clear, by direct access I mean both parties transacting directly on-chain without relying on an intermediary or trusted third party.



Quote Bitcoin ... A purely peer-to-peer version of electronic cash would allow online payments to be sent directly from one party to another without going through a financial institution.

Satoshi Nakamoto -



Finding a balance

If the transaction capacity of a peer to peer network is very low then the resource requirements of running a full node will also be low but the cost of a transactions will be high. A network that keeps computing requirements low but which has priced direct access to that network out of the hands of individuals doesn't help decentralization. Likewise if the transaction capacity of the network is very high then the cost of transactions will be low but the resource requirements for running a full node will be high. A network that has sufficient transaction capacity for every possible transaction but which requires resources that put operation of a full node beyond the capabilities of individuals also doesn't help decentralization.



There is no "perfect" transaction rate. It is a compromise between two different centralization risks. Lowering the risk of transaction centralization raises the risk of node centralization and the reverse is also true. A robust network means minimizing overall risk not minimizing one risk at the expense of the other. This means that neither extreme is optimal. What level of transaction capacity (in terms of block size) provides the optimum balance will be saved for future discussions. Having a discussion on how to change the network first requires an acceptance that the network needs to change. So lets start with why the network must change.





Can we stop talking about a cup of coffee please?

If you have been following the discussion you may have heard a claim such as "Every $5 coffee doesn't need to be on the blockchain so there is no need to raise the limit". The implied meaning is that while the cost of permanently keeping the limit will exclude 'trivial' transactions you will still have direct access to the blockchain for everything else. This is misleading as the 1MB restriction is so restrictive that larger more meaningful transactions will eventually become uneconomical as well.



I don't really care if my morning coffee is paid for using a centralized service. Centralization and trusted third parties aren't always bad. <gasp>. Context matters so try to read the rest before freaking out. Have you ever given or received a gift card? Can't get more centralized than that. If I put $100 in Bitcoins under the control of a third party say in a ewallet or bitcoin debit card service, the risk and scope of that centralization are limited and manageable. As long as direct access to the network remains economical I can securely store and transfer my wealth using on-chain transactions and use centralized solutions where the risk is low such as day to day purchases. On the other hand if the imbalance between transaction demand and capacity makes individual transactions uneconomical I will lose direct access all together and that risk is more severe and the consequences more significant.



Sidechains, payment channels, and cross-chain atomic transactions are decentralized system that can move some of the transaction volume off the primary chain. In essence like centralized solutions they can act as a multiplier allowing a higher number of total transactions than the number of direct on-chain transactions. It is important to realize they still rely on the primary chain having sufficient transaction capacity or they aren't trustless. As an example a payment channel could allow hundreds or even thousands of off chain transactions but it requires periodic on-chain transactions to create, adjust, and takedown. If the individual user loses direct access to the primary chain they also lose trust free solutions like payment channels. If direct access becomes prohibitively expensive then only alternative which provides sufficient scale is using trusted third parties.



When demand significantly exceeds capacity it increases the utility and value of centralized solutions

If the transaction demand exceeds capacity by a magnitude or more it will lead to direct users being replaced by trusted third parties acting as aggregators. There are a lot of disadvantages to centralized services but they are more efficient and if the artificial limit is kept it will play right into the advantages of centralized services. A third party can facilitate instant off-chain transactions. If demand outstrips the very limited capacity it will force transactions off-chain using trusted third parties which I will call processors.



Today these processors would include online wallet providers, exchanges, merchant payment service providers, and services where the user maintains a balance under the control of the merchant (casino, poker room). In time even traditional financial companies and banks could be processors. The one thing they all have in common is that customers of these services do not have direct control over private keys and do not directly make transactions on the network. The processor has control over the private keys, keeps the Bitcoins in reserve and maintains an internal ledger of user transactions and balances. Processors can trivially facilitate transactions between two customers of their service. Since they control the private keys they simply update the ledger balances of the two customers and many of them do this today.



However transactions can still occur off-chain even if they involve customers of different processors. The process is not trustless but risk can be managed. Two processors would aggregate all the transactions which occur between their customers and then periodically settle the difference. When a payment from a customer of one processor is made to a customer of another processor the sending processor will notify the receiving processor. Both processors will update their internal ledgers. Over time this will result in an accumulated balanced owed by one processor to the other which can be settled with a single on-chain transaction. The key thing is that there is a one to many relationship between the settlement transactions and underlying customer transactions. While the 1MB block limit does not provide sufficient capacity for a large number of direct user transactions, third party processors can facilitate a very large number of off-chain transactions using a smaller number of on-chain settlements. Blocks of a finite size can support a nearly unlimited amount of off-chain transaction capacity with the limitation that it involves the use of trusted third parties.



You can't competing with a 'bank'

You might be considering the point above but dismissing it because you still 'could' submit a transaction to the network. The processors described above don't have the ability to close the network but a network that you have technical access to but which is uneconomical is effectively no access at all. The current block size realistically limits capacity to no more than two to four transactions per second. Two transactions per second is roughly 64 million transactions per year. A finite number of transactions can't support an infinite number of direct users. Say at some point there are ten million users and they wish to make two transactions per month. That is 240 million transactions but only 64 million will fit in the blocks. What happens to the excess. If third party processors are attractive the difference will be handled by them. When you consider a settlement network would allows these third party processors to offer instant, 'no risk' transactions at significantly lower fees than on chain transactions the excess demand will be processed off-chain. If the network continues to grow the profitability of these companies will grow and that will lead to more third party companies. Those settlement transactions allow more off-chain transactions but at the same time compete with direct user transactions for the limited on-chain capacity. In a settlement network the upper limit on the number of settlements required grows exponentially with the number of trusted peers. Just two hundred trusted peers (crypto banks) performing hourly settlements would fill the blocks, all the blocks perpetually. There may be billions of 'Bitcoin' transactions but they would be nothing more than updates on centralized ledgers. The blockchain would just handle the settlement between massive financial service providers. As these entities are collecting fees, and on chain transactions are a necessity of doing business, they can and will pay far more than you to ensure timely inclusion in a block. When you as an individual have been reduced to a position where you must outbid a 'bank' for space in the blockchain then you have effectively lost access to the blockchain.



Wait I don't get how off blockchain transactions could occur across entities

Imagine two large financial service providers where thousands of customers make payments to customers of the other entity. These may not be banks in the traditional sense, they can be any entity which acts as a third party to manage the bitcoins and transactions of customer. Today it could be major exchanges, payment processors, and ewallet providers but tomorrow it could include traditional financial service companies or even banks. For this example lets call the two entities Chase and HSBC. Chase and HSBC can notify each other when one of their customers makes a payment to a customer of the other entity. Both would update their internal ledgers and the payments would appear to occur instantly. Most importantly none of them would require an on-chain transaction. It is just updating numbers in a ledger. If you are a Coinbase customer and pay another coinbase customer this happens today. We are only taking it a step further and handling cross entity transactions. Now the entities have no real cost to perform these payments. They are just sharing a few bytes of information with their counterparty and updating numbers in a database. However over time, the net amount of the thousands of transactions will result in one entity accumulating a balanced owed to the other. This is why settlement networks require some level of trust. It requires trusted peers to extend mutual lines of credit to each other. The more they trust each other, the larger the lines of credit and the less frequently they need to settle. It is also why you will never be a peer on this network. The entities would enter into a legally binding agreements which set up the conditions of the settlement. The amount of funds the entities are risking is limited. The entities will limit the amount of credit they will extend and the terms are usually very short. These aren't long term loans, in the traditional banking world settlement might occur the next business day. The efficiency of the blockchain allows for lower capital requirements and lower risk by settling more frequently maybe even hourly.



Imagine that in a particular hour HSBC customers make thousands of payments to Chase customers totalling 10,000 BTC and Chase customers make thousands of payments to HSBC customers totalling 3,000 BTC. In total transaction volume is worth 13,000 BTC. As these payments occur Chase and HSBC notify the other party. This allows both to update their ledgers. A customer making a payment would see their balance be reduced 'instantly' and the customer receiving a payment would see their balance increase 'instantly'. The net flows however are not balanced. Chase has increased their customer balances 10,000 BTC and only reduced their customer balances 3,000 BTC. On the books both entities have a liability called 'Customer Deposits'. They keep reserves (hopefully >=100% to cover those liabilities). However Chase has seen its liability increase by 7,000 BTC and HSBC has seen its liability decrease by the same amount. To reconcile this HSBC will make a single on-chain transaction to Chase for 7,000 BTC. This will increase Chase's reserves by 7,000 BTC and decrease HSBC's reserves by 7,000 BTC. Everything is balanced again. Yes it did require a limited amount of trust between settlement peers and a single on-chain transaction but it facilitated thousands of off chain transactions. As soon as the next cross entity transaction happens a balance is owed by one entity and the net amount owed will increase and decrease until the next settlement which balances the books again and the cycle perpetually continues.



Now when demand for transactions exceeds what is possible who do you think can pay more in fees? You or a bank? If transaction demand exceeds capacity then some transactions will not make it into a block. Those paying the highest fee will be the ones who retain access to the blockchain and those unable or unwilling to will be excluded. It is delusional to think it will be the 'banks' that suffer in a situation like that.



The reported 7tps transaction capacity does not exist.

There is a myth that without raising the limit the network could handle 7tps. It can't. The limit is 1MB per block the actual transaction capacity depends on the average transaction size and realistically that provides no more than 2 to 4 tps. To achieve 7 tps using one block of 1 MB every 600 seconds means that the average transaction size must be 240 bytes (1,000,000 bytes / 600 seconds / 7tps = 240 bytes). If you have a Bitcoin wallet handy take a look at your last dozen transactions and if you don't have a wallet handy use a website to lookup the transactions in the most recent block. How many of the transactions were under 240 bytes? Not very many. I am going to say the majority of your transactions were probably between 300 and 700 bytes.



Can you form a 240 byte transaction? Sure as long as you only have only a single input. A transaction input is requires at least 147 bytes so an average of 240 bytes per transaction is not possible unless the average number of inputs is less than 2. While some transactions may have one input on average they are going to have more. The total number of inputs in the blockchain will roughly equal the the total number of outputs. As the number of blocks approaches infinity the ratio of inputs to outputs in a well functioning blockchain will approach 1:1.



Since most outputs will eventually become inputs it makes more sense to look at block capacity using a balanced transactions as a template for transaction size. A balanced transaction is one where the number of inputs equals the number of outputs. Single input, single output exceptions are both rare and have limited use. A 2 input, 2 output transaction using all compressed keys and P2PKH scripts is typical and weighs in at 373 bytes. At 373 bytes per transaction and 1MB per block the network will not exceed 4.4 tps.. This is already 37% less than claimed but it is still unrealistic as it represents the smallest possible balanced transaction.



Most transactions are going to be larger than 373 bytes due to the use of uncompressed keys being used, more complex scripts, and more inputs and outputs per transaction. Looking at the last million transactions in the blockchain I found the average txn size was 560 bytes. At 560 bytes per transaction and 1MB per block the network will not exceed 3.0 tps. So we have already lost over half of this claimed capacity but this is very likely to decrease over time as transaction sizes creep higher. Multisig and other more complex scripts are being used more frequently and that trend will continue. A good estimate for the network throughput when limited to 1MB blocks would be 2 to 4 tps depending on how optimistic you want to be.



Here is a direct comparison of the combined script size for some different types of scripts. The scriptPubKey is encoded in a transaction output and the scriptSig is encoded in the transaction that "spends" that output. Since outputs eventually become inputs in new transactions the combined size of the scriptPubKey and scriptSig represents the "roundtrip" script cost of a transaction.



Code: P2PkH: 131 bytes per script round trip (25 byte scriptPubKey + 106 byte scriptSig)

2-of-3 P2SH: 253 bytes per script round trip (22 byte scriptPubKey + 231 byte scriptSig)

3-of-5 P2SH: 383 bytes per script round trip (22 byte scriptPubKey + 361 byte scriptSig)

15-of-15 P2SH: 1,481 bytes per script round trip (22 byte scriptPubKey + 1,459 byte scriptSig)



How many transactions are possible per megabyte of block capacity? Below is a the maximum capacity of the network at various average transaction sizes. Realistically 2 to 4 tps is all that is supported by a 1MB block and the lower end of that range is a far more likely.

Code: Txn Size Upper Bound Example

373 4.4 tps (2in, 2out, P2PkH)

416 4.0 tps

520 3.3 tps Average of the last 1,000,000 transactions

555 3.0 tps

616 2.7 tps (2in, 2out, 2-of-3 P2SH)

833 2.0 tps



This same metric also applies to larger blocks. Advocates of larger blocks will often overestimate the capacity of larger blocks. It is realistic to estimate getting 2 to 4 tps per MB of block space regardless of the block size. If all blocks were 20MB that would provide a realistic throughput of 40 to 80 tps not 140 tps. Still 40 to 80 tps would be sufficient for 100 million users to make one or two transactions per month.



1MB can not support a sufficient number of direct users even if transaction frequency is very low

One argument made by those favoring the cap is that Bitcoin doesn't need to be used as a transactional currency to be successful. Users could primarily acquire Bitcoins as a way to secure store of value (savings) and continue to use other currencies for routine purchases. Bullion and other stores of value have a much lower velocity than transactional currencies. This means a block of the same size could support more more users. While the user of a non-transaction currency may not make dozens of transactions a day, meaningful access would at least require access on the order of dozens of transactions per year. If your savings or brokerage account restricted you to only one deposit per quarter and one withdrawal per year I don't think you would find that acceptable. Future users of Bitcoin will not find it any more acceptable if they are forced to transaction as infrequently.



Code: Maximum supported users based on transaction frequency.

Assumptions: 1MB block, 821 bytes per txn

Throughput: 2.03 tps, 64,000,000 transactions annually



Total # Transactions per Transaction

direct users user annually Frequency

<8,000 8760 Once an hour

178,000 365 Once a day

500,000 128 A few (2.4) times a week

1,200,000 52 Once a week

2,600,000 24 Twice a month

5,300,000 12 Once a month

16,000,000 4 Once a quarter

64,000,000 1 Once a year

200,000,000 0.3 Less than once every few years

1,000,000,000 0.06 Less than once a decade



As you can see even with an average transaction frequency of just once a week or once a month the network can't support more than a token number of users. When someone advocates a permanent cap of 1MB what they are saying is I think Bitcoin will be great if it is never used by more than a couple million users making less than one transaction per month. Such a system will never flourish as a store of value as it is eclipsed by alternatives which are more inclusive. To support even 100 million direct users making an average of one transaction every two weeks would require a throughput of 82 tps and an average block size of 20 to 40 Megabytes.



1MB doesn't can't even keep up with existing non-retail payment networks.

Going back to that coffee meme, the implied message is that 1MB is fine unless for everything else. You know substantial stuff like paying your mortgage, business deals, major capital expenditures, or paying a supplier for inventory. This just isn't the case though. Do you know anyone who pays for coffee with a bank wire? The FedWire service (run by US federal reserve) processes ~150 million bank wires annually. The FedWire service only operates in the US. Internationally the largest clearinghouse is SWIFT and it processes more than 5 billion transfers annually. The US ACH network is even larger with 19 billion transactions annually (excluding converted checks). There are also about 2 billion international remittances annually (western union, moneygram, and other networks). A 1MB restricted Bitcoin network couldn't even keep up with these transfer networks even if you forget about retail sales completely. The idea keeping the 1MB restriction, only keeps limits the utility of small payments is simply incorrect.



Code: Bitcoin block size to reach comparable network volume based on average txn size

Network txn volume Average transaction size

annually (mil) 373 bytes 560 bytes 833 bytes

FedWire 150 1.1 MB 1.7 MB 2.3 MB

Remittance 2,000 14.2 MB 21.3 MB 31.7 MB

SWIFT 5,000 35.5 MB 53.3 MB 79.3 MB

ACH 19,000 134.8 MB 202.4 MB 301.0 MB



On a transaction fee basis.

Currently the cost of the network is roughly $300 million annually. The users of the network are collectively purchasing $300 mil worth of security each year. If users paid $400 million the network would be more secure and if they paid $200 million it would be less secure. Today the majority of this cost is paid indirectly (or subsidized) through the creation of new coins but it is important to keep in mind the total unsubsidized security cost. At 2 tps the network the unsubsidized cost per transaction would be about $5. At 100 tps it would be $0.05. If Bitcoin was widely adopted, more users purchasing more coins should mean a higher exchange rate and thus the value of potential attacks also rises. The future cost of the network will need to rise to ensure that attacks are not economical and non-economic attacks are prohibitively expense relative to the benefit for the attacker. It may not rise linearly but it will need to rise. If someday one Bitcoin is worth $10,000 and we are still only spending $300 million a year on security we probably are going to have a problem. Now advocates of keeping the limit may argue that the majority of the network cost won't be paid by fees for many years but the reality is that with a low maximum transaction rate you can choose either much higher fees or much lower security.



Conclusion

Restricting the size of blocks to 1MB permanently is great if you are a major financial services company. You could co-opt a very robust network, act as a trusted intermediary and force direct users off the chain onto centralized services. For the same reasons, it is a horrible idea if you even want to keep open the possibility that individuals will be able to participate in that network without using a trusted third party as an intermediary.



On edit: fixed some typos. Cleaned up some poorly worded statements. Yeah there are a lot more. It is a work in progress. Permanently keeping the 1MB (anti-spam) restriction is a great idea, if you are a bank. Those favoring a permanent 1MB cap, whilst asserting that Bitcoin can still be a financial backbone of sorts, don't know how right they are. The problem isn't a limit in general but that 1MB provides so little transaction capacity that, under any meaningful adoption scenario, it will push all individual users off the blockchain to rely on trusted third parties. 1MB is insufficient for end to end direct user access, but it is sufficient for a robust inter-bank settlement network.If the cap is not raised to some higher limit; allowing a larger number of users to maintain direct access, then individuals will be priced out of the blockchain. When that happens Bitcoin becomes yet another network with no direct (peer) access; like FedWire, SWIFT, and other private closed transfer networks. There is no realistic scenario where a network capped permanently at 1MB can have meaningful adoption whilst still maintaining direct access to the blockchain by individuals. To be clear, by direct access I mean both parties transacting directly on-chain without relying on an intermediary or trusted third party.Satoshi Nakamoto - Bitcoin Whitepaper If the transaction capacity of a peer to peer network is very low then the resource requirements of running a full node will also be low but the cost of a transactions will be high. A network that keeps computing requirements low but which has priced direct access to that network out of the hands of individuals doesn't help decentralization. Likewise if the transaction capacity of the network is very high then the cost of transactions will be low but the resource requirements for running a full node will be high. A network that has sufficient transaction capacity for every possible transaction but which requires resources that put operation of a full node beyond the capabilities of individuals also doesn't help decentralization.There is no "perfect" transaction rate. It is a compromise between two different centralization risks. Lowering the risk of transaction centralization raises the risk of node centralization and the reverse is also true. A robust network means minimizing overall risk not minimizing one risk at the expense of the other. This means that neither extreme is optimal. What level of transaction capacity (in terms of block size) provides the optimum balance will be saved for future discussions. Having a discussion onthe network first requires an acceptance that the network. So lets start with why the network must change.If you have been following the discussion you may have heard a claim such as "". The implied meaning is that while the cost of permanently keeping the limit will exclude 'trivial' transactions you will still have direct access to the blockchain for everything else. This is misleading as the 1MB restriction is so restrictive that larger more meaningful transactions will eventually become uneconomical as well.I don't really care if my morning coffee is paid for using a centralized service. Centralization and trusted third parties aren't always bad. . Context matters so try to read the rest before freaking out. Have you ever given or received a gift card? Can't get more centralized than that. If I put $100 in Bitcoins under the control of a third party say in a ewallet or bitcoin debit card service, the risk and scope of that centralization are limited and manageable. As long as direct access to the network remains economical I can securely store and transfer my wealth using on-chain transactions and use centralized solutions where the risk is low such as day to day purchases. On the other hand if the imbalance between transaction demand and capacity makes individual transactions uneconomical I will lose direct access all together and that risk is more severe and the consequences more significant.Sidechains, payment channels, and cross-chain atomic transactions are decentralized system that can move some of the transaction volume off the primary chain. In essence like centralized solutions they can act as a multiplier allowing a higher number of total transactions than the number of direct on-chain transactions. It is important to realize they still rely on the primary chain having sufficient transaction capacity or they aren't trustless. As an example a payment channel could allow hundreds or even thousands of off chain transactions but it requires periodic on-chain transactions to create, adjust, and takedown. If the individual user loses direct access to the primary chain they also lose trust free solutions like payment channels. If direct access becomes prohibitively expensive then only alternative which provides sufficient scale is using trusted third parties.If the transaction demand exceeds capacity by a magnitude or more it will lead to direct users being replaced by trusted third parties acting as aggregators. There are a lot of disadvantages to centralized services but they are more efficient and if the artificial limit is kept it will play right into the advantages of centralized services. A third party can facilitate instant off-chain transactions. If demand outstrips the very limited capacity it will force transactions off-chain using trusted third parties which I will call processors.Today these processors would include online wallet providers, exchanges, merchant payment service providers, and services where the user maintains a balance under the control of the merchant (casino, poker room). In time even traditional financial companies and banks could be processors. The one thing they all have in common is that customers of these services do not have direct control over private keys and do not directly make transactions on the network. The processor has control over the private keys, keeps the Bitcoins in reserve and maintains an internal ledger of user transactions and balances. Processors can trivially facilitate transactions between two customers of their service. Since they control the private keys they simply update the ledger balances of the two customers and many of them do this today.However transactions can still occur off-chain even if they involve customers of different processors. The process is not trustless but risk can be managed. Two processors would aggregate all the transactions which occur between their customers and then periodically settle the difference. When a payment from a customer of one processor is made to a customer of another processor the sending processor will notify the receiving processor. Both processors will update their internal ledgers. Over time this will result in an accumulated balanced owed by one processor to the other which can be settled with a single on-chain transaction. The key thing is that there is a one to many relationship between the settlement transactions and underlying customer transactions. While the 1MB block limit does not provide sufficient capacity for a large number of direct user transactions, third party processors can facilitate a very large number of off-chain transactions using a smaller number of on-chain settlements. Blocks of a finite size can support a nearly unlimited amount of off-chain transaction capacity with the limitation that it involves the use of trusted third parties.You might be considering the point above but dismissing it because you still 'could' submit a transaction to the network. The processors described above don't have the ability to close the network but a network that you have technical access to but which is uneconomical is effectively no access at all. The current block size realistically limits capacity to no more than two to four transactions per second. Two transactions per second is roughly 64 million transactions per year. A finite number of transactions can't support an infinite number of direct users. Say at some point there are ten million users and they wish to make two transactions per month. That is 240 million transactions but only 64 million will fit in the blocks. What happens to the excess. If third party processors are attractive the difference will be handled by them. When you consider a settlement network would allows these third party processors to offer instant, 'no risk' transactions at significantly lower fees than on chain transactions the excess demand will be processed off-chain. If the network continues to grow the profitability of these companies will grow and that will lead to more third party companies. Those settlement transactions allow more off-chain transactions but at the same time compete with direct user transactions for the limited on-chain capacity. In a settlement network the upper limit on the number of settlements required grows exponentially with the number of trusted peers. Just two hundred trusted peers (crypto banks) performing hourly settlements would fill the blocks, all the blocks perpetually. There may be billions of 'Bitcoin' transactions but they would be nothing more than updates on centralized ledgers. The blockchain would just handle the settlement between massive financial service providers. As these entities are collecting fees, and on chain transactions are a necessity of doing business, they can and will pay far more than you to ensure timely inclusion in a block.Imagine two large financial service providers where thousands of customers make payments to customers of the other entity. These may not be banks in the traditional sense, they can be any entity which acts as a third party to manage the bitcoins and transactions of customer. Today it could be major exchanges, payment processors, and ewallet providers but tomorrow it could include traditional financial service companies or even banks. For this example lets call the two entities Chase and HSBC. Chase and HSBC can notify each other when one of their customers makes a payment to a customer of the other entity. Both would update their internal ledgers and the payments would appear to occur instantly. Most importantly none of them would require an on-chain transaction. It is just updating numbers in a ledger. If you are a Coinbase customer and pay another coinbase customer this happens today. We are only taking it a step further and handling cross entity transactions. Now the entities have no real cost to perform these payments. They are just sharing a few bytes of information with their counterparty and updating numbers in a database. However over time, the net amount of the thousands of transactions will result in one entity accumulating a balanced owed to the other. This is why settlement networks require some level of trust. It requires trusted peers to extend mutual lines of credit to each other. The more they trust each other, the larger the lines of credit and the less frequently they need to settle. It is also why you will never be a peer on this network. The entities would enter into a legally binding agreements which set up the conditions of the settlement. The amount of funds the entities are risking is limited. The entities will limit the amount of credit they will extend and the terms are usually very short. These aren't long term loans, in the traditional banking world settlement might occur the next business day. The efficiency of the blockchain allows for lower capital requirements and lower risk by settling more frequently maybe even hourly.Imagine that in a particular hour HSBC customers make thousands of payments to Chase customers totalling 10,000 BTC and Chase customers make thousands of payments to HSBC customers totalling 3,000 BTC. In total transaction volume is worth 13,000 BTC. As these payments occur Chase and HSBC notify the other party. This allows both to update their ledgers. A customer making a payment would see their balance be reduced 'instantly' and the customer receiving a payment would see their balance increase 'instantly'. The net flows however are not balanced. Chase has increased their customer balances 10,000 BTC and only reduced their customer balances 3,000 BTC. On the books both entities have a liability called 'Customer Deposits'. They keep reserves (hopefully >=100% to cover those liabilities). However Chase has seen its liability increase by 7,000 BTC and HSBC has seen its liability decrease by the same amount. To reconcile this HSBC will make a single on-chain transaction to Chase for 7,000 BTC. This will increase Chase's reserves by 7,000 BTC and decrease HSBC's reserves by 7,000 BTC. Everything is balanced again. Yes it did require a limited amount of trust between settlement peers and a single on-chain transaction but it facilitated thousands of off chain transactions. As soon as the next cross entity transaction happens a balance is owed by one entity and the net amount owed will increase and decrease until the next settlement which balances the books again and the cycle perpetually continues.Now when demand for transactions exceeds what is possible who do you think can pay more in fees? You or a bank? If transaction demand exceeds capacity then some transactions will not make it into a block. Those paying the highest fee will be the ones who retain access to the blockchain and those unable or unwilling to will be excluded. It is delusional to think it will be the 'banks' that suffer in a situation like that.There is a myth that without raising the limit the network could handle 7tps. It can't. The limit is 1MB per block the actual transaction capacity depends on the average transaction size and realistically that provides no more than 2 to 4 tps. To achieve 7 tps using one block of 1 MB every 600 seconds means that(1,000,000 bytes / 600 seconds / 7tps = 240 bytes). If you have a Bitcoin wallet handy take a look at your last dozen transactions and if you don't have a wallet handy use a website to lookup the transactions in the most recent block. How many of the transactions were under 240 bytes? Not very many. I am going to say the majority of your transactions were probably between 300 and 700 bytes.Can you form a 240 byte transaction? Sure as long as you only have only a single input. A transaction input is requires at least 147 bytes so an average of 240 bytes per transaction is not possible unless the average number of inputs is less than 2. While some transactions may have one input on average they are going to have more. The total number of inputs in the blockchain will roughly equal the the total number of outputs.Since most outputs will eventually become inputs it makes more sense to look at block capacity using a balanced transactions as a template for transaction size. A balanced transaction is one where the number of inputs equals the number of outputs. Single input, single output exceptions are both rare and have limited use. A 2 input, 2 output transaction using all compressed keys and P2PKH scripts is typical and weighs in at 373 bytes.. This is already 37% less than claimed but it is still unrealistic as it represents the smallest possible balanced transaction.Most transactions are going to be larger than 373 bytes due to the use of uncompressed keys being used, more complex scripts, and more inputs and outputs per transaction. Looking at the last million transactions in the blockchain I found the average txn size was 560 bytes.So we have already lost over half of this claimed capacity but this is very likely to decrease over time as transaction sizes creep higher. Multisig and other more complex scripts are being used more frequently and that trend will continue. A good estimate for the network throughput when limited to 1MB blocks would be 2 to 4 tps depending on how optimistic you want to be.Here is a direct comparison of the combined script size for some different types of scripts. The scriptPubKey is encoded in a transaction output and the scriptSig is encoded in the transaction that "spends" that output. Since outputs eventually become inputs in new transactions the combined size of the scriptPubKey and scriptSig represents the "roundtrip" script cost of a transaction.How many transactions are possible per megabyte of block capacity? Below is a the maximum capacity of the network at various average transaction sizes. Realistically 2 to 4 tps is all that is supported by a 1MB block and the lower end of that range is a far more likely.This same metric also applies to larger blocks. Advocates of larger blocks will often overestimate the capacity of larger blocks. It is realistic to estimate getting 2 to 4 tps per MB of block space regardless of the block size.One argument made by those favoring the cap is that Bitcoin doesn't need to be used as a transactional currency to be successful. Users could primarily acquire Bitcoins as a way to secure store of value (savings) and continue to use other currencies for routine purchases. Bullion and other stores of value have a much lower velocity than transactional currencies. This means a block of the same size could support more more users. While the user of a non-transaction currency may not make dozens of transactions a day, meaningful access would at least require access on the order of dozens of transactions per year.Future users of Bitcoin will not find it any more acceptable if they are forced to transaction as infrequently.As you can see even with an average transaction frequency of just once a week or once a month the network can't support more than a token number of users.Such a system will never flourish as a store of value as it is eclipsed by alternatives which are more inclusive. To support even 100 million direct users making an average of one transaction every two weeks would require a throughput of 82 tps and an average block size of 20 to 40 Megabytes.Going back to that coffee meme, the implied message is that 1MB is fine unless for everything else. You know substantial stuff like paying your mortgage, business deals, major capital expenditures, or paying a supplier for inventory. This just isn't the case though.The FedWire service (run by US federal reserve) processes ~150 million bank wires annually. The FedWire service only operates in the US. Internationally the largest clearinghouse is SWIFT and it processes more than 5 billion transfers annually. The US ACH network is even larger with 19 billion transactions annually (excluding converted checks). There are also about 2 billion international remittances annually (western union, moneygram, and other networks). A 1MB restricted Bitcoin network couldn't even keep up with these transfer networks even if you forget about retail sales completely.Currently the cost of the network is roughly $300 million annually. The users of the network are collectively purchasing $300 mil worth of security each year. If users paid $400 million the network would be more secure and if they paid $200 million it would be less secure. Today the majority of this cost is paid indirectly (or subsidized) through the creation of new coins but it is important to keep in mind the total unsubsidized security cost. At 2 tps the network the unsubsidized cost per transaction would be about $5. At 100 tps it would be $0.05. If Bitcoin was widely adopted, more users purchasing more coins should mean a higher exchange rate and thus the value of potential attacks also rises. The future cost of the network will need to rise to ensure that attacks are not economical and non-economic attacks are prohibitively expense relative to the benefit for the attacker. It may not rise linearly but it will need to rise. If someday one Bitcoin is worth $10,000 and we are still only spending $300 million a year on security we probably are going to have a problem. Now advocates of keeping the limit may argue that the majority of the network cost won't be paid by fees for many years but the reality is that with a low maximum transaction rate you can choose either much higher fees or much lower security.Restricting the size of blocks to 1MB permanently is great if you are a major financial services company. You could co-opt a very robust network, act as a trusted intermediary and force direct users off the chain onto centralized services. For the same reasons, it is a horrible idea if you even want to keep open the possibility that individuals will be able to participate in that network without using a trusted third party as an intermediary.On edit: fixed some typos. Cleaned up some poorly worded statements. Yeah there are a lot more. It is a work in progress.

juju



Offline



Activity: 382

Merit: 250









Sr. MemberActivity: 382Merit: 250 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 02:13:11 AM #3 Quote from: DeathAndTaxes on February 05, 2015, 01:31:00 AM -snip-



This makes me a bit scared, I had always figured in the future we would be allowed to use the blockchain and create transactions as we take for granted today. If we don't raise the block size, the competitiveness for transactions would be insane, I had always figured this but never had I imagined a scenario that we would never be able to move any coins. This makes me a bit scared, I had always figured in the future we would be allowed to use the blockchain and create transactions as we take for granted today. If we don't raise the block size, the competitiveness for transactions would be insane, I had always figured this but never had I imagined a scenario that we would never be able to move any coins.

zimmah



Offline



Activity: 1106

Merit: 1005









LegendaryActivity: 1106Merit: 1005 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 02:21:12 AM #4 Yes, and it doesn't stop at 20MB either, I just hope people will stop crying about progress.



Did you cry as much about the upgrade from 32bit to 64bit operating systems?



Or from 1.44 MB floppy disks to 200 MB CDs?



I mean you can fit the current blocks on a floppy disk, maybe even two blocks if you're lucky.



If Bitcoin really catches on we will need block sizes of a gigabyte or even more.



20 mb is nice for a start, it will last as a year or two, three maybe, but it will need to be upgraded eventually as well. We are dangerously close to our limit with 1 my and we can't stay at 1 mb.

zimmah



Offline



Activity: 1106

Merit: 1005









LegendaryActivity: 1106Merit: 1005 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 02:25:19 AM #5 Quote from: kazuki49 on February 05, 2015, 02:20:24 AM I lol at your post, it shows how self-serving people are, ever tried to ask the miners?? You know the ones that keep the network alive in this competitive environment (not so much now) a market for fees would strenght the network even in the scenario of a total price collapse because you are creating more incentives for mining, and not keeping the vulture industry that dominates it today.



Miners can choose to include or exclude transactions regardless of block size.



A miner can decide for himself if a no-fee transaction is worth including, or a low-fee transaction for that matter.



If a lot of miners agree a low fee or no fee transaction should be excluded, it will take a long time before a transaction will be picked up by a small mining pool.



Miners also need to consider that excluding low fees will mean that the miner pools that do include the low fees will process more transactions (because all the low fee transactions will stack up) and it could be thousands upon thousands of transactions and thousand times a small fee can become quite a large sum.



It's better to sell 1 billion screws and make 0,01 cent profit on each of them than to sell 1 Lamborghini and make $100000 in profit. Miners can choose to include or exclude transactions regardless of block size.A miner can decide for himself if a no-fee transaction is worth including, or a low-fee transaction for that matter.If a lot of miners agree a low fee or no fee transaction should be excluded, it will take a long time before a transaction will be picked up by a small mining pool.Miners also need to consider that excluding low fees will mean that the miner pools that do include the low fees will process more transactions (because all the low fee transactions will stack up) and it could be thousands upon thousands of transactions and thousand times a small fee can become quite a large sum.It's better to sell 1 billion screws and make 0,01 cent profit on each of them than to sell 1 Lamborghini and make $100000 in profit.

zimmah



Offline



Activity: 1106

Merit: 1005









LegendaryActivity: 1106Merit: 1005 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 02:37:37 AM #7 Quote from: kazuki49 on February 05, 2015, 02:27:43 AM Quote from: zimmah on February 05, 2015, 02:25:19 AM Quote from: kazuki49 on February 05, 2015, 02:20:24 AM I lol at your post, it shows how self-serving people are, ever tried to ask the miners?? You know the ones that keep the network alive in this competitive environment (not so much now) a market for fees would strenght the network even in the scenario of a total price collapse because you are creating more incentives for mining, and not keeping the vulture industry that dominates it today.



Miners can choose to include or exclude transactions regardless of block size.



A miner can decide for himself if a no-fee transaction is worth including, or a low-fee transaction for that matter.



If a lot of miners agree a low fee or no fee transaction should be excluded, it will take a long time before a transaction will be picked up by a small mining pool.



Miners also need to consider that excluding low fees will mean that the miner pools that do include the low fees will process more transactions (because all the low fee transactions will stack up) and it could be thousands upon thousands of transactions and thousand times a small fee can become quite a large sum.



It's better to sell 1 billion screws and make 0,01 cent profit on each of them than to sell 1 Lamborghini and make $100000 in profit.

Miners can choose to include or exclude transactions regardless of block size.A miner can decide for himself if a no-fee transaction is worth including, or a low-fee transaction for that matter.If a lot of miners agree a low fee or no fee transaction should be excluded, it will take a long time before a transaction will be picked up by a small mining pool.Miners also need to consider that excluding low fees will mean that the miner pools that do include the low fees will process more transactions (because all the low fee transactions will stack up) and it could be thousands upon thousands of transactions and thousand times a small fee can become quite a large sum.It's better to sell 1 billion screws and make 0,01 cent profit on each of them than to sell 1 Lamborghini and make $100000 in profit.

You still dont get it, you think they mine because they like BTC, its about the money, no miner will keep on with a loss, so besides the centralization in storage to run the nodes you are centralizing the mining process even further! The USG must be proud.

You still dont get it, you think they mine because they like BTC, its about the money, no miner will keep on with a loss, so besides the centralization in storage to run the nodes you are centralizing the mining process even further! The USG must be proud.

You don't get it, there won't be any Bitcoin to mine if we limit the system to 2tps.



Also, people don't pay for taxis because taxis are limited, people pay for taxis because they need a taxi. And the taxi price is decided by the taxi drivers themselves.



Based on gas prices, wages, wear of the car, etc. it's not so high that competition will eat away their profits by offering the same service cheaper, but not so low that they can't make a living.



Same with miners, their fees (which they can decide themselves) can be very high, but then very few transactions will be solved by that miner because very few people will want to pay a lot to make sure their transaction is included within the next block for 100% certainty. But if you put it too low than you can't make a profit anymore. So each miner and mining poo, should decide for themselves how the a fee should be before they include it in a block.



It's better to make 0,01 Bitcoin per transaction on fees on 5 million transactions per block than to make 1 Bitcoin in fees on 2400 transactions in 10 minutes (because more transactions will not fit)



If you don't even understand this simple fact I'm done arguing with you.



Btw I used to be a miner and I would still be one, except black arrow never delivered. So I am done buying miners becaus they either arrive late or never arrive. And besides the cost of electricity in Europe is ridiculously high so I wouldn't be able to compete anyway. You don't get it, there won't be any Bitcoin to mine if we limit the system to 2tps.Also, people don't pay for taxis because taxis are limited, people pay for taxis because they need a taxi. And the taxi price is decided by the taxi drivers themselves.Based on gas prices, wages, wear of the car, etc. it's not so high that competition will eat away their profits by offering the same service cheaper, but not so low that they can't make a living.Same with miners, their fees (which they can decide themselves) can be very high, but then very few transactions will be solved by that miner because very few people will want to pay a lot to make sure their transaction is included within the next block for 100% certainty. But if you put it too low than you can't make a profit anymore. So each miner and mining poo, should decide for themselves how the a fee should be before they include it in a block.It's better to make 0,01 Bitcoin per transaction on fees on 5 million transactions per block than to make 1 Bitcoin in fees on 2400 transactions in 10 minutes (because more transactions will not fit)If you don't even understand this simple fact I'm done arguing with you.Btw I used to be a miner and I would still be one, except black arrow never delivered. So I am done buying miners becaus they either arrive late or never arrive. And besides the cost of electricity in Europe is ridiculously high so I wouldn't be able to compete anyway.

acoindr



Offline



Activity: 1050

Merit: 1001







LegendaryActivity: 1050Merit: 1001 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 03:16:32 AM #9



Yes, I think the 7tps was meant as a technical maximum assuming 1 input and 2 outputs (1 to destination, and 1 back for change) for 225 bytes.



I agree 1MB blocks unnecessarily hinder Bitcoin, and although I don't see much difference in the potential for global value between 10tps and 20tps, seeing as VISA alone does 2,000 tps on average, I've revised my signature advertisement down from 7tps A great detailed post as usual D&T.Yes, I think the 7tps was meant as a technical maximum assuming 1 input and 2 outputs (1 to destination, and 1 back for change) for 225 bytes.I agree 1MB blocks unnecessarily hinder Bitcoin, and although I don't see much difference in the potential for global value between 10tps and 20tps, seeing as VISA alone does 2,000 tps on average, I've revised my signature advertisement down from 7tps

marcus_of_augustus



Offline



Activity: 3304

Merit: 1487









LegendaryActivity: 3304Merit: 1487 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 04:53:03 AM

Last edit: February 05, 2015, 05:11:46 AM by marcus_of_augustus #21 Quote from: amspir on February 05, 2015, 04:16:57 AM Great post.



Perhaps the best way to deal with the transaction limit, so it does not continue to be a problem, is to quadruple the block limit size at each block reward halving every 4 years. This should put in in line with Moore's Law, such that running a full node won't be out of reach of the average user.





I like the simplicity of this strategy and it has grounding in practical limitations for physical hardware.



Although I would suggest to have it at the midway points between halvings so as to smooth out any lumpiness in the response to fees/reward when changing the halving and max_block_size increase together. Analogous to presidential and mid-term election cycles.



So quadruple max_block_size at 315k, 525k, 735k, 945k, thereafter every 210k blocks. But need to begin with a one-off quadruple increase to 4 MByte ASAP (to account for previous increase that would have ideally happened at 315k).



Edit: on further thought maybe doubling every 105k blocks is less disruptive again, instead of banging the limit every so often. So a one-off quadruple to 4 MB ASAP then double to 8 MB at next halving (420k blocks) and double every 105k blocks thereafter, i.e. double approx. every 2 years, more or less, depending on hashrate, which is a rough proxy for network demand via price. I like the simplicity of this strategy and it has grounding in practical limitations for physical hardware.Although I would suggest to have it at the midway points between halvings so as to smooth out any lumpiness in the response to fees/reward when changing the halving and max_block_size increase together. Analogous to presidential and mid-term election cycles.So quadruple max_block_size at 315k, 525k, 735k, 945k, thereafter every 210k blocks. But need to begin with a one-off quadruple increase to 4 MByte ASAP (to account for previous increase that would have ideally happened at 315k).Edit: on further thought maybe doubling every 105k blocks is less disruptive again, instead of banging the limit every so often. So a one-off quadruple to 4 MB ASAP then double to 8 MB at next halving (420k blocks) and double every 105k blocks thereafter, i.e. double approx. every 2 years, more or less, depending on hashrate, which is a rough proxy for network demand via price. Monetary Freedom - an inalienable right

Per aspera ad astra Per aspera ad astra

zimmah



Offline



Activity: 1106

Merit: 1005









LegendaryActivity: 1106Merit: 1005 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 06:12:10 AM #22 Quote from: marcus_of_augustus on February 05, 2015, 04:53:03 AM Quote from: amspir on February 05, 2015, 04:16:57 AM Great post.



Perhaps the best way to deal with the transaction limit, so it does not continue to be a problem, is to quadruple the block limit size at each block reward halving every 4 years. This should put in in line with Moore's Law, such that running a full node won't be out of reach of the average user.





I like the simplicity of this strategy and it has grounding in practical limitations for physical hardware.



Although I would suggest to have it at the midway points between halvings so as to smooth out any lumpiness in the response to fees/reward when changing the halving and max_block_size increase together. Analogous to presidential and mid-term election cycles.



So quadruple max_block_size at 315k, 525k, 735k, 945k, thereafter every 210k blocks. But need to begin with a one-off quadruple increase to 4 MByte ASAP (to account for previous increase that would have ideally happened at 315k).



Edit: on further thought maybe doubling every 105k blocks is less disruptive again, instead of banging the limit every so often. So a one-off quadruple to 4 MB ASAP then double to 8 MB at next halving (420k blocks) and double every 105k blocks thereafter, i.e. double approx. every 2 years, more or less, depending on hashrate, which is a rough proxy for network demand via price.

I like the simplicity of this strategy and it has grounding in practical limitations for physical hardware.Although I would suggest to have it at the midway points between halvings so as to smooth out any lumpiness in the response to fees/reward when changing the halving and max_block_size increase together. Analogous to presidential and mid-term election cycles.So quadruple max_block_size at 315k, 525k, 735k, 945k, thereafter every 210k blocks. But need to begin with a one-off quadruple increase to 4 MByte ASAP (to account for previous increase that would have ideally happened at 315k).Edit: on further thought maybe doubling every 105k blocks is less disruptive again, instead of banging the limit every so often. So a one-off quadruple to 4 MB ASAP then double to 8 MB at next halving (420k blocks) and double every 105k blocks thereafter, i.e. double approx. every 2 years, more or less, depending on hashrate, which is a rough proxy for network demand via price.



yeah, sounds good.



the actual numbers and frequency could be tweaked, but the idea seems good.



This prevents us from having to hardfork it every time. yeah, sounds good.the actual numbers and frequency could be tweaked, but the idea seems good.This prevents us from having to hardfork it every time.

amincd



Offline



Activity: 772

Merit: 500







Hero MemberActivity: 772Merit: 500 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 06:16:05 AM

Last edit: February 05, 2015, 06:28:01 AM by amincd #23



As for what to replace the 1 MB anti-spam restriction with, I think Gavin's proposal is very good:



http://gavintech.blogspot.ca/2015/01/twenty-megabytes-testing-results.html



Quote



1. Current rules if no consensus as measured by block.nVersion supermajority.

Supermajority defined as: 800 of last 1000 blocks have block.nVersion == 4

Once supermajority attained, block.nVersion < 4 blocks rejected.

2. After consensus reached: replace MAX_BLOCK_SIZE with a size calculated based on starting at 2^24 bytes (~16.7MB) as of 1 Jan 2015 (block 336,861) and doubling every 6*24*365*2 blocks -- about 40% year-on-year growth. Stopping after 10 doublings.

3. The perfect exponential function:

size = 2^24 * 2^((blocknumber-336,861)/(6*24*365*2))

... is approximated using 64-bit-integer math as follows:



Code: double_epoch = 6*24*365*2 = 105120

(doublings, remainder) = divmod(blocknumber-336861, double_epoch)

if doublings >= 10 : (doublings, remainder) = (10, 0)

interpolate = floor ((2^24 << doublings) * remainder / double_epoch)

max_block_size = (2^24 << doublings) + interpolate

This is a piecewise linear interpolation between doublings, with maximum allowed size increasing a little bit every block. But then we need a concrete proposal for exactly how to increase the size. Here's what I will propose:1. Current rules if no consensus as measured by block.nVersion supermajority.Supermajority defined as: 800 of last 1000 blocks have block.nVersion == 4Once supermajority attained, block.nVersion < 4 blocks rejected.2. After consensus reached: replace MAX_BLOCK_SIZE with a size calculated based on starting at 2^24 bytes (~16.7MB) as of 1 Jan 2015 (block 336,861) and doubling every 6*24*365*2 blocks -- about 40% year-on-year growth. Stopping after 10 doublings.3. The perfect exponential function:size = 2^24 * 2^((blocknumber-336,861)/(6*24*365*2))... is approximated using 64-bit-integer math as follows:This is a piecewise linear interpolation between doublings, with maximum allowed size increasing a little bit every block.

Instead of sudden and massive block size limit increases every two or four years, it would increase a little every block.

Great post obviously.As for what to replace the 1 MB anti-spam restriction with, I think Gavin's proposal is very good:Instead of sudden and massive block size limit increases every two or four years, it would increase a little every block.

homo homini lupus



Offline



Activity: 84

Merit: 10







MemberActivity: 84Merit: 10 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 06:49:27 AM #25 my point is: the chain is already pretty big. If it becomes 20 fold as big i will be forced to stop using bitcoin because i don't want a lite-client or rely on 3rd parties with my coins but on the other hand can't afford upgrading harddrive all the time (especially not with these bad btc prices).



If you raise blocklimit 20-fold it will become unaffordable for normal people to store the blockchain on their computers and because of that people loose access.





On a sidenote:

I am not the only one totally annoyed by how bitcoin behaves in an effort to keep the dominant position and be the 'one coin for all' and with this hurts the alt-industry. I think at this point it becomes inevitable to start using more than one chain and stop looking at btc as the only coin worth bothering with.

All the problems dissolve at exactly the moment we accept a multi-coin/chain solution.



according to OP, if i understand right: if we don't raise limit little people loose access (i doubt it)

BUT raising the blocklimit will also ensure little people to loose access.

Conclusion: one blockchain for everyone is no viable idea



With raising the blocklimit and creating a chain as big as 200gb and more as soon as 1 or 2 years down the road bitcoin won't be able to reach the enduser.

homo homini lupus



Offline



Activity: 84

Merit: 10







MemberActivity: 84Merit: 10 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 07:51:12 AM #30 Quote from: RoadStress on February 05, 2015, 07:07:08 AM Quote from: homo homini lupus on February 05, 2015, 06:49:27 AM my point is: the chain is already pretty big. If it becomes 20 fold as big i will be forced to stop using bitcoin because i don't want a lite-client or rely on 3rd parties with my coins but on the other hand can't afford upgrading harddrive all the time (especially not with these bad btc prices).



If you raise blocklimit 20-fold it will become unaffordable for normal people to store the blockchain on their computers and because of that people loose access.



Why does everyone believe that raising the block limit will instantly raise the blockchain too? It will not. It will take time until that will happen!

Why does everyone believe that raising the block limit will instantly raise the blockchain too? It will not. It will take time until that will happen!

yes, my answer is on the other thread. No idea why OP needs to open third thread on the same issue and can't just post his view on the other thread. Probably he feels important enough to open a new thread (he must be extraordinary important) . Maybe i open another one for the same topic with my personal views ... maybe just everyone should open their personal thread for this. yes, my answer is on the other thread. No idea why OP needs to open third thread on the same issue and can't just post his view on the other thread. Probably he feels important enough to open a new thread (he must be extraordinary important) . Maybe i open another one for the same topic with my personal views ... maybe just everyone should open their personal thread for this.

zimmah



Offline



Activity: 1106

Merit: 1005









LegendaryActivity: 1106Merit: 1005 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 08:09:27 AM #33 Quote from: homo homini lupus on February 05, 2015, 06:49:27 AM my point is: the chain is already pretty big. If it becomes 20 fold as big i will be forced to stop using bitcoin because i don't want a lite-client or rely on 3rd parties with my coins but on the other hand can't afford upgrading harddrive all the time (especially not with these bad btc prices).



If you raise blocklimit 20-fold it will become unaffordable for normal people to store the blockchain on their computers and because of that people loose access.





It's spelled lose .



and you rather wait for 30 years before your transaction gets through? Because that's what will happen when you keep the filesize at 1 MB



Quote from: homo homini lupus on February 05, 2015, 06:49:27 AM On a sidenote:

I am not the only one totally annoyed by how bitcoin behaves in an effort to keep the dominant position and be the 'one coin for all' and with this hurts the alt-industry. I think at this point it becomes inevitable to start using more than one chain and stop looking at btc as the only coin worth bothering with.

All the problems dissolve at exactly the moment we accept a multi-coin/chain solution.



Allowing altcoins is opening a can of shit, if we just keep inventing and embracing new altcoins all the time, everyone would just print their own coin and how exactly would that be different from every nation issuing their own fiat currency?



Bitcoin is valuable because it's limited, deal with it. No other coins need to replace bitcoin, and if bitcoin is not suitable, we update it. And that's exactly what will happen, bitcoin will get an update, and it will be updated again and again until it is perfected. Just like every other piece of technology, including the internet.



Technology adapts, technology evolves, technology changes, get used to it. The only constant in the universe is change, you either change with it and adapt, or you get left behind.



Quote from: homo homini lupus on February 05, 2015, 06:49:27 AM according to OP, if i understand right: if we don't raise limit little people loose access (i doubt it)

BUT raising the blocklimit will also ensure little people to loose access.

Conclusion: one blockchain for everyone is no viable idea



With raising the blocklimit and creating a chain as big as 200gb and more as soon as 1 or 2 years down the road bitcoin won't be able to reach the enduser.



little people will lose access to the blockchain if we KEEP the limit at 1 MB because the 4 tps or something will never be enough to cover even a fraction of the transactions. You'd need insane amounts of fees to get included in the blockchain, more than any individual could ever afford.



We are currently siting at an average size of about 0.4 MB (so we are not at our limit yet) and it's not being spammed to be full, which is good. But there's not a lot of room left for growth.



40% may not seem like much, but under exponential growth, it's getting dangerously close. And with things like this you really don't want to wait til the last moment.



Also, it's just the LIMIT that increases, it doesn't suddenly increase the ACTUAL size 20 fold, it just increases the MAXIMUM POSSIBLE size 20 fold. So it gives us a little more breathing room, nothing to be scared of.



and lastly, harddisks are very cheap nowadays, and will only become cheaper.



what does it matter if the blockchain is 30 gb or 500 gb? It's not like 2TB harddisks are expensive or anything. Still cheaper than a safe.



Or do you really trust the banks with all your money? See if they don't run off in the event of the next economic collapse? Think the government will bail them out again? With what money? They can't really raise the taxes any higher you know? Not without civil unrest anyway.





I bet you're one of those guys that keep complaining about phone batteries getting smaller, while in reality they get bigger (capacity-wise anyway), but it's all those extra functions that drain the batteries faster than they can create more powerful batteries.



Quote from: homo homini lupus on February 05, 2015, 07:51:12 AM Quote from: RoadStress on February 05, 2015, 07:07:08 AM Quote from: homo homini lupus on February 05, 2015, 06:49:27 AM my point is: the chain is already pretty big. If it becomes 20 fold as big i will be forced to stop using bitcoin because i don't want a lite-client or rely on 3rd parties with my coins but on the other hand can't afford upgrading harddrive all the time (especially not with these bad btc prices).



If you raise blocklimit 20-fold it will become unaffordable for normal people to store the blockchain on their computers and because of that people loose access.



Why does everyone believe that raising the block limit will instantly raise the blockchain too? It will not. It will take time until that will happen!

Why does everyone believe that raising the block limit will instantly raise the blockchain too? It will not. It will take time until that will happen!

yes, my answer is on the other thread. No idea why OP needs to open third thread on the same issue and can't just post his view on the other thread. Probably he feels important enough to open a new thread (he must be extraordinary important) . Maybe i open another one for the same topic with my personal views ... maybe just everyone should open their personal thread for this.

yes, my answer is on the other thread. No idea why OP needs to open third thread on the same issue and can't just post his view on the other thread. Probably he feels important enough to open a new thread (he must be extraordinary important) . Maybe i open another one for the same topic with my personal views ... maybe just everyone should open their personal thread for this.

You had time to post this, but you couldn't just quote yourself here?



I bet you're afraid that we will come up with counter-arguments to it, because you probably realize you are wrong but you're not man enough to admit it. It's spelledand you rather wait for 30 years before your transaction gets through? Because that's what will happen when you keep the filesize at 1 MBAllowing altcoins is opening a can of shit, if we just keep inventing and embracing new altcoins all the time, everyone would just print their own coin and how exactly would that be different from every nation issuing their own fiat currency?Bitcoin is valuable because it's limited, deal with it. No other coins need to replace bitcoin, and if bitcoin is not suitable, we update it. And that's exactly what will happen, bitcoin will get an update, and it will be updated again and again until it is perfected. Just like every other piece of technology, including the internet.Technology adapts, technology evolves, technology changes, get used to it. The only constant in the universe is change, you either change with it and adapt, or you get left behind.little people willaccess to the blockchain if we KEEP the limit at 1 MB because the 4 tps or something will never be enough to cover even a fraction of the transactions. You'd need insane amounts of fees to get included in the blockchain, more than any individual could ever afford.We are currently siting at an average size of about 0.4 MB (so we are not at our limit yet) and it's not being spammed to be full, which is good. But there's not a lot of room left for growth.40% may not seem like much, but under exponential growth, it's getting dangerously close. And with things like this you really don't want to wait til the last moment.Also, it's just the LIMIT that increases, it doesn't suddenly increase the ACTUAL size 20 fold, it just increases the MAXIMUM POSSIBLE size 20 fold. So it gives us a little more breathing room, nothing to be scared of.and lastly, harddisks are very cheap nowadays, and will only become cheaper.what does it matter if the blockchain is 30 gb or 500 gb? It's not like 2TB harddisks are expensive or anything. Still cheaper than a safe.Or do you really trust the banks with all your money? See if they don't run off in the event of the next economic collapse? Think the government will bail them out again? With what money? They can't really raise the taxes any higher you know? Not without civil unrest anyway.I bet you're one of those guys that keep complaining about phone batteries getting smaller, while in reality they get bigger (capacity-wise anyway), but it's all those extra functions that drain the batteries faster than they can create more powerful batteries.You had time to post this, but you couldn't just quote yourself here?I bet you're afraid that we will come up with counter-arguments to it, because you probably realize you are wrong but you're not man enough to admit it.

grau



Offline



Activity: 836

Merit: 1000





bits of proof







Hero MemberActivity: 836Merit: 1000bits of proof Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 08:26:03 AM #34 The OP gives a valid technical argument for raising block size limit, but is neglecting a financial argument against it.



The miners' income has to be greater than the cost of their work. Miners' income is inflation now, but is expected to be replaced by fees,

since inflation halves every four years. Purchasing power of new coins might be sustained for a while but must converge to zero in the limit.



Transaction fees exist only because there is a competition for block space. Eliminating that competition eliminates the fees and with that mining.



Therefore block space has to become and remain a scarce asset.



zimmah



Offline



Activity: 1106

Merit: 1005









LegendaryActivity: 1106Merit: 1005 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 08:27:15 AM #35 Quote from: homo homini lupus on February 05, 2015, 07:10:18 AM Quote from: RoadStress on February 05, 2015, 07:08:51 AM Quote from: homo homini lupus on February 05, 2015, 07:05:11 AM the point is: the chain is already pretty big. If it becomes 20 fold as big i will be forced to stop using bitcoin because i don't want a lite-client or rely on 3rd parties with my coins but on the other hand can't afford upgrading harddrive all the time (especially not with these bad btc prices).



If you raise blocklimit 20-fold it will become unaffordable for normal people to store the blockchain on their computers and because of that people loose access.



No need to post the same thing in 2 separate threads. Here is my answer:



Quote from: RoadStress on February 05, 2015, 07:07:08 AM Quote from: homo homini lupus on February 05, 2015, 06:49:27 AM my point is: the chain is already pretty big. If it becomes 20 fold as big i will be forced to stop using bitcoin because i don't want a lite-client or rely on 3rd parties with my coins but on the other hand can't afford upgrading harddrive all the time (especially not with these bad btc prices).



If you raise blocklimit 20-fold it will become unaffordable for normal people to store the blockchain on their computers and because of that people loose access.



Why does everyone believe that raising the block limit will instantly raise the blockchain too? It will not. It will take time until that will happen!

Why does everyone believe that raising the block limit will instantly raise the blockchain too? It will not. It will take time until that will happen! No need to post the same thing in 2 separate threads. Here is my answer:

Even if it takes time: the blockchain is already very big - if you make it bigger normal people will need to upgrade their hardware to use it and people won't do that.





Right now there isn't even an immediate need to fork so the proposale doesn't make sense at this point in time.



As noted before: reaching the blocklimit will at first result in microtransactions being pushed off the chain and that won't be an issue for most users.



Fork to a bigger chain isn't rational at this point in time. Period.



Do you know how many viable blockchains are out there with almost only empty blocks and very small chanis (below 1bg storage)? Dozens!



Blockchains aren't scarce. So why would i use one blockchain that requires hundreds of GB storage when i can use one almost as secure with much less HD-use? I personally will leave btc behind for good with a larger chain (just refuse using Gavincoin - it isn't even 'bitcoin' - it is really 'gavincoin') or stick to the old fork in case it can survive.

Even if it takes time: the blockchain is already very big - if you make it bigger normal people will need to upgrade their hardware to use it and people won't do that.Right now there isn't even an immediate need to fork so the proposale doesn't make sense at this point in time.As noted before: reaching the blocklimit will at first result in microtransactions being pushed off the chain and that won't be an issue for most users.Fork to a bigger chain isn't rational at this point in time. Period.Do you know how many viable blockchains are out there with almost only empty blocks and very small chanis (below 1bg storage)? Dozens!Blockchains aren't scarce. So why would i use one blockchain that requires hundreds of GB storage when i can use one almost as secure with much less HD-use?(just refuse using Gavincoin - it isn't even 'bitcoin' - it is really 'gavincoin') or stick to the old fork in case it can survive.

I guess you were referring to this one.



even though we never reached over 50% of the maximum blocksize yet, the block sizes vary wildly per block, and grow pretty much exponentially.



Also, we are at about 30% consistently right now.



If it keeps growing at the same rate as it has now, it may very well take a little over a year before we really need the upgrade, but what if it doesn't? What if we get another rally next month, or in two months? Another rally will surely come with an increase in transactions, a massive increase, as can be seen from the charts. And since we are already using about 30% another rally will likely need more than 1MB.



It will not need 20MB, but while we are at it we may as well give ourselves some room.



If we keep the 1MB limit, the next rally will kill bitcoin, because the transactions will be too limited, the network will clog, and people will blame the blockchain technology for it.



And we may very well never get a second chance to do it right.



and all those other blockchains are so small because NO ONE USES THEM



growth is a GOOD thing, more size means more transactions means more users means more value. I guess you were referring to this one.even though we never reached over 50% of the maximum blocksize yet, the block sizes vary wildly per block, and grow pretty much exponentially.Also, we are at about 30% consistently right now.If it keeps growing at the same rate as it has now, it may very well take a little over a year before we really need the upgrade, but what if it doesn't? What if we get another rally next month, or in two months? Another rally will surely come with an increase in transactions, a massive increase, as can be seen from the charts. And since we are already using about 30% another rally will likely need more than 1MB.It will not need 20MB, but while we are at it we may as well give ourselves some room.If we keep the 1MB limit, the next rally will kill bitcoin, because the transactions will be too limited, the network will clog, and people will blame the blockchain technology for it.And we may very well never get a second chance to do it right.and all those other blockchains are so small becausegrowth is a GOOD thing, more size means more transactions means more users means more value.

johnyj



Offline



Activity: 1904

Merit: 1006





Beyond Imagination







LegendaryActivity: 1904Merit: 1006Beyond Imagination Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 08:32:25 AM

Last edit: February 05, 2015, 09:01:50 AM by johnyj #37





http://www.tik.ee.ethz.ch/file/49318d3f56c1d525aabf7fda78b23fc0/P2P2013_041.pdf



Based on this research, it took 0.25 seconds for each KB transaction to reach 90% of network. In another word, a 1MB block will take 256 seconds to broadcast to majority of nodes and that is 4 minutes



When block size reach 10MB, you will have a broadcast time of 40 minutes, means before your block reach the far end of the network, those nodes have already digged out 3 extra blocks thus your block is always orphaned by them. And the whole network will have disagreement about which segment have the longest chain, thus fork into different chains



Gavin's proposal is to let mining pools and farms connect to high speed nodes on internet backbone. That is reasonable, since the propagation time is only meaningful for miners, your transaction will be picked up by the mining nodes closest to you and if those mining nodes have enough bandwidth, they can keep up with the speed. But anyway, how much bandwidth is really needed to broadcast 10MB message in a couple of minutes between hundreds of high speed nodes need to be tested. And this is the risk that someone worried about the centralization of mining nodes: Only those who have ultra high speed internet connection can act as nodes (I'm afraid that chinese farms will be dropped out since their connection to the outside world is extremely slow, they will just fork to their own chain inside mainland china) You must be able to broadcast that huge block to most of the nodes in 10 minutes. I don't see the latest research regarding this area, but there is a paper from 2013Based on this research, it took 0.25 seconds for each KB transaction to reach 90% of network. In another word, a 1MB block will take 256 seconds to broadcast to majority of nodes and that isminutesWhen block size reach 10MB, you will have a broadcast time of 40 minutes, means before your block reach the far end of the network, those nodes have already digged out 3 extra blocks thus your block is always orphaned by them. And the whole network will have disagreement about which segment have the longest chain, thus fork into different chainsGavin's proposal is to let mining pools and farms connect to high speed nodes on internet backbone. That is reasonable, since the propagation time is only meaningful for miners, your transaction will be picked up by the mining nodes closest to you and if those mining nodes have enough bandwidth, they can keep up with the speed. But anyway, how much bandwidth is really needed to broadcast 10MB message in a couple of minutes between hundreds of high speed nodes need to be tested. And this is the risk that someone worried about the centralization of mining nodes: Only those who have ultra high speed internet connection can act as nodes (I'm afraid that chinese farms will be dropped out since their connection to the outside world is extremely slow, they will just fork to their own chain inside mainland china) Why bitcoin will appreciate forever: https://bitcointalk.org/index.php?topic=277275.msg3244038#msg3244038

zimmah



Offline



Activity: 1106

Merit: 1005









LegendaryActivity: 1106Merit: 1005 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 08:32:34 AM #38 Quote from: grau on February 05, 2015, 08:26:03 AM The OP gives a valid technical argument for raising block size limit, but is neglecting a financial argument against it.



The miners' income has to be greater than the cost of their work. Miners' income is inflation now, but is expected to be replaced by fees,

since inflation halves every four years. Purchasing power of new coins might be sustained for a while but must converge to zero in the limit.



Transaction fees exist only because there is a competition for block space. Eliminating that competition eliminates the fees and with that mining.



Therefore block space has to become and remain a scarce asset.





like i have said before in this very thread, it's better to sell 1 billion screws and make 0,01 cent profit from every screw than to sell 1 Lamborghini and make a profit of $100000 from that single sale.



bigger blocks means more transactions which means MORE FEES.



not less fees, MORE fees.



it's a GOOD thing for miners, not a bad thing.



Imagine if you owned a taxi business, but no matter how many taxis and taxi drivers you have, you are only allowed to transfer 500 passengers a day, period. You could own a million cars and a million drivers, but you would still only be allowed 500 passengers. There could be a major sport events like the superbowl or the champions league, 100,000 of people could be waiting for a taxi ready to pay but no, you can not take more than 500, why? because protocol said so.



The blockchain works by supply and demand, and supply is made by the miners themselves, not by some dumb hardcoded limit.



If the miners think 0.001 fee per transaction is too low, they are free to deny those transactions. But they should deny transactions just because 'lol the block is full' like i have said before in this very thread, it's better to sell 1 billion screws and make 0,01 cent profit from every screw than to sell 1 Lamborghini and make a profit of $100000 from that single sale.bigger blocks means more transactions which means MORE FEES.not less fees, MORE fees.it's a GOOD thing for miners, not a bad thing.Imagine if you owned a taxi business, but no matter how many taxis and taxi drivers you have, you are only allowed to transfer 500 passengers a day, period. You could own a million cars and a million drivers, but you would still only be allowed 500 passengers. There could be a major sport events like the superbowl or the champions league, 100,000 of people could be waiting for a taxi ready to pay but no, you can not take more than 500, why? because protocol said so.The blockchain works by supply and demand, and supply is made by the miners themselves, not by some dumb hardcoded limit.If the miners think 0.001 fee per transaction is too low, they are free to deny those transactions. But they should deny transactions just because 'lol the block is full'

amincd



Offline



Activity: 772

Merit: 500







Hero MemberActivity: 772Merit: 500 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 08:55:05 AM #40



Quote On a transaction fee basis.

Currently the cost of the network is roughly $300 million annually. The users of the network are collectively purchasing $300 mil worth of security each year. If users paid $400 million the network would be more secure and if they paid $200 million it would be less secure. Today the majority of this cost is paid indirectly (or subsidized) through the creation of new coins but it is important to keep in mind the total unsubsidized security cost. At 2 tps the network the unsubsidized cost per transaction would be about $5. At 100 tps it would be $0.05. If Bitcoin was widely adopted, more users purchasing more coins should mean a higher exchange rate and thus the value of potential attacks also rises. The future cost of the network will need to rise to ensure that attacks are not economical and non-economic attacks are prohibitively expense relative to the benefit for the attacker. It may not rise linearly but it will need to rise. If someday one Bitcoin is worth $10,000 and we are still only spending $300 million a year on security we probably are going to have a problem. Now advocates of keeping the limit may argue that the majority of the network cost won't be paid by fees for many years but the reality is that with the limit on potential transactions there are only two other ways to balance the equation and that is much higher fees or much lower security. ^ Did you read the entire post? The OP fully addressed the effect on fees:

ABitNut



Offline



Activity: 762

Merit: 500





I'm a cynic, I'm a quaint







Hero MemberActivity: 762Merit: 500I'm a cynic, I'm a quaint Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 08:57:27 AM #41 Quote from: zimmah on February 05, 2015, 08:32:34 AM Quote from: grau on February 05, 2015, 08:26:03 AM The OP gives a valid technical argument for raising block size limit, but is neglecting a financial argument against it.



The miners' income has to be greater than the cost of their work. Miners' income is inflation now, but is expected to be replaced by fees,

since inflation halves every four years. Purchasing power of new coins might be sustained for a while but must converge to zero in the limit.



Transaction fees exist only because there is a competition for block space. Eliminating that competition eliminates the fees and with that mining.



Therefore block space has to become and remain a scarce asset.





like i have said before in this very thread, it's better to sell 1 billion screws and make 0,01 cent profit from every screw than to sell 1 Lamborghini and make a profit of $100000 from that single sale.



bigger blocks means more transactions which means MORE FEES.



not less fees, MORE fees.



it's a GOOD thing for miners, not a bad thing.



Imagine if you owned a taxi business, but no matter how many taxis and taxi drivers you have, you are only allowed to transfer 500 passengers a day, period. You could own a million cars and a million drivers, but you would still only be allowed 500 passengers. There could be a major sport events like the superbowl or the champions league, 100,000 of people could be waiting for a taxi ready to pay but no, you can not take more than 500, why? because protocol said so.



The blockchain works by supply and demand, and supply is made by the miners themselves, not by some dumb hardcoded limit.



If the miners think 0.001 fee per transaction is too low, they are free to deny those transactions. But they should deny transactions just because 'lol the block is full'

like i have said before in this very thread, it's better to sell 1 billion screws and make 0,01 cent profit from every screw than to sell 1 Lamborghini and make a profit of $100000 from that single sale.bigger blocks means more transactions which means MORE FEES.not less fees, MORE fees.it's a GOOD thing for miners, not a bad thing.Imagine if you owned a taxi business, but no matter how many taxis and taxi drivers you have, you are only allowed to transfer 500 passengers a day, period. You could own a million cars and a million drivers, but you would still only be allowed 500 passengers. There could be a major sport events like the superbowl or the champions league, 100,000 of people could be waiting for a taxi ready to pay but no, you can not take more than 500, why? because protocol said so.The blockchain works by supply and demand, and supply is made by the miners themselves, not by some dumb hardcoded limit.If the miners think 0.001 fee per transaction is too low, they are free to deny those transactions. But they should deny transactions just because 'lol the block is full'

To clarify... Suppose there are 5 transactions:

# Fee Size Fee per 256 KB 1 0.1 512KB 0.05 2 0.1 512KB 0.05 3 0.05 256KB 0.05 4 0.05 256KB 0.05 5 0.01 256KB 0.01

Now with the 1 MB limit the miner can, at most, earn BTC 0.2.

With a 20MB limit the miner can earn BTC 0.31. More than 1.5x as much as with the 1MB limit! Did their cost increase 1.5x? I don't see that. I wonder which fork miners would pick... To clarify... Suppose there are 5 transactions:Now with the 1 MB limit the miner can, at most, earn0.2.With a 20MB limit the miner can earn0.31. More than 1.5x as much as with the 1MB limit! Did their cost increase 1.5x? I don't see that. I wonder which fork miners would pick...

zimmah



Offline



Activity: 1106

Merit: 1005









LegendaryActivity: 1106Merit: 1005 Re: Permanently keeping the 1MB (anti-spam) restriction is a great idea ... February 05, 2015, 09:07:51 AM

Last edit: February 05, 2015, 09:25:02 AM by zimmah #42 Quote from: grau on February 05, 2015, 08:47:46 AM Quote from: zimmah on February 05, 2015, 08:32:34 AM The blockchain works by supply and demand, and supply is made by the miners themselves, not by some dumb hardcoded limit.



You assume that miner can effectively control supply. This in absence of a block size limit is only the case if they are building cartels, that artificially limit the supply.



Is that you really prefer instead of an algorithmic decision?

Remember Bitcoin's promise is to operate without the need of cartels and authorities.

You assume that miner can effectively control supply. This in absence of a block size limit is only the case if they are building cartels, that artificially limit the supply.Is that you really prefer instead of an algorithmic decision?Remember Bitcoin's promise is to operate without the need of cartels and authorities.

oh but you can.



the miners decide which transactions are valid and which are not.



you can make your own rules about which fees to accept and which fees not to accept. You can even ban individual transactions or addresses if you want.



I'm pretty sure there's also a way to make your own limits to the size of the block you want to solve, as long as it's not bigger than the hard-coded limit.



As long as your block is considered "valid" by the rest of the network you decide the rules about which transactions you accept and which you dont accept.



If you have sufficient power as a miner, you can have a pretty big influence on the fees. And any miner who's not stupid will ask for at least a small fee. Or like make something like a 250KB limit for 'free transactions' and reserve the rest of the block for transactions with fee, the more fee the more priority, something like that.



be creative...



just because there's the POSSIBILITY of 20MB doesnt mean you HAVE TO use it.



There's not even a need for cartels, but each miner/pool will set their own limits based on some calculations.



Do i really need to do all your thinking for you?



Calculations would be roughly based on



how much electricity does mining cost for me?

how much $/kWh in my area?

how much transactions are in an average block lately?

how many blocks do i solve (or more likely does your pool solve) per hour

how much of a % do i influence the pool?

how much is the block reward if any? (and how much does it cover the cost of mining?)

how long does this mining equipment stay competive

how much did my equipment cost and how much will i need to profit to invest in new one

overhead costs

weight all those factors against each other and you can make a rough estimate on how much fees you should ask for an average transaction.



now let's suppose we're far into the future and we rely mostly on fees as opposed to block rewards.



lets also assume there's (for simplicity sake) 8 large pools controlling a majority of the mining. (not to say this will happen but just to keep the calculations easy).



Pool A asks for a fee of 1 bitcoin minimum. and controls 25% of the network

Pool B asks for a fee of 0.001 bitcoin minimum and controls 5% of the network

Pool C asks for a fee of 0.005 bitcoin and controls 10% of the network

Pool D asks for a fee of 0.003 bitcoin and controls 10% of the network

pool E asks for a fee of 0.5 bitcoin and controls 15% of the network

pool F asks for a fee of 1 satoshi and controls 10% of the network

Pool G asks for a fee of 0.01 bitcoin and controls 15% of the network

Pool H asks for a fee of 0.025 bitcoin and remains the remaining 10%



now if i would want to sent a transaction and be absolutely sure it gets confirmed 6 times within the next 6 blocks (which should take about an hour) I should add a fee of 1 bitcoin.



However, if i'm satisfied with a 75% chance of waiting for a block i just add a fee of 0.5 instead.



If i am satisfied with a chance of 60% to have to wait a block, i'd add a fee of 0.025 and so on.



Of course as the user I don't know exactly what the miners ask in fees, so it's a bit of trial and error. But most users will add a fee that proved to work for them in the past.



Many large transactions or transactions that NEED to be processed fast will likely have a higher fee to ENSURE a fast transaction (some miners only accept large fees) smaller transactions (which will be more plentiful) will add lower fees, risk waiting a little bit longer.



The miners who accept smaller fees will process more transactions and the sheer volume of transactions may actually add up. But the few big transactions that the other pools sometimes pick up may also bring in some large chunks of fees from time to time.



There's no need for a hard-code