summaryrefslogtreecommitdiff
path: root/9e/c05cb9ec95a3dbde1084fd317fca29f4fb8db9
blob: 88cba931e93ae165ab0d986d844ef9d206ccc0fb (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
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
	helo=mx.sourceforge.net)
	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <voisine@gmail.com>) id 1Z2nOP-0007VJ-DN
	for bitcoin-development@lists.sourceforge.net;
	Wed, 10 Jun 2015 21:18:37 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.216.171 as permitted sender)
	client-ip=209.85.216.171; envelope-from=voisine@gmail.com;
	helo=mail-qc0-f171.google.com; 
Received: from mail-qc0-f171.google.com ([209.85.216.171])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1Z2nOO-0006pL-0A
	for bitcoin-development@lists.sourceforge.net;
	Wed, 10 Jun 2015 21:18:37 +0000
Received: by qcjl8 with SMTP id l8so3214613qcj.3
	for <bitcoin-development@lists.sourceforge.net>;
	Wed, 10 Jun 2015 14:18:30 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.140.239.129 with SMTP id k123mr7023804qhc.66.1433971110610; 
	Wed, 10 Jun 2015 14:18:30 -0700 (PDT)
Received: by 10.140.91.37 with HTTP; Wed, 10 Jun 2015 14:18:30 -0700 (PDT)
In-Reply-To: <CANEZrP3+jW3BO=Zv41CGubJL7bSZ==o=Wp83K6Q0xL4PP+0ZUQ@mail.gmail.com>
References: <CAFdHNGgtgWGu8gnnJfM0EcVn2m_Wff5HPwAe-9FBvjR++q0Q-Q@mail.gmail.com>
	<CANEZrP3+jW3BO=Zv41CGubJL7bSZ==o=Wp83K6Q0xL4PP+0ZUQ@mail.gmail.com>
Date: Wed, 10 Jun 2015 14:18:30 -0700
Message-ID: <CACq0ZD6Qr7F7_20Nfd0a8TTHEVMR0fxu-T5bO4FfN1Lp9PcGDQ@mail.gmail.com>
From: Aaron Voisine <voisine@gmail.com>
To: Mike Hearn <mike@plan99.net>
Content-Type: multipart/alternative; boundary=001a1135a2f4aa90700518306a0a
X-Spam-Score: -0.6 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(voisine[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1Z2nOO-0006pL-0A
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Proposal: SPV Fee Discovery mechanism
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Wed, 10 Jun 2015 21:18:37 -0000

--001a1135a2f4aa90700518306a0a
Content-Type: text/plain; charset=UTF-8

The other complication is that this will tend to be a lagging indicator
based on network congestion from the last time you connected. If we assume
that transactions are being dropped in an unpredictable way when blocks are
full, knowing the network congestion *right now* is critical, and even then
you just have to hope that someone who wants that space more than you do
doesn't show up after you disconnect.


Aaron Voisine
co-founder and CEO
breadwallet.com

On Wed, Jun 10, 2015 at 1:26 PM, Mike Hearn <mike@plan99.net> wrote:

> I described an alternative way for SPV wallets to learn about fees some
> time ago. It requires a new transaction version that embeds output values
> into the signed data. Then an upgrade to the P2P protocol to send UTXO data
> along with transactions when they are relayed.
>
> The idea is that the wallet sets a Bloom filter with an FP rate that
> ensures it will see some random subset of all transactions being broadcast
> on the network, and with the extra data, it can calculate the fee paid.
> Once a transaction broadcast is observed the wallet includes that tx hash
> in its next Bloom filter, thus it can see which block the tx confirmed in.
> By measuring the amount of time that passed between a broadcast and it
> appearing in a block, it can calculate its own tables of fee paid:time
> taken.
>
> This has the advantage that you don't have to trust miners to publish data
> accurately. However it requires some protocol upgrades and of course, a lot
> of new code in SPV wallets.
>
> The way Bitcoin Wallet for Android handles fees currently is to just
> update a hard coded value every so often.
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>

--001a1135a2f4aa90700518306a0a
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">The other complication is that this will tend to be a lagg=
ing indicator based on network congestion from the last time you connected.=
 If we assume that transactions are being dropped in an unpredictable way w=
hen blocks are full, knowing the network congestion *right now* is critical=
, and even then you just have to hope that someone who wants that space mor=
e than you do doesn&#39;t show up after you disconnect.</div><div class=3D"=
gmail_extra"><br clear=3D"all"><div><div class=3D"gmail_signature"><div dir=
=3D"ltr"><div><div dir=3D"ltr"><div><br>Aaron Voisine</div><div>co-founder =
and CEO<br><a href=3D"http://breadwallet.com" target=3D"_blank">breadwallet=
.com</a></div></div></div></div></div></div>
<br><div class=3D"gmail_quote">On Wed, Jun 10, 2015 at 1:26 PM, Mike Hearn =
<span dir=3D"ltr">&lt;<a href=3D"mailto:mike@plan99.net" target=3D"_blank">=
mike@plan99.net</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" =
style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><di=
v dir=3D"ltr">I described an alternative way for SPV wallets to learn about=
 fees some time ago. It requires a new transaction version that embeds outp=
ut values into the signed data. Then an upgrade to the P2P protocol to send=
 UTXO data along with transactions when they are relayed.<div><br></div><di=
v>The idea is that the wallet sets a Bloom filter with an FP rate that ensu=
res it will see some random subset of all transactions being broadcast on t=
he network, and with the extra data, it can calculate the fee paid. Once a =
transaction broadcast is observed the wallet includes that tx hash in its n=
ext Bloom filter, thus it can see which block the tx confirmed in. By measu=
ring the amount of time that passed between a broadcast and it appearing in=
 a block, it can calculate its own tables of fee paid:time taken.</div><div=
><br></div><div>This has the advantage that you don&#39;t have to trust min=
ers to publish data accurately. However it requires some protocol upgrades =
and of course, a lot of new code in SPV wallets.</div><div><br></div><div>T=
he way Bitcoin Wallet for Android handles fees currently is to just update =
a hard coded value every so often.</div></div>
<br>-----------------------------------------------------------------------=
-------<br>
<br>_______________________________________________<br>
Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-develo=
pment@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
<br></blockquote></div><br></div>

--001a1135a2f4aa90700518306a0a--