summaryrefslogtreecommitdiff
path: root/eb/2dc4f9b902f7d9920a96706921356e0d0e795a
blob: 081731743f845b7f22991f55ca8f94695ccae777 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
Return-Path: <luzius.meisser@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id B95151114
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Thu, 28 Jan 2016 20:17:02 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-ob0-f181.google.com (mail-ob0-f181.google.com
	[209.85.214.181])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 87DED117
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Thu, 28 Jan 2016 20:17:01 +0000 (UTC)
Received: by mail-ob0-f181.google.com with SMTP id wb13so12445838obb.1
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Thu, 28 Jan 2016 12:17:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc:content-type;
	bh=bD8wioED71Lns6uA5+/Gmkan/Aoc5ecTVXFD1lle6TE=;
	b=kgbLCxSn+VXDi6YW3mXOmw9mJTBrNY1a8P92Vyn6mj5jBB5TG1Qv+NSnvwhXcDMttj
	pDrumRAGw0xzkB0N+uAELd47mZPkAvaTR1gsHFbYoQtoEmQDkQunr5GhV3VW/RpV4k+U
	wgP6RdSlZApvDHhyK4a/XigrghgsWmqAMomnE0rrVBao4h4xyMxSJngxYlMDFOK3KX7s
	N8tkH2xBSEkreB0bpMbG4Fk2T5B4P5gk10g6cur4lczHYbKEFrLTEp/VkHOW3H0Grz/Q
	pvlxUjOGVUYrvCFNOQgg5COtbndj8G2CG40DTZc1EQ4kAXDjfd0s1qJMOLYiccwRWkDv
	gwEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20130820;
	h=x-gm-message-state:mime-version:in-reply-to:references:from:date
	:message-id:subject:to:cc:content-type;
	bh=bD8wioED71Lns6uA5+/Gmkan/Aoc5ecTVXFD1lle6TE=;
	b=licn3tNkAU7+yIN+gul83/dI9vYaUZ5bpyG2q5MS2YeAgDnF0xuL9Dg5gRfKj/4tJ4
	reANeYvZsLyuHuXHa9ODyaeGOkV4NPE+cBGpTxJoLoO+W5rTRZCDgaYLBp1OFQlgXUdQ
	LQC1KNWpMN7oiAJnjquYWnOLzbVT2044UdaP1MDlXkPJKuc8hq/MCyf3v/3Hr1ruOAX4
	gqSAHPXqafgxoTJ0qmm6GvnBftUkMP5uCZsdtebU4lWy8Zud3Q0KsYDTsJpzc3spVjZ3
	ATdrP+xd8FzB/eXp4rhWwD8Y5Da4FMZUlmANviM6IK4IxD3Io229FW0LmxqQ1WuvSZeQ
	sV8Q==
X-Gm-Message-State: AG10YOQgsagpL1tN25cDLjU77VA59AV0RsP+nUvylESASsILf1a/N3cg2Q76II9OQ0oJb+Q4fw6NcjtrwzpGBQ==
X-Received: by 10.60.58.103 with SMTP id p7mr3938131oeq.2.1454012220968; Thu,
	28 Jan 2016 12:17:00 -0800 (PST)
MIME-Version: 1.0
Received: by 10.202.168.144 with HTTP; Thu, 28 Jan 2016 12:16:41 -0800 (PST)
In-Reply-To: <CAMuv0Z1yo7-zzj75nXFf9kJNJfmxOoxqHMpDmmNM9uQzFKZ_xQ@mail.gmail.com>
References: <CAMuv0Z2gjNKc52UFV2n3H1ckt30chS7=fEUwO8OpfU1Vg7Ayzw@mail.gmail.com>
	<CAEz79PrVfdy5g=XcajMvKtCMUCtG44A8N_UAM8NrzZL00cvjiA@mail.gmail.com>
	<CAMuv0Z1yo7-zzj75nXFf9kJNJfmxOoxqHMpDmmNM9uQzFKZ_xQ@mail.gmail.com>
From: Luzius Meisser <luzius.meisser@gmail.com>
Date: Thu, 28 Jan 2016 21:16:41 +0100
Message-ID: <CAMuv0Z1r9u9_ru8ouLuxh1M7O2k_6RqmGe6Tf2XKsqi+mOvY7g@mail.gmail.com>
To: "Warren Togami Jr." <wtogami@gmail.com>
Content-Type: text/plain; charset=UTF-8
X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM,
	RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
X-Mailman-Approved-At: Thu, 28 Jan 2016 20:20:28 +0000
Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Fee smoothing
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Thu, 28 Jan 2016 20:17:02 -0000

2016-01-28 13:00 GMT+01:00  Warren Togami Jr. <wtogami@gmail.com>:
> Myself and a few other developers think proposals like BIP100 where the
> block size is subject to a vote by the miners is suboptimal because this
> type of vote is costless.

The cost of the vote is completely irrelevant. What matters are the
resulting block sizes and transaction fees. Assuming rational,
profit-maximizing miners, BIP100 would allow them to effectively
enforce a cartel and to set block sizes (and thereby indirectly also
fees) at monopoly price levels. Charging something for a vote would
not affect that equilibrium and thus also neither affect block sizes
nor fees. Also note that monopoly prices are always at least as high
as competitive market prices. In other words: the transaction fees
that emerge under BIP100 will be higher than those that would emerge
with a flex cap mechanism that is based on the total marginal costs of
the miners. If you do not believe that, I'll happily go into the gory
details.

> You were astute in recognizing in your post it's
> a good thing to somehow align the global marginal cost with the miner's
> incentive.  I feel a costless vote is not great because it aligns only to
> the miner's marginal cost, and not the marginal cost to the entire flood
> network.  Flex Cap is superior as "vote" mechanism as there is an actual
> cost associated, allowing block size to grow with actual demand.

