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 'fake P2SH' 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"><<a href=3D"mailto:gm= axwell@gmail.com" target=3D"_blank">gmaxwell@gmail.com</a>></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'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 & 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--