Return-Path: Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id B52EAC0012 for ; Wed, 6 Apr 2022 00:43:31 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 9D59F408CC for ; Wed, 6 Apr 2022 00:43:31 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -1.599 X-Spam-Level: X-Spam-Status: No, score=-1.599 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, FROM_LOCAL_NOVOWEL=0.5, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp4.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=protonmail.com Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DxOvLEf4Bys0 for ; Wed, 6 Apr 2022 00:43:30 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from mail-40130.protonmail.ch (mail-40130.protonmail.ch [185.70.40.130]) by smtp4.osuosl.org (Postfix) with ESMTPS id 9EA81402AA for ; Wed, 6 Apr 2022 00:43:30 +0000 (UTC) Date: Wed, 06 Apr 2022 00:43:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail; t=1649205807; bh=O3UcWMQuHkZBVFJ+UcX8Duf4AotaToGXLKo28EpvIEQ=; h=Date:To:From:Cc:Reply-To:Subject:Message-ID:In-Reply-To: References:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID; b=JvJJVY/uKDMY9HtP73JSM/2YZ7290g5HHxcffSs11uUNckSPkeD5LCVHwSKYQbI6q aEQndZVbFp3BV6dBmC9Gu8ow/NoHUflW0PaMGBi6JOfIipt18rcCYA7+HUqeGUs5f5 3AF059N+K6fP/hVtAWBZ7UF1Fyt2fatq6XLGLQLT+WmHm8ytbT2QrFQHpSf9pIWpMS nYmHrzmVY09452kP6yon/izAFfZqLeA2F3cxZrzL4Aa49VIHQhExAbOfc52JoPRITB EK4jBI+FL/uDm5oZyxeKGsd7/WCarJAv5AzLJ7vdAVMfTRNT8Rmiwq6qfmIIQEJSuc MsUEQyYXdKciA== To: "vjudeu@gazeta.pl" , Bitcoin Protocol Discussion From: ZmnSCPxj Reply-To: ZmnSCPxj Message-ID: In-Reply-To: <160141998-7e37e8b4e29d41a79eddfe20e9b8c75f@pmq4v.m5r2.onet> References: <160141998-7e37e8b4e29d41a79eddfe20e9b8c75f@pmq4v.m5r2.onet> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [bitcoin-dev] Taro: A Taproot Asset Representation Overlay X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Apr 2022 00:43:31 -0000 Good morning vjudeu, > When I see more and more proposals like this, where things are commited t= o Taproot outputs, then I think we should start designing "miner-based comm= itments". If someone is going to make a Bitcoin transaction and add a commi= tment for zero cost, just by tweaking some Taproot public key, then it is a= benefit for the network, because then it is possible to get more things wi= th no additional bytes. Instead of doing "transaction-only", people can do = "transaction+commitment" for the same cost, that use case is positive. > > But if someone is going to make a Bitcoin transaction only to commit thin= gs, where in other case that person would make no transaction at all, then = I think we should have some mechanism for "miner-based commitments" that wo= uld allow making commitments in a standardized way. We always have one coin= base transaction for each block, it is consensus rule. So, by tweaking sing= le public key in the coinbase transaction, it is possible to fit all commit= ments in one tweaked key, and even make it logarithmic by forming a tree of= commitments. > > I think we cannot control user-based commitments, but maybe we should sta= ndardize miner-based commitments, for example to have a sorted merkle tree = of commitments. Then, it would be possible to check if some commitment is a= part of that tree or not (if it is always sorted, then it is present at so= me specified position or not, so by forming SPV-proof we can quickly prove,= if some commitment is or is not a part of some miner Taproot commitment). You might consider implementing `OP_BRIBE` from Drivechains, then. Note that if you *want* to have some data committed on the blockchain, you = *have to* pay for the privilege of doing so --- miners are not obligated to= put a commitment to *your* data on the coinbase for free. Thus, any miner-based commitment needs to have a mechanism to offer payment= s to miners to include your commitment. You might as well just use a transaction, and not tell miners that you want= to commit data using some tweak of the public key (because the miners migh= t then be induced to censor such commitments). In short: there is no such thing as "other case that person would make no t= ranscation at all", because you have to somehow bribe miners to include the= commitment to your data, and you might as well use existing mechanisms (tr= ansactions that implicitly pay fees) for your data commitment, and get bett= er censorship-resistance and privacy. Nothing really prevents any transaction-based scheme from having multiple u= sers that aggregate their data (losing privacy but aggregating their fees) = to make a sum commitment and just make a single transaction that pays for t= he privilege of committing to the sum commitment. Regards, ZmnSCPxj