There are two types of flex cap mechanisms: First, there mechanisms
like the one I described previously which ensures that supply is based
on the actual costs of the miners. If done right, they can lead to a
competitive equilibrium with free market prices. Second, there are
flex cap mechanisms that simply replace todays centrally planned
constant cap with a centrally planned supply curve. If you believe in
central planning, that's ok. I for one prefer to avoid it. Also, it is
not much better than the constant cap, maybe even worse.

Note that neither type of flex cap adjusts to the marginal cost of the
entire network, simply because none of them can measure the cost of
running a full node, yet alone reliably detect the number of running
full nodes. Any attempt to do so would be futile anyway because it
would too easy to pretend-run full nodes in order to manipulate the
mechanism. When reasoning about full nodes, completely different
forces are at play. The only connection between full nodes and the fee
market is that larger blocks make it more expensive to run a full
node.

However, a holistic analysis must also reason about the benefits of
running a full node. I often see one-sided arguments saying that
increasing block sizes will make running one more expensive and thus
there will be fewer nodes. This logic is flawed because the economic
reasons for running a full node are not understood and taken into
account. An example reason could be the ability to monitor the network
and to verify transactions, which is very valuable to exchanges,
merchants and wallet services. To them, this value of running a full
node even grows with the number of customers. Thus, depending on the
circumstances, increase block sizes can counter-intuitively make it
more attractive to run a full node. The big picture from a systemic
perspective can look completely different than the conventional
micro-view that only sees first-order effects. Unfortunately, most
people are not great systems-thinkers.



2016-01-27 11:12 GMT+01:00 Luzius Meisser <luzius.meisser@gmail.com>:
> 2016-01-27 3:45 GMT+01:00 Warren Togami Jr. <wtogami@gmail.com>:
>> On Tue, Jan 26, 2016 at 9:42 AM, Luzius Meisser via bitcoin-dev
>> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>>
>>> Idea: currently, the total amount of fees collected in a block is paid
>>> out in full to whoever mined that block. I propose to only pay out,
>>> say, 10% of the collected fees, and to add the remaining 90% to the
>>> collected fees of the next block. Thus, the payout to the miner
>>> constitutes a rolling average of collected fees from the current and
>>> past blocks.
>>
>> [...] Another major issue with mandatory sharing is
>> if the miner doesn't want to share, nothing stops them from taking payment
>> out-of-band and confirming the transaction with little or no fees visible in
>> the block.
>
> While I find the other points you raised debatable, the out-of-band
> argument looks strong enough to kill the idea. To work around it, one
> would need to create rules about the transactions that can be included
> in a block, for example by mandating that all included transactions
> must have a fee at least as high as 0.9 times the 5th percentile of
> the transactions in the previous 10 blocks. However, having to tell
> the miners what fees they are allowed to accept destroys some of the
> elegance of the idea. Maybe I should put it to rest for now and see if
> a more elegant solution comes to mind later.
>
>> While I don't agree with the rest of your logic, it is agreeable that you
>> care about aligning the miner's supply incentives with the global marginal
>> cost.  If you believe that is an important goal, you might like the Flex Cap
>> approach as presented by Mark Friedenbach at Scaling Bitcoin Hong Kong.
>> Under the general idea of the Flex Cap approach block size is no longer
>> fixed, it can be bursted higher on a per-block basis if the miner is willing
>> to defer a tiny portion of the current block subsidy to pay out to the miner
>> of later blocks.
>> [...]
>> Flex Cap is an area of ongoing research that I strongly believe would
>> benefit Bitcoin in the long-term.  For this reason it requires careful study
>> and simulations to figure out specifics.
>
> I agree that flex cap is promising. However, for it to be a viable
> long-term solution, it must not depend on significant block subsidies
> to work as the block subsidy will become less and less relevant over
> time.
>
> Picking up your thoughts, I guess this is how flex cap should be done:
> 1. There is a flexible block cap (e.g. 1 MB). This first MB is free to fill.
> 2. Miners can buy additional space for an exponentially increasing
> fee. For example, the first KiB might cost 200 Satoshis, the second
> KiB 400 Satoshis, the tenth KiB 102400 Satoshis etc.
> 3. The price of the purchased space is subtracted from the collected
> fees and added to the reward of the next block.
> 4. The amount miners are willing to spend on additional space allows
> to calculate the marginal costs of a transaction of a miner. For
> example, if a miner pays 6000 Satoshis to include a 1 KB transaction
> with a fee of 6100 Satoshis, the marginal costs must be below 100
> Satoshis, assuming a rational miner. This cost is multiplied by say 50
> to account for the costs of decentralization to get a global cost
> estimate of 5000 Satoshis per KB.
> 5. Every 1000 blocks or so, the basic cap is adjusted upwards or
> downwards (e.g. by 10%) depending on whether the average fees per KB
> were above or below the global cost estimate.
>
> Under such a scheme, prices should get very close to free market
> prices. However, ruthless competition can get ugly in markets where
> fixed costs dominate. We can currently witness this in the oil
> industry. Thus, from an economic point of view, it might be more
> advisable to simply let miners vote on block size, as has been
> proposed by others. The drawback of voting is that it allows miners to
> enforce a cartel among themselves and to charge monopoly prices
> instead of competitive prices. However, monopoly prices would already
> be much better than having an artificial cap.
>
> Warren, thank you for your thoughts! I appreciate the opportunity to
> discuss ideas at such a high level.
>
> --
> Luzius Meisser
> President of Bitcoin Association Switzerland
> MSc in Computer Science and MA in Economics



-- 
Luzius Meisser
luzius.meisser@gmail.com