<oembed><type>rich</type><version>1.0</version><author_name>npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet</author_name><author_url>https://nostr.ae/npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-05-06&#xA;📝 Original message:On Wed, May 6, 2015 at 10:12 PM, Matt Corallo &lt;bitcoin-list at bluematt.me&gt;&#xA;wrote: &gt; Recently there has been a flurry of posts by Gavin at &gt;&#xA;http://gavinandresen.svbtle.com/ which advocate strongly for increasing &gt;&#xA;the maximum block size. However, there hasnt been any discussion on this &gt;&#xA;mailing list in several years as far as I can tell.&#xA;&#xA;Thanks Matt; I was actually really confused by this sudden push with&#xA;not a word here or on Github--so much so that I responded on Reddit to&#xA;people pointing to commits in Gavin&#39;s personal repository saying they&#xA;were reading too much into it.&#xA;&#xA;So please forgive me for the more than typical disorganization in this&#xA;message; I&#39;ve been caught a bit flatfooted on this and I&#39;m trying to&#xA;catch up. I&#39;m juggling a fair amount of sudden pressure in my mailbox,&#xA;and trying to navigate complex discussions in about eight different&#xA;forums concurrently.&#xA;&#xA;There have been about a kazillion pages of discussion elsewhere&#xA;(e.g. public IRC and Bitcointalk; private discussions in the past),&#xA;not all of which is well known, and I can&#39;t hope to summarize even a&#xA;tiny fraction of it in a single message-- but that&#39;s no reason to not&#xA;start on it.&#xA;&#xA;&gt; Block size is a question to which there is no answer, but which &gt;&#xA;certainly has a LOT of technical tradeoffs to consider.&#xA;&#xA;There are several orthogonal angles from which block size is a concern&#xA;(both increases and non-increases). Most of them have subtle implications&#xA;and each are worth its own research paper or six, so it can be difficult&#xA;to only touch them slightly without creating a gish gallop that is hard&#xA;to respond to.&#xA;&#xA;We&#39;re talking about tuning one of the fundamental scarcities of the&#xA;Bitcoin Economy and cryptosystem--leaving the comfort of &#34;rule by&#xA;math&#34; and venturing into the space of political decisions; elsewhere&#xA;you&#39;d expect to see really in-depth neutral analysis of the risks and&#xA;tradeoffs, technically and economically.  And make no mistake: there&#xA;are real tradeoffs here, though we don&#39;t know their exact contours.&#xA;&#xA;Fundamentally this question exposes ideological differences between people&#xA;interested in Bitcoin.  Is Bitcoin more of a digital gold or is it more&#xA;of a competitor to Square?  Is Bitcoin something that should improve&#xA;personal and commercial autonomy from central banks?  From commercial&#xA;banks? Or from just the existing status-quo commercial banks?   What are&#xA;people&#39;s fundamental rights with Bitcoin?  Do participants have a&#xA;right to mine? How much control should third parties have over their&#xA;transactions?  How much security must be provided? Is there a deadline&#xA;for world domination or bust?  Is Bitcoin only for the developed world?&#xA;Must it be totally limited by the most impoverished parts of the world?&#xA;&#xA;Bitcoin exists at the intersection of many somewhat overlapping belief&#xA;systems--and people of many views can find that Bitcoin meets their&#xA;needs even when they don&#39;t completely agree politically.  When Bitcoin&#xA;is changed fundamentally, via a hard fork, to have different properties,&#xA;the change can create winners or losers (if nothing else, then in terms&#xA;of the kind of ideology supported by it).&#xA;&#xA;There are non-trivial number of people who hold extremes on any of&#xA;these general belief patterns; Even among the core developers there is&#xA;not a consensus on Bitcoin&#39;s optimal role in society and the commercial&#xA;marketplace.&#xA;&#xA;To make it clear how broad the views go, even without getting into&#xA;monetary policy... some people even argue that Bitcoin should act&#xA;as censor-resistant storage system for outlawed content; -- I think&#xA;this view is unsound, not achievable with the technology, and largely&#xA;incompatible with Bitcoin&#39;s use as a money (because it potentially&#xA;creates an externalized legal/harassment liability for node operators);&#xA;but these are my personal value judgments; the view is earnestly held&#xA;by more than a few; and that&#39;s a group that certainly wants the largest&#xA;possible blocksizes (though even then that won&#39;t be enough).&#xA;&#xA;The subject is complicated even more purely on the technical side&#xA;by the fact that Bitcoin has a layered security model which is not&#xA;completely defined or understood: Bitcoin is secure if a majority of&#xA;hashrate is &#34;honest&#34; (where &#34;honesty&#34; is a technical term which means&#xA;&#34;follows the right rules&#34; without fail, even at a loss), but why might&#xA;it be honest? That sends us into complex economic and social arguments,&#xA;and the security thresholds start becoming worse when we assume some&#xA;miners are economically rational instead of &#34;honest&#34;.&#xA;&#xA;&gt; increase in the near future. Long-term incentive compatibility requires&#xA;&gt; that there be some fee pressure, and that blocks be relatively &gt;&#xA;consistently full or very nearly full. What we see today are&#xA;&#xA;To elaborate, in my view there is a at least a two fold concern on this&#xA;particular (&#34;Long term Mining incentives&#34;) front:&#xA;&#xA;One is that the long-held argument is that security of the Bitcoin system&#xA;in the long term depends on fee income funding autonomous, anonymous,&#xA;decentralized miners profitably applying enough hash-power to make&#xA;reorganizations infeasible.&#xA;&#xA;For fees to achieve this purpose, there seemingly must be an effective&#xA;scarcity of capacity.  The fact that verifying and transmitting&#xA;transactions has a cost isn&#39;t enough, because all the funds go to pay&#xA;that cost and none to the POW &#34;artificial&#34; cost; e.g., if verification&#xA;costs 1 then the market price for fees should converge to 1, and POW&#xA;cost will converge towards zero because they adapt to whatever is&#xA;being applied. Moreover, the transmission and verification costs can&#xA;be perfectly amortized by using large centralized pools (and efficient&#xA;differential block transmission like the &#34;O(1)&#34; idea) as you can verify&#xA;one time instead of N times, so to the extent that verification/bandwidth&#xA;is a non-negligible cost to miners at all, it&#39;s a strong pressure to&#xA;centralize.  You can understand this intuitively: think for example of&#xA;carbon credit cap-and-trade: the trade part doesn&#39;t work without an&#xA;actual cap; if everyone was born with a 1000 petaton carbon balance,&#xA;the market price for credits would be zero and the program couldn&#39;t hope&#xA;to share behavior. In the case of mining, we&#39;re trying to optimize the&#xA;social good of POW security. (But the analogy applies in other ways too:&#xA;increases to the chain side are largely an externality; miners enjoy the&#xA;benefits, everyone else takes the costs--either in reduced security or&#xA;higher node operating else.)&#xA;&#xA;This area has been subject to a small amount of academic research&#xA;(e.g. http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2400519). But&#xA;there is still much that is unclear.&#xA;&#xA;The second is that when subsidy has fallen well below fees, the incentive&#xA;to move the blockchain forward goes away.  An optimal rational miner&#xA;would be best off forking off the current best block in order to capture&#xA;its fees, rather than moving the blockchain forward, until they hit&#xA;the maximum. That&#39;s where the &#34;backlog&#34; comment comes from, since when&#xA;there is a sufficient backlog it&#39;s better to go forward.  I&#39;m not aware&#xA;of specific research into this subquestion; it&#39;s somewhat fuzzy because&#xA;of uncertainty about the security model. If we try to say that Bitcoin&#xA;should work even in the face of most miners being profit-maximizing&#xA;instead of altruistically-honest, we must assume the chain will not&#xA;more forward so long as a block isn&#39;t full.  In reality there is more&#xA;altruism than zero; there are public pressures; there is laziness, etc.&#xA;&#xA;One potential argument is that maybe miners would be _regulated_ to&#xA;behave correctly. But this would require undermining the openness of the&#xA;system--where anyone can mine anonymously--in order to enforce behavior,&#xA;and that same enforcement mechanism would leave a political level to&#xA;impose additional rules that violate the extra properties of the system.&#xA;&#xA;So far the mining ecosystem has become incredibly centralized over time.&#xA;I believe I am the only remaining committer who mines, and only a few&#xA;of the regular contributors to Bitcoin Core do. Many participants&#xA;have never mined or only did back in 2010/2011... we&#39;ve basically&#xA;ignored the mining ecosystem, and this has had devastating effects,&#xA;causing a latent undermining of the security model: hacking a dozen or&#xA;so computers--operated under totally unknown and probably not strong&#xA;security policies--could compromise the network at least at the tip...&#xA;Rightfully we should be regarding this an an emergency, and probably&#xA;should have been have since 2011.  This doesn&#39;t bode well for our ability&#xA;to respond if a larger blocksize goes poorly. In kicking the can with&#xA;the trivial change to just bump the size, are we making an implicit&#xA;decision to go down a path that has a conclusion we don&#39;t want?&#xA;&#xA;(There are also shorter term mining incentives concerns; which Peter&#xA;Todd has written more about, that I&#39;ll omit for now)&#xA;&#xA;&gt; pretending these systems scale. Thus, instead of working on technologies&#xA;&gt; which bring Bitcoin&#39;s trustlessness to systems which scale beyond a&#xA;&#xA;I made a few relevant points back in 2011&#xA;(https://en.bitcoin.it/w/index.php?title=Scalability&amp;action=historysubmit&amp;diff=14273&amp;oldid=14112)&#xA;after Dan Kaminsky argued that Bitcoin&#39;s decentralization was pretext:&#xA;that it was patently centralized since scaling directly in the network&#xA;would undermine decentralization, that the Bitcoin network necessarily&#xA;makes particular tradeoffs which prevent it from concurrently being all&#xA;things to all people.  But tools like the Lightning network proposal could&#xA;well allow us to hit a greater spectrum of demands at once--including&#xA;secure zero-confirmation (something that larger blocksizes reduce if&#xA;anything), which is important for many applications.  With the right&#xA;technology I believe we can have our cake and eat it too, but there needs&#xA;to be a reason to build it; the security and decentralization level of&#xA;Bitcoin imposes a _hard_ upper limit on anything that can be based on it.&#xA;&#xA;Another key point here is that the small bumps in blocksize which&#xA;wouldn&#39;t clearly knock the system into a largely centralized mode--small&#xA;constants--are small enough that they don&#39;t quantitatively change the&#xA;operation of the system; they don&#39;t open up new applications that aren&#39;t&#xA;possible today. Deathandtaxes on the forum argued that Bitcoin needs&#xA;a several hundred megabyte blocksize to directly meet the worldwide&#xA;transaction needs _without retail_... Why without retail? Retail needs&#xA;near instant soft security, which cannot be achieved directly with a&#xA;global decentralized blockchain.&#xA;&#xA;I don&#39;t think 1MB is magic; it always exists relative to widely-deployed&#xA;technology, sociology, and economics. But these factors aren&#39;t a simple&#xA;function; the procedure I&#39;d prefer would be something like this: if there&#xA;is a standing backlog, we-the-community of users look to indicators to&#xA;gauge if the network is losing decentralization and then double the&#xA;hard limit with proper controls to allow smooth adjustment without&#xA;fees going to zero (see the past proposals for automatic block size&#xA;controls that let miners increase up to a hard maximum over the median&#xA;if they mine at quadratically harder difficulty), and we don&#39;t increase&#xA;if it appears it would be at a substantial increase in centralization&#xA;risk. Hardfork changes should only be made if they&#39;re almost completely&#xA;uncontroversial--where virtually everyone can look at the available data&#xA;and say &#34;yea, that isn&#39;t undermining my property rights or future use&#xA;of Bitcoin; it&#39;s no big deal&#34;.  Unfortunately, every indicator I can&#xA;think of except fee totals has been going in the wrong direction almost&#xA;monotonically along with the blockchain size increase since 2012 when&#xA;we started hitting full blocks and responded by increasing the default&#xA;soft target.  This is frustrating; from a clean slate analysis of network&#xA;health I think my conclusion would be to _decrease_ the limit below the&#xA;current 300k/txn/day level.&#xA;&#xA;This is obviously not acceptable, so instead many people--myself&#xA;included--have been working feverishly hard behind the scenes on Bitcoin&#xA;Core to increase the scalability.  This work isn&#39;t small-potatoes&#xA;boring software engineering stuff; I mean even my personal contributions&#xA;include things like inventing a wholly new generic algebraic optimization&#xA;applicable to all EC signature schemes that increases performance by 4%,&#xA;and that is before getting into the R&amp;D stuff that hasn&#39;t really borne&#xA;fruit yet, like fraud proofs.  Today Bitcoin Core is easily &gt;100 times&#xA;faster to synchronize and relay than when I first got involved on the&#xA;same hardware, but these improvements have been swallowed by the growth.&#xA;The ironic thing is that our frantic efforts to keep ahead and not&#xA;lose decentralization have both not been enough (by the best measures,&#xA;full node usage is the lowest its been since 2011 even though the user&#xA;base is huge now) and yet also so much that people could seriously talk&#xA;about increasing the block size to something gigantic like 20MB. This&#xA;sounds less reasonable when you realize that even at 1MB we&#39;d likely&#xA;have a smoking hole in the ground if not for existing enormous efforts&#xA;to make scaling not come at a loss of decentralization.&#xA;&#xA;&#xA;I&#39;m curious as to what discussions people have seen; e.g., are people&#xA;even here aware of these concerns? Are you aware of things like the&#xA;hashcash mediated dynamic blocksize limiting?  About proposals like&#xA;lightning network (instant transactions and massive scale, in exchange&#xA;for some short term DOS risk if a counterparty opts out)?   Do people&#xA;(other than Mike Hearn; I guess) think a future where everyone depends&#xA;on a small number of &#34;Google scale&#34; node operations for the system is&#xA;actually okay? (I think not, and if so we&#39;re never going to agree--but&#xA;it can be helpful to understand when a disagreement is ideological).</html></oembed>