From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id CE1B28D9 for ; Thu, 4 Jan 2018 09:43:09 +0000 (UTC) X-Greylist: delayed 00:05:24 by SQLgrey-1.7.6 Received: from dd32718.kasserver.com (dd32718.kasserver.com [85.13.150.64]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 423D614D for ; Thu, 4 Jan 2018 09:43:09 +0000 (UTC) Received: from [192.168.178.48] (p5DDF8839.dip0.t-ipconnect.de [93.223.136.57]) by dd32718.kasserver.com (Postfix) with ESMTPSA id 12DD04DC072C for ; Thu, 4 Jan 2018 10:37:43 +0100 (CET) To: Bitcoin Dev From: "mbde@bitwatch.co" Message-ID: <567cdb19-f5b3-6058-9b5b-8a891558d9d5@bitwatch.co> Date: Thu, 4 Jan 2018 10:37:42 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 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: Thu, 04 Jan 2018 13:38:47 +0000 Subject: [bitcoin-dev] Raise default datacarriersize to 220 byte or higher 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: Thu, 04 Jan 2018 09:43:09 -0000 Hi guys, there are several ways to embed arbitrary data into the blockchain, and this is used by several meta-protocols. Most protocols at this point use OP_RETURN scripts for this. To disincentivize the use of other and more harmful methods to embed data into the chain, in particular via P2SH, I propose to raise the default datacarriersize to 220 byte, so it becomes the "cheapest" way of embedding data into the chain. The following graph shows the relation between transaction sizes and payload sizes: http://i.imgur.com/VAGZWBK.png Embedding data with bare-multisig and P2SH can be cheaper in terms of effective transaction size, compared to OP_RETURN with a payload limit of 80 byte. Both methods of embedding data, via bare-multisig and P2SH, were heavily used by the major two meta-protocols on top of Bitcoin: Omni and Counterparty, but both protocols started to use OP_RETRUN data embedding a long time ago. However, currently token sends are usually done one by one, each with a single transaction, and this is a heavy burden for the whole network, e.g. when an exchange sends out withdrawals. We have solutions for "multi-sends with multi-inputs" and also considered moving destinations into the payload for token sends, but we need more space, otherwise this solution is limited to very few recipients. I therefore propose to raise the default datacarriersize to 220 byte or higher and I'd be happy to provide a pull request doing so, if this gets positive feedback. - dexx