Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id DB939B30 for ; Fri, 19 May 2017 06:07:42 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-vk0-f54.google.com (mail-vk0-f54.google.com [209.85.213.54]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 6B7EDF0 for ; Fri, 19 May 2017 06:07:42 +0000 (UTC) Received: by mail-vk0-f54.google.com with SMTP id y190so7034554vkc.1 for ; Thu, 18 May 2017 23:07:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=JnvhZpgOY6dcODqWHcvdmer/Az2vGnyDopRW/QPdTUw=; b=mzjb4SZ/L3MvoIcoCKkBnS7/Dumy0P6+LKQPlzB2APpVjBacTaFtM1b1cpWEnEZ9zV W7qaqa7pec2wBSDKRXQoMi+hIdNEKMeHjveOgpsnDPkPo9OXnqdTGlQIMXfOcaq1mha4 Z6WBaymr/WzOCwIc1g6J1ZyCP4pw3A/aq6FoIsi9tzK5iHP5/xS7poLZ6KLTOkSwWgwm vF+W9sGnJ6t3fmMIf9l9F6nJ8CmoUL1HAEU59FzUIjp9YOBl1t/rnDypxSqlq4Dd8abs ShqXCj38KmgaUpSdih0Amtb0Z+eZe7Sch4mkomxhwTJ7f92QuXlkv1dNUXdwS9li9vFN K6gA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=JnvhZpgOY6dcODqWHcvdmer/Az2vGnyDopRW/QPdTUw=; b=e6u1wRYO2VeNIylDKmO6bl8PILe6Q9mNAEugRtUSj11fpPNGt0Rd+IAN56Yj/DDBY+ cUInMV/2XZj4JjnfvNDmc/bJROogaV24EpMDoHK8vPgD9Hf/uzCA3q7juF4iXhHj1ocU oCGpMwDb1p0rjoqXf05eUaD4BADsvy2V1xaMRbuhvPzYdHrgfmfMazUZIAyssqJqR3Ea ltBk13ORjxm7p2BSC15kVl8RfCmvccUY6yyWSSDBjhisFDIT7OukugrXWOEHoktb4hq+ DS1EJMqVX+zjzS2N49ZewLto2uQeeZ3fqHe/+X5dAYutxeRMwOM9eA//rSuSWCNl3tKe q/8Q== X-Gm-Message-State: AODbwcAD1nO4bF0yqH3EjreFj8oz3bnbgFvPfc4tzyyUF/iap/mpwxvJ 1Dz1XKEJ2sXbr42Bmf1/IdZu4A8OBRHzgQ0= X-Received: by 10.31.134.74 with SMTP id i71mr1035975vkd.75.1495174061504; Thu, 18 May 2017 23:07:41 -0700 (PDT) MIME-Version: 1.0 Received: by 10.159.50.154 with HTTP; Thu, 18 May 2017 23:07:41 -0700 (PDT) From: Mark Boldyrev Date: Fri, 19 May 2017 09:07:41 +0300 Message-ID: To: bitcoin-dev@lists.linuxfoundation.org Content-Type: multipart/alternative; boundary="001a11410b78d0404a054fda567f" X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE 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: Fri, 19 May 2017 12:01:30 +0000 Subject: [bitcoin-dev] A proposal to reintroduce the disabled script opcodes 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: Fri, 19 May 2017 06:07:43 -0000 --001a11410b78d0404a054fda567f Content-Type: text/plain; charset="UTF-8" Back in 2010, there was a bug found in Core which allowed denial-of-service attacks due to the software crashing on some machines while executing a script - see CVE-2010-537. I believe the removed ("disabled") opcodes should be re-introduced along with a standardized behavior definition. For example, when execution of an opcode results in an arithmetic error, such as OP_DIV with a zero divisor, the script should exit and fail. The string splice opcodes should also check their arguments for correctness, etc. These opcodes would enhance the flexibility of scripts and allow sophisticated native smart contracts to be created. --001a11410b78d0404a054fda567f Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Back in 2010, there was a= bug found in Core which allowed denial-of-service attacks due to the softw= are crashing on some machines while executing a script - see CVE-2010-537.<= /span>
I believe the removed ("disabled= ") opcodes should be re-introduced along with a standardized behavior = definition.
For example, when executio= n of an opcode results in an arithmetic error, such as OP_DIV with a zero d= ivisor, the script should exit and fail.
The string splice opcodes should also check their arguments for correctn= ess, etc.

These opcodes would enhance the flexibility of scripts and al= low sophisticated native smart contracts to be created.
--001a11410b78d0404a054fda567f--