Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 7CC628DC for ; Mon, 29 Jul 2019 03:39:24 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-40130.protonmail.ch (mail-40130.protonmail.ch [185.70.40.130]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id C12762C6 for ; Mon, 29 Jul 2019 03:39:23 +0000 (UTC) Date: Mon, 29 Jul 2019 03:39:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=default; t=1564371561; bh=iBHHQhXGawNeLrL6MCZrEZJ14ye3xwcVI9LOYR5S2hk=; h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References: Feedback-ID:From; b=AcTq/F6POb3Pd/ODa4b89alDiNf+PIH1zFG9EgHo9xHLQNUaTftaaQ1618ptS8t63 xxI9tHjuogjPtVLxMdg8/kn3578qJMoKtnMSRdmdk7KGJUISZfMzur+4oGznLUuscf Cr/pkqmLd8ic93tV2Fo9KOJ4f9mVVvUFTYx/WiZE= To: Mike Brooks From: ZmnSCPxj Reply-To: ZmnSCPxj Message-ID: In-Reply-To: References: Feedback-ID: el4j0RWPRERue64lIQeq9Y2FP-mdB86tFqjmrJyEPR9VAtMovPEo9tvgA0CrTsSHJeeyPXqnoAu6DN-R04uJUg==:Ext:ProtonMail MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, FROM_LOCAL_NOVOWEL, RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Mon, 29 Jul 2019 07:24:25 +0000 Cc: bitcoin-dev Subject: Re: [bitcoin-dev] PubRef - Script OP Code For Public Data References X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jul 2019 03:39:24 -0000 Good morning Mike, > =C2=A0 > The problem with transaction being pruned is that the data in th= em might now be used in a *future* `OP_PUBREF`. > > I can see how pruning is needed for scalability, and pruning=C2=A0can be = made compatible with a reference to a transaction. If a transaction is prun= ed, then the key material used in a prune'ed block's PUSHDATA operations ar= e of no value.=C2=A0 A user of the network shouldn't need to make this kind= of PUBREF, and if a user did want to bring a wallet back from the dead - t= hen the utility of PUBREF wouldn't be available to them. I believe you misunderstand the point completely. Currently Bitcoin Core has a mode, called pruning, where: 1. It validates ***all*** transactions. 2. It throws away the transaction data of a block ***after*** validation. 3. It keeps only the UTXO set of ***all*** addresses, not just a specific = wallet. Given the above, if a transaction block 1000 `OP_PUBREF`s to a `OP_PUSHDATA= ` in block 100, how does the pruned validator get access to this data (Whic= h was pruned after the pruned validator handled block 100)? Note that pruned nodes ***are*** fullnodes and validate all transactions, n= ot just those that involve their wallet. Regards, ZmnSCPxj