Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1SZOSN-0000ab-WD for bitcoin-development@lists.sourceforge.net; Tue, 29 May 2012 15:35:36 +0000 Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of coinlab.com designates 209.85.213.47 as permitted sender) client-ip=209.85.213.47; envelope-from=peter@coinlab.com; helo=mail-yw0-f47.google.com; Received: from mail-yw0-f47.google.com ([209.85.213.47]) by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-MD5:128) (Exim 4.76) id 1SZOSI-00080J-7p for bitcoin-development@lists.sourceforge.net; Tue, 29 May 2012 15:35:35 +0000 Received: by yhjj56 with SMTP id j56so2808024yhj.34 for ; Tue, 29 May 2012 08:35:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:x-gm-message-state; bh=g1gmnN+O4hSbKGvJu1yOQCVKizAOKwYDJF2Nr6EezSs=; b=VcMAptEeLMHznNyCVLPJZR6+sATWbiTCYd/gSJY1a3ZGmvLlvoUuAlczDN3vndKZGh YVJWF2Za0zeyjcQh7Mw90kTkr73/lRdUDSHd641PfIZuLK0c55JU3pYS2bgBV9VvRehT UdPUkhtuqd4lCwx3afu3+QwtZp9Zbp4sxliOmcXD+CVrDXrNzIKfYqB5dr9RzVMT5a9T ksW5MlSkTwRUEfOy2N8hHRiH0TLXfcJNtBLzIyfbYtT0y1uGARa0xGuiSn60nskfrfTB S0Ki655lBz9lpCorzLtDuuUgJD3qljuNJ+hdkCPVDuxvo1twAxZEqAiFEDzK+46PI9xw 44Mg== Received: by 10.68.217.138 with SMTP id oy10mr38933215pbc.30.1338303939167; Tue, 29 May 2012 08:05:39 -0700 (PDT) MIME-Version: 1.0 Received: by 10.143.13.1 with HTTP; Tue, 29 May 2012 08:05:18 -0700 (PDT) In-Reply-To: <201205291447.29823.luke@dashjr.org> References: <5C824F0D-6025-4630-965B-E6C685588250@mac.com> <201205291447.29823.luke@dashjr.org> From: Peter Vessenes Date: Tue, 29 May 2012 11:05:18 -0400 Message-ID: To: Luke-Jr Content-Type: multipart/alternative; boundary=047d7b2ee639e544ca04c12e2a26 X-Gm-Message-State: ALoCoQmJW3Ah5bkR+4EkKi3cvStCZAjSc7wA2/BpttwEy3ROUagDaYWrlVkdoJtLJH4duVMnc8MN X-Spam-Score: -0.5 (/) 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 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message X-Headers-End: 1SZOSI-00080J-7p Cc: bitcoin-development@lists.sourceforge.net Subject: Re: [Bitcoin-development] Punishing empty blocks? 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: Tue, 29 May 2012 15:35:36 -0000 --047d7b2ee639e544ca04c12e2a26 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable OK, I have a few thoughts on this: 1) Germane to the original conversation, anything hard to implement will not get implemented by miners. 2) Coinbase is hard-limited to 100 bytes; this has to include space for voting as well as extra nonce, etc. So, I'm not sure that a full URL is a good plan. 3) I'm a little fuzzy on the details of BIP governance; but I'm happy to write one up and get my thoughts down, or someone who's more familiar could do it, I suppose. I propose the following spec: periodically a miner may choose to publish a url through their coinbase as follows: 1) They shall prepend \mi: to the url to designate it as a url for miner info, and append a trailing \ to the url 2) The url given in the coinbase shall have http:// prepended to it before processing. 3) The destination may be a redirect (to allow short URLs), or may deliver content 4) The content-type returned by the final site post-redirect shall be either (preferred text/json) or text/plain or text/html 4) The text of the document delivered shall be a JSON format dictionary, and shall include at minimum the following fields: 'min_fee', 'pool_name', and 'last_modified' Optional fields can be determined over time as necessary by the mining community 5) The Service Level Agreement isn't binding, but miners who implement it are expected to make a best efforts attempt to follow it. So a valid coinbase could be: /P2SH/\mi:goo.gl/mr2D\extra_nonce:2110 Generally a miner would occasionally publish the \mi:\ when they had updated their SLA, or just every so often, but the canonical location would be the final destination URL from the redirects. Inre: Luke's complaint about JSON, it is the language of the web. There is no easier format for both computers and humans to read, and in this case, it includes extensibility, which is nice, since we have no idea how miners will wish to divvy up their services; I think one would need to make a strong case against JSON for a specific reason to not choose it by default. Thoughts welcome! Best, Peter On Tue, May 29, 2012 at 10:47 AM, Luke-Jr wrote: > On Tuesday, May 29, 2012 8:52:49 AM Michael Gr=F8nager wrote: > > The format of the sla.php page should then be specified too - but it > could > > be a json-rpc call returning a json object like (as result): { > > sla_version: "0.1", > > accept_no_fee_tx: false, > > min_fee: 50000, > > big_tx_fee: 10000, // extra fee pr kb > > } > > I guess miners could work out a more suitable set of fees... > > Please not JSON, and not hard-coded logic. Bitcoin already has a secure > scripting system - perhaps we can decide on an initial stack format and > run a > script retrieved from the URI? > > --=20 Peter J. Vessenes CEO, CoinLab M: 206.595.9839 Skype: vessenes Google+ --047d7b2ee639e544ca04c12e2a26 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable OK, I have a few thoughts on this:

