Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 68D0293D for ; Sun, 2 Oct 2016 18:17:34 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-vk0-f44.google.com (mail-vk0-f44.google.com [209.85.213.44]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 4850D1FB for ; Sun, 2 Oct 2016 18:17:33 +0000 (UTC) Received: by mail-vk0-f44.google.com with SMTP id y190so112371651vkd.3 for ; Sun, 02 Oct 2016 11:17:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=blockstream-io.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=jqKGUo2+ZENPFDMW6vL+flHjefKztKXP17ebKSI4E9o=; b=jC4jEKdgom+z0Z04FQCunQjgSc7H4aww6kvhkHqju/NGklUXyEld/JHdEHXX0LTt5r y2TuaMb5WWW7xhJnfxMLr2cPt9VLSOtvG91233pn+4Ra3vkhNdI2hTzHmWRihsNRiuA9 2GXrwpzWA04z36f18DJrxBObRbUh3MG51uzTwDLOcbYXywMbDW7LYcM6qGpT1R5Eo7gR D1deY6rlDMdFm9utgWPXOU26i4vo00Uy8vzin8Dip0+q6c3NmMyJRDHFR81fHfdlTGao 5OOiGA1H9R1dXnyz+zxuEQUF23WH8jT3UTRzUirtr8FvAn8YYxxQ5gFNChDvnWC+Fy16 qSbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=jqKGUo2+ZENPFDMW6vL+flHjefKztKXP17ebKSI4E9o=; b=hBXghkw7AyzB/llHekKhYyGcNVWllNa2uuNrZA/ylSmugqzu0P3gSbfawI53a1m5Sf q2YIF9TEwv7DDzp2sa5lqxKfpDFOx2kBa5qqvC2224Pn+LuUeSNF1iviMW/mLBvdSUrx 5EdlZnPTAXEfcvsLwXP9ux/stwY7O68/a44cwzjb63ZhbP76i/MwKoTVa1yWEvBbMeSU akCrxBHPO4HtYodypc8hovUNH5LfLN2Ah9MBaE/bZhVflMpVDZ8LVlrvWGPj8JeiwA6a 5lkdQWLGsIgTXuaUHLkZ+AyNaYY0nSJ4c8dfA7Rf1xtUd9M6VofbGWP3SWd/NBgRH6EF zBEA== X-Gm-Message-State: AA6/9RkyC4MyYrS6tqctGqnrlxRwFHN942QgN1IYyB6WkzXbOIU6I5M1Puhdel19+YSCcrSrq10GuJM2fQbval0O X-Received: by 10.31.194.206 with SMTP id s197mr11427878vkf.101.1475432252473; Sun, 02 Oct 2016 11:17:32 -0700 (PDT) MIME-Version: 1.0 Received: by 10.176.3.102 with HTTP; Sun, 2 Oct 2016 11:17:12 -0700 (PDT) In-Reply-To: References: From: "Russell O'Connor" Date: Sun, 2 Oct 2016 14:17:12 -0400 Message-ID: To: Sergio Demian Lerner , Bitcoin Protocol Discussion Content-Type: multipart/alternative; boundary=001a11437b544c9ca1053de5d733 X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org X-Mailman-Approved-At: Sun, 02 Oct 2016 18:18:14 +0000 Subject: Re: [bitcoin-dev] Drivechain proposal using OP_COUNT_ACKS 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: Sun, 02 Oct 2016 18:17:34 -0000 --001a11437b544c9ca1053de5d733 Content-Type: text/plain; charset=UTF-8 If I understand this BIP correctly, the values pushed onto the stack by the OP_COUNT_ACKS operation depends on the ack and nack counts relative to the block that this happens to be included in. This isn't going to be acceptable. The validity of a transaction should always be monotone in the sense that if a transaction was acceptable in a given block, it must always be acceptable in any subsequent block, with the only exception being if one of the transaction's inputs get double spent. The added check lock time and check sequence number operations were carefully constructed to ensure this property. On Sun, Oct 2, 2016 at 11:49 AM, Sergio Demian Lerner via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > Since ScalingBitcoin is close, I think this is a good moment to publish > our proposal on drivechains. This BIP proposed the drivechain we'd like to > use in RSK (a.k.a. Rootstock) two-way pegged blockchain and see it > implemented in Bitcoin. Until that happens, we're using a federated > approach. > I'm sure that adding risk-less Bitcoin extensibility through > sidechains/drivechains is what we all want, but it's of maximum importance > to decide which technology will leads us there. > We hope this work can also be the base of all other new 2-way-pegged > blockchains that can take Bitcoin the currency to new niches and test new > use cases, but cannot yet be realized because of current > limitations/protections. > > The full BIP plus a reference implementation can be found here: > > BIP (draft): > https://github.com/rootstock/bips/blob/master/BIP-R10.md > > Code & Test cases: > https://github.com/rootstock/bitcoin/tree/op-count-acks_devel > (Note: Code is still unaudited) > > As a summary, OP_COUNT_ACKS is a new segwit-based and soft-forked opcode > that counts acks and nacks tags in coinbase fields, and push the resulting > totals in the script stack. > > The system was designed with the following properties in mind: > > 1. Interoperability with scripting system > 2. Zero risk of invalidating a block > 3. No additional computation during blockchain management and > re-organization > 4. No change in Bitcoin security model > 5. Bounded computation of poll results > 6. Strong protection from DoS attacks > 7. Minimum block space consumption > 8. Zero risk of cross-secondary chain invalidation > > Please see the BIP draft for a more-detailed explanation on how we achieve > these goals. > > I'll be in ScalingBitcoin in less than a week and I'll be available to > discuss the design rationale, improvements, changes and ideas any of you > may have. > > Truly yours, > Sergio Demian Lerner > Bitcoiner and RSK co-founder > > > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > > --001a11437b544c9ca1053de5d733 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
If I understand this BIP correctly, the values pushed= onto the stack by the OP_COUNT_ACKS operation depends on the ack and nack = counts relative to the block that this happens to be included in.

This isn't going to be acceptable.=C2=A0 The validity of a transact= ion should always be monotone in the sense that if a transaction was accept= able in a given block, it must always be acceptable in any subsequent block= , with the only exception being if one of the transaction's inputs get = double spent.

The added check lock time and check sequence number op= erations were carefully constructed to ensure this property.

On Sun, Oct 2, 2016 at= 11:49 AM, Sergio Demian Lerner via bitcoin-dev <bitco= in-dev@lists.linuxfoundation.org> wrote:
Since ScalingBitcoi= n is close, I think this is a good moment to publish our proposal on drivec= hains. This BIP proposed the drivechain we'd like to use in RSK (a.k.a.= Rootstock) two-way pegged blockchain and see it implemented in Bitcoin. Un= til that happens, we're using a federated approach.
I'm sure th= at adding risk-less Bitcoin extensibility through sidechains/drivechains is= what we all want, but it's of maximum importance to decide which techn= ology will leads us there.
We hope this work can also be the base of all= other new 2-way-pegged blockchains that can take Bitcoin the currency to n= ew niches and test new use cases, but cannot yet be realized because of cur= rent limitations/protections.

The full BIP plus a reference implemen= tation can be found here:

BIP (draft):
https://= github.com/rootstock/bips/blob/master/BIP-R10.md

Code= & Test cases:
https://github.com/rootstock/bi= tcoin/tree/op-count-acks_devel
(Note: Code is still = unaudited)

As a summary, OP_COUNT_ACKS is a new segwit-ba= sed and soft-forked opcode that counts acks and nacks tags in coinbase fiel= ds, and push the resulting totals in the script stack.

The system wa= s designed with the following properties in mind:

1. Interoperabilit= y with scripting system
2. Zero risk of invalidating a block
3. No a= dditional computation during blockchain management and re-organization
4= . No change in Bitcoin security model
5. Bounded computation of poll res= ults
6. Strong protection from DoS attacks
7. Minimum block space con= sumption
8. Zero risk of cross-secondary chain invalidation

Please see the BIP draft for a more-detailed explanation on how we ac= hieve these goals.

I'll be in Scalin= gBitcoin in less than a week and I'll be available to discuss the desig= n rationale, improvements, changes and ideas any of you may have.

Truly yours,
Sergio Demian Lerner
Bitcoiner and= RSK co-founder


_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.= linuxfoundation.org
https://lists.linuxfoundation.org= /mailman/listinfo/bitcoin-dev


--001a11437b544c9ca1053de5d733--