Return-Path: Received: from smtp3.osuosl.org (smtp3.osuosl.org [IPv6:2605:bc80:3010::136]) by lists.linuxfoundation.org (Postfix) with ESMTP id 8EA42C0012 for ; Tue, 5 Apr 2022 20:23:16 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 6DBB060D72 for ; Tue, 5 Apr 2022 20:23:16 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.097 X-Spam-Level: X-Spam-Status: No, score=-2.097 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, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Authentication-Results: smtp3.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=gazeta.pl Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PECqSNNjFIaf for ; Tue, 5 Apr 2022 20:23:14 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from smtpo95.poczta.onet.pl (smtpo95.poczta.onet.pl [213.180.149.148]) by smtp3.osuosl.org (Postfix) with ESMTPS id C495660B96 for ; Tue, 5 Apr 2022 20:23:13 +0000 (UTC) Received: from pmq4v.m5r2.onet (pmq4v.m5r2.onet [10.174.32.70]) by smtp.poczta.onet.pl (Onet) with ESMTP id 4KXzbs6FhPzlgMqS; Tue, 5 Apr 2022 22:23:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gazeta.pl; s=2013; t=1649190186; bh=pvJK5IFy+1JIVlls/Y+ri9wVrxpufF4m5lB+u+eAEFo=; h=From:To:Date:Subject:From; b=GE+oO6/YcGsvIxaoBJWRjzFaRdbPEKGRHzyzU2L/c4lXDSQ/LP7N36hwuH3MxDdvd ByRPasKPjMTDztk2fkMQMWwCkfubZcaGT2ym73cjiKhZMdkMBcP50/NU9AQLOdXwK/ oXtDpKBBNMD446FuoKCEPlF5rZxBhZrTWc/EahaY= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received: from [5.173.224.13] by pmq4v.m5r2.onet via HTTP id ; Tue, 05 Apr 2022 22:23:05 +0200 From: vjudeu@gazeta.pl X-Priority: 3 To: bitcoin-dev@lists.linuxfoundation.org,laolu32@gmail.com Date: Tue, 05 Apr 2022 22:23:05 +0200 Message-Id: <160141998-7e37e8b4e29d41a79eddfe20e9b8c75f@pmq4v.m5r2.onet> X-Mailer: onet.poczta X-Onet-PMQ: ;5.173.224.13;PL;2 X-Mailman-Approved-At: Tue, 05 Apr 2022 22:32:14 +0000 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: Tue, 05 Apr 2022 20:23:16 -0000 When I see more and more proposals like this, where things are commited to = Taproot outputs, then I think we should start designing "miner-based commit= ments". If someone is going to make a Bitcoin transaction and add a commitm= ent for zero cost, just by tweaking some Taproot public key, then it is a b= enefit for the network, because then it is possible to get more things with= no additional bytes. Instead of doing "transaction-only", people can do "t= ransaction+commitment" for the same cost, that use case is positive. But if someone is going to make a Bitcoin transaction only to commit things= , 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 woul= d allow making commitments in a standardized way. We always have one coinba= se transaction for each block, it is consensus rule. So, by tweaking single= public key in the coinbase transaction, it is possible to fit all commitme= nts in one tweaked key, and even make it logarithmic by forming a tree of c= ommitments. I think we cannot control user-based commitments, but maybe we should stand= ardize 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 p= art of that tree or not (if it is always sorted, then it is present at some= specified position or not, so by forming SPV-proof we can quickly prove, i= f some commitment is or is not a part of some miner Taproot commitment). On 2022-04-05 15:06:03 user Olaoluwa Osuntokun wrote: Hi y'all, I'm excited to publicly publish a new protocol I've been working on over th= e past few months: Taro. Taro is a Taproot Asset Representation Overlay whi= ch allows the issuance of normal and also collectible assets on the main Bi= tcoin chain. Taro uses the Taproot script tree to commit extra asset struct= ured meta data based on a hybrid merkle tree I call a Merkle Sum Sparse Mer= kle Tree or MS-SMT. An MS-SMT combined the properties of a merkle sum tree,= with a sparse merkle tree, enabling things like easily verifiable asset su= pply proofs and also efficient proofs of non existence (eg: you prove to me= you're no longer committing to the 1-of-1 holographic beefzard card during= our swap). Taro asset transfers are then embedded in a virtual/overlay tra= nsaction graph which uses a chain of asset witnesses to provably track the = transfer of assets across taproot outputs. Taro also has a scripting system= , which allows for programmatic unlocking/transfer of assets. In the first = version, the scripting system is actually a recursive instance of the Bitco= in Script Taproot VM, meaning anything that can be expressed in the latest = version of Script can be expressed in the Taro scripting system. Future ver= sions of the scripting system can introduce new functionality on the Taro l= ayer, like covenants or other updates. The Taro design also supports integration with the Lightning Network (BOLTs= ) as the scripting system can be used to emulate the existing HTLC structur= e, which allows for multi-hop transfers of Taro assets. Rather than modify = the internal network, the protocol proposes to instead only recognize "asse= ts at the edges", which means that only the sender+receiver actually need t= o know about and validate the assets. This deployment route means that we d= on't need to build up an entirely new network and liquidity for each asset.= Instead, all asset transfers will utilize the Bitcoin backbone of the Ligh= tning Network, which means that the internal routers just see Bitcoin trans= fers as normal, and don't even know about assets at the edges. As a result,= increased demand for transfers of these assets as the edges (say like a US= D stablecoin), which in will turn generate increased demand of LN capacity,= result in more transfers, and also more routing revenue for the Bitcoin ba= ckbone nodes. The set of BIPs are a multi-part suite, with the following breakdown: * The main Taro protocol: https://github.com/Roasbeef/bips/blob/bip-taro/b= ip-taro.mediawiki * The MS-SMT structure: https://github.com/Roasbeef/bips/blob/bip-taro/bip= -taro-ms-smt.mediawiki * The Taro VM: https://github.com/Roasbeef/bips/blob/bip-taro/bip-taro-vm.= mediawiki * The Taro address format: https://github.com/Roasbeef/bips/blob/bip-taro/= bip-taro-addr.mediawiki * The Taro Universe concept: https://github.com/Roasbeef/bips/blob/bip-tar= o/bip-taro-universe.mediawiki * The Taro flat file proof format: https://github.com/Roasbeef/bips/blob/b= ip-taro/bip-taro-proof-file.mediawiki Rather than post them all in line (as the text wouldn't fit in the allowed = size limit), all the BIPs can be found above. -- Laolu