From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WTUvR-0003Lo-Uy for bitcoin-development@lists.sourceforge.net; Fri, 28 Mar 2014 11:26:17 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of m.gmane.org designates 80.91.229.3 as permitted sender) client-ip=80.91.229.3; envelope-from=gcbd-bitcoin-development@m.gmane.org; helo=plane.gmane.org; Received: from plane.gmane.org ([80.91.229.3]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.76) id 1WTUvQ-0003q1-DE for bitcoin-development@lists.sourceforge.net; Fri, 28 Mar 2014 11:26:17 +0000 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WTUvF-0003R9-Fm for bitcoin-development@lists.sourceforge.net; Fri, 28 Mar 2014 12:26:05 +0100 Received: from f052145073.adsl.alicedsl.de ([78.52.145.73]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 28 Mar 2014 12:26:05 +0100 Received: from andreas by f052145073.adsl.alicedsl.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 28 Mar 2014 12:26:05 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: bitcoin-development@lists.sourceforge.net From: Andreas Schildbach Date: Fri, 28 Mar 2014 12:25:53 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: f052145073.adsl.alicedsl.de User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 In-Reply-To: X-Enigmail-Version: 1.5.2 X-Spam-Score: -0.8 (/) 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 RCVD_IN_DNSWL_NONE RBL: Sender listed at http://www.dnswl.org/, no trust [80.91.229.3 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record 1.1 DKIM_ADSP_ALL No valid author signature, domain signs all mail -0.0 SPF_PASS SPF: sender matches SPF record -0.4 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain X-Headers-End: 1WTUvQ-0003q1-DE Subject: Re: [Bitcoin-development] BIP 70 refund field X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Mar 2014 11:26:18 -0000 I see the problem. However, I don't see how PaymentDetails can be an answer. None of the fields (other than outputs and network) can be known in advance (at the time of the initial payment). You're probably aiming for an expires field? How would you refund a payment after expiry? Note its not your choice wether to refund a payment -- it can be ordered by a court years after the payment happened. Btw. another problem is that the refund address is currently unprotected. On 03/28/2014 12:07 PM, Mike Hearn wrote: > Modern devices like smartphones and tablets do not have swap files. This > design is chosen to ensure responsive, fluid UI that can avoid blocking > on disk regardless of how much multi-tasking is done, but it creates > ripples that impact everything else. > > One implication of this is that on these devices, we cannot store all > keys or transactions in memory forever. BIP 70 has an expiry field for > PaymentRequests that we can use to allow us to eventually stop loading > those keys into RAM - at that point payments to those keys would no > longer be recognised. But there's no equivalent for refund addresses. > > More generally, though we re-used the output structure to define the > refund, we didn't (for some reason that I forgot) reuse PaymentDetails, > even though the payment details for a refund are indeed PaymentDetails. > > Though I am loathe to go back and redesign this part of BIP 70 so soon > after we shipped v1, it seems to me like the refund feature may be hard > to implement on phones if there's no time limit for when you can receive > a refund. Otherwise a wallet has to be looking out for refunds for > payments you may have made years ago. So perhaps we should add a new > refund field that embeds a PaymentDetails structure instead of being > just a list of outputs. > > We could try and solve this problem some other way purely internally, by > doing a kind of wallet-specific swapping process in which things like > Bloom filters are calculated without all keys in them being held in > memory at once (perhaps caching filters for old parts of the key chain > on disk), so you can have "infinite" wallets, but eventually the huge > Bloom filters that would result would hurt efficiency in other ways. So > key expiry seems pretty fundamental to scalability. > > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development >