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 <robbak@robbak.com>) id 1UPm5B-0006s1-EQ
	for bitcoin-development@lists.sourceforge.net;
	Wed, 10 Apr 2013 03:52:25 +0000
Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of robbak.com
	designates 74.125.82.173 as permitted sender)
	client-ip=74.125.82.173; envelope-from=robbak@robbak.com;
	helo=mail-we0-f173.google.com; 
Received: from mail-we0-f173.google.com ([74.125.82.173])
	by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1UPm5A-0004C0-4j
	for bitcoin-development@lists.sourceforge.net;
	Wed, 10 Apr 2013 03:52:25 +0000
Received: by mail-we0-f173.google.com with SMTP id t57so24279wey.4
	for <bitcoin-development@lists.sourceforge.net>;
	Tue, 09 Apr 2013 20:52:17 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:x-received:in-reply-to:references:date:message-id
	:subject:from:to:content-type:x-gm-message-state;
	bh=XR+bIjJrUquDfYTsGJz94BHUc7J+Ps7Y/+DBgmorN3Q=;
	b=Jo8oIzUW8qvCNIxEIiTrSc5l31j+9EM5aQexs5JHqUCf5M95GpixhvW/ltldG+JmHH
	mTPfUqb7ZXXb7CW6JenjAI5L3Ntel5OvDTY+TDBdBzj0nwVzC3aji+LFcshK1NcxE3tW
	kLYC8RftAm+opBJ3MonxTQEv0B5C8AiKyXgOkTdVQbc8DYs2cdqp0nokLzUpk+mJ3f4t
	CoA6YfCn1gc+GotRpAW8m7y69oSDLY0wUzTQJf6tn3WOJvx+aMsjnTm4iphx8JEqTaaz
	HaXjN6kYC0Tq6cvc8KWY07RfTOaE1gM/tZfd+CPT1RtlnTUFIgVpSd8tcB4WuUbtzoS4
	7Rlw==
MIME-Version: 1.0
X-Received: by 10.180.36.48 with SMTP id n16mr23606680wij.30.1365565937726;
	Tue, 09 Apr 2013 20:52:17 -0700 (PDT)
Received: by 10.194.125.204 with HTTP; Tue, 9 Apr 2013 20:52:17 -0700 (PDT)
In-Reply-To: <CAAS2fgSkiqfhJxHJNw8i8G5yd1XY6tUTDynQ+AekbwmHP_jZmw@mail.gmail.com>
References: <CAAS2fgSkiqfhJxHJNw8i8G5yd1XY6tUTDynQ+AekbwmHP_jZmw@mail.gmail.com>
Date: Wed, 10 Apr 2013 13:52:17 +1000
Message-ID: <CA+i0-i8M7B6QkTXgNudF5SyK4BKG9rfDp83RSdnm-1GFViBZiQ@mail.gmail.com>
From: Robert Backhaus <robbak@robbak.com>
To: Bitcoin Development <bitcoin-development@lists.sourceforge.net>
Content-Type: multipart/alternative; boundary=e89a8f502fa2a2cc6404d9f9987d
X-Gm-Message-State: ALoCoQk+HVHvzYb2VFtN4pWGJ/bRoqM67PAM8dhBQixGBGGx769cPjMOIOOfAdfuD2zJnloH9IW5
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: 1UPm5A-0004C0-4j
Subject: Re: [Bitcoin-development]
	=?windows-1252?q?To_prevent_arbitrary_data_?=
	=?windows-1252?q?storage_in_txouts_=97_The_Ultimate_Solution?=
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 Apr 2013 03:52:25 -0000

--e89a8f502fa2a2cc6404d9f9987d
Content-Type: text/plain; charset=ISO-8859-1

That sounds workable. I take it that the P2SH address is not stored? I like
it that this denies the possibility of storing data in the block chain, but
does not block interesting uses like creating date stamps - You can still
store the 'fake P2SH' value whose checksum is secured by the blockchain.


On 10 April 2013 12:53, Gregory Maxwell <gmaxwell@gmail.com> wrote:

> (1) Define a new address type, P2SH^2 like P2SH but is instead
> H(H(ScriptPubKey)) instead of H(ScriptPubKey). A P2SH^2 address it is
> a hash of a P2SH address.
>
> (2) Make a relay rule so that to relay a P2SH^2  you must include
> along the inner P2SH address.  All nodes can trivially verify it by
> hashing it.
>
> (2a) If we find that miners mine P2SH^2 addresses where the P2SH
> wasn't relayed (e.g. they want the fees) we introduce a block
> discouragement rule where a block is discouraged if you receive it
> without receiving the P2SH^2 pre-images for it.
>
> With this minor change there is _no_ non-prunable location for users
> to cram data into except values.  (and the inefficiency of cramming
> data into values is a strong deterrent in any case)
>
> The same thing could also be done for OP_RETURN PUSH value outputs
> used to link transactions to data. Make the data be a hash, outside of
> the txn include the preimage of the hash.
>
>
> ------------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>

--e89a8f502fa2a2cc6404d9f9987d
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><span style=3D"font-family:arial,sans-serif;font-size:13px=
">That sounds workable. I take it that the P2SH address is not stored? I li=
ke it that this denies the possibility of storing data in the block chain, =
but does not block interesting uses like creating date stamps - You can sti=
ll store the &#39;fake P2SH&#39; value whose checksum is secured by the blo=
ckchain.</span><br>
</div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On 10 A=
pril 2013 12:53, Gregory Maxwell <span dir=3D"ltr">&lt;<a href=3D"mailto:gm=
axwell@gmail.com" target=3D"_blank">gmaxwell@gmail.com</a>&gt;</span> wrote=
:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le=
ft:1px #ccc solid;padding-left:1ex">
(1) Define a new address type, P2SH^2 like P2SH but is instead<br>
H(H(ScriptPubKey)) instead of H(ScriptPubKey). A P2SH^2 address it is<br>
a hash of a P2SH address.<br>
<br>
(2) Make a relay rule so that to relay a P2SH^2 =A0you must include<br>
along the inner P2SH address. =A0All nodes can trivially verify it by<br>
hashing it.<br>
<br>
(2a) If we find that miners mine P2SH^2 addresses where the P2SH<br>
wasn&#39;t relayed (e.g. they want the fees) we introduce a block<br>
discouragement rule where a block is discouraged if you receive it<br>
without receiving the P2SH^2 pre-images for it.<br>
<br>
With this minor change there is _no_ non-prunable location for users<br>
to cram data into except values. =A0(and the inefficiency of cramming<br>
data into values is a strong deterrent in any case)<br>
<br>
The same thing could also be done for OP_RETURN PUSH value outputs<br>
used to link transactions to data. Make the data be a hash, outside of<br>
the txn include the preimage of the hash.<br>
<br>
---------------------------------------------------------------------------=
---<br>
Precog is a next-generation analytics platform capable of advanced<br>
analytics on semi-structured data. The platform includes APIs for building<=
br>
apps and a phenomenal toolset for data science. Developers can use<br>
our toolset for easy data analysis &amp; visualization. Get a free account!=
<br>
<a href=3D"http://www2.precog.com/precogplatform/slashdotnewsletter" target=
=3D"_blank">http://www2.precog.com/precogplatform/slashdotnewsletter</a><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>
</blockquote></div><br></div>

--e89a8f502fa2a2cc6404d9f9987d--