Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 447D2BE9 for ; Thu, 13 Jul 2017 20:45:17 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-qk0-f182.google.com (mail-qk0-f182.google.com [209.85.220.182]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id E065F16B for ; Thu, 13 Jul 2017 20:45:16 +0000 (UTC) Received: by mail-qk0-f182.google.com with SMTP id 16so60855515qkg.2 for ; Thu, 13 Jul 2017 13:45:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=T+f5/c8bB9d2MODZF17bhEJ1rJ7LFekH0jyaaajW53w=; b=BC8p3+1ysHq0jyBL6zNxZ4smGum3Vc54tQK3LK8kBpJWxi2Yrsvp0AOF9RxmBv1+uP QEK0SU1Q44EFgOXVrNLE4lGM1cxsh8seiIgReS/qtAFLLSe/sxmV7HKBH2jvsJWId2MA 7rFCd1g0z33xwYBdc4Kvj9lK01snpA2CGdZng47FVCMQ+d4zrpuqNVvWl2g06amKgh30 I+75Na7lufbIMDH1KwZ7zuyHaIiMX5iyHyExCRUMAfnGJZ0hMgk3yn5gq9OTk42h2Ja3 CpCcE7y00Du7pqFpshlX4VjbVJEaBCdiQ57cSWdborFFvh4fD0X1PV+wxZCNzmL2gPSP IKZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=T+f5/c8bB9d2MODZF17bhEJ1rJ7LFekH0jyaaajW53w=; b=kHfSfBSE3wbQTxIQZEwwqZ5aqoSMJPQNbp/RORpWYpK45BlWY9COdyMPiZvOnYylTS HWImDx5Vy8i/D9AdkLxmTcrwYNCrR9stKZAnhWXu8JPDkIgW0NqEY/M6wyI5uwq3OltM WnU+I3gQBsUc1VzWDXxLc8Vozt7EbSCFO1bOfWh7H1k6vD3HLJ7hIZBes14rw3OUCc9a daDnkdoaXckaSHbMJ74RktnmfQwPHPRZs5REamUb7I5DfZBj5mfc7d7RxsCopNZVgpaI KPtYoiv2SuRl6ccx96BVPR9CpTwd/bcMf/drbRBGmqPVY63GShY17FhhyYoD2oyRbIJA YorA== X-Gm-Message-State: AIVw1115IQbghg38wYnlnY+4sUol+WFOGjSJcjFVKqkNYtK2W13TDIue gHBJo+qWkFf0hA== X-Received: by 10.233.235.132 with SMTP id b126mr7693456qkg.262.1499978716026; Thu, 13 Jul 2017 13:45:16 -0700 (PDT) Received: from [192.168.1.104] (ool-45726efb.dyn.optonline.net. [69.114.110.251]) by smtp.googlemail.com with ESMTPSA id o36sm5347856qtf.9.2017.07.13.13.45.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Jul 2017 13:45:14 -0700 (PDT) To: Chris Stewart References: <2f2e6b7c-2d47-518a-5a8f-0b5333607aac@gmail.com> <98d35291-5948-cb06-c46a-9d209276cee2@gmail.com> <7fc82c47-c03a-f489-55c2-b7d6830c1a74@gmail.com> From: Paul Sztorc Message-ID: <918a1b0c-65e6-a67f-c0d5-c4e6170d2e70@gmail.com> Date: Thu, 13 Jul 2017 16:45:13 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-Language: en-US X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, 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: Thu, 13 Jul 2017 20:46:24 +0000 Cc: Bitcoin Protocol Discussion Subject: Re: [bitcoin-dev] BIP: OP_BRIBVERIFY - the op code needed for Blind Merge Mined drivechains 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, 13 Jul 2017 20:45:17 -0000 On 7/13/2017 4:22 PM, Chris Stewart wrote: > In general though, I'm still unclear of what purpose the 'Ratchet' > serves. Can you either link to documentation about it or write > something up quick? > > -Chris In Bitcoin, new coins are held for 100 blocks. One result of this is that the coins can't be spent until there is at least 100 blocks worth of evidence that they actually are in the longest chain, and are unlikely to be orphaned. In BMM, we are concerned about exactly this. For example, imagine that I bribe you $20 to find my side:block (and, in that block I earn $20.50 worth of side:BTC tx fees), which you do. But then, moments later, you (or some other miner) orphans the block! So I don't get my $20.50, but you still keep my $20! And yet, we want the mainchain to validate as little as possible about each sidechain. We want a "light touch". So we force the h* to be accompanied by the modulus of its sidechain block number (we call it "BlockMod"). The sidechain has a new rule that requires h* to be included AND that the BlockMod be accurate, in order for the sidechain block to meet the "synthetic" difficulty requirement. The mainchain has a new rule forcing each new BlockMod to be in range [-X000,+1] relative to the old BlockMod (ie, "no skipping ahead, but you can reorg by starting a new chain from up to a=3D-X000 blocks ago" ... likely values o= f X might be 2 or 4). And finally, BMM has a new rule that the bribe isn't paid unless the sidechain block in question has been buried by [for example] 100 sidechain blocks. Hope that helps, Paul