1) Germane to the ori= ginal conversation, anything hard to implement will not get implemented by = miners.
2) Coinbase is hard-limited to 100 bytes; this has to inc= lude space for voting as well as extra nonce, etc. So, I'm not sure tha= t a full URL is a good plan.
3) I'm a little fuzzy on the details of BIP governance; but I'= m happy to write one up and get my thoughts down, or someone who's more= familiar could do it, I suppose.

I propose the fo= llowing spec:

periodically a miner may choose to publish a url throug= h their coinbase as follows:=A0

1) They shall prep= end \mi: to the url to designate it as a url for miner info, and append a t= railing \ to the url
2) The url given in the coinbase shall have http:// prepended to it be= fore processing.
3) The destination may be a redirect (to allow s= hort URLs), or may deliver content
4) The content-type returned b= y the final site post-redirect shall be either (preferred text/json) or tex= t/plain or text/html
4) The text of the document delivered shall be a JSON format dictionar= y, and shall include at minimum the following fields:=A0'min_fee', = 'pool_name', and 'last_modified' Optional fields can be det= ermined over time as necessary by the mining community
5) The Service Level Agreement isn't binding, but miners who imple= ment it are expected to make a best efforts attempt to follow it.

So a valid coinbase could be:
/P2SH/\mi:goo.gl/mr2D\extra_nonce:2110

Generally a miner would occasionally publish the \mi:\ = when they had updated their SLA, or just every so often, but the canonical = location would be the final destination URL from the redirects.

Inre: Luke's complaint about JSON, it is the language of= the web. There is no easier format for both computers and humans to read, = and in this case, it includes extensibility, which is nice, since we have n= o idea how miners will wish to divvy up their services; I think one would n= eed to make a strong case against JSON for a specific reason to not choose = it by default.

Thoughts welcome!

Best,
<= div>
Peter



On Tue, May 29, 2012 at 10:47 AM, Luke-Jr <luke@dashjr.= org> wrote:
On Tuesday, May 29, 2012 8= :52:49 AM Michael Gr=F8nager wrote:
> The format of the sla.php page should then be specified too - but it c= ould
> be a json-rpc call returning a json object like (as result): {
> =A0 =A0 sla_version: "0.1",
> =A0 =A0 accept_no_fee_tx: false,
> =A0 =A0 min_fee: 50000,
> =A0 =A0 big_tx_fee: 10000, // extra fee pr kb
> }
> I guess miners could work out a more suitable set of fees...

Please not JSON, and not hard-coded logic. Bitcoin already has a secu= re
scripting system - perhaps we can decide on an initial stack format and run= a
script retrieved from the URI?




--
Peter J. Vessenes
CEO, CoinLab
M: 206.595.9839
Skype: vessenes
= Google+

--047d7b2ee639e544ca04c12e2a26--