Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 654E9D1A for ; Tue, 6 Aug 2019 20:54:30 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail.ruggedbytes.com (mail.ruggedbytes.com [88.99.30.248]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 425BE4C3 for ; Tue, 6 Aug 2019 20:54:29 +0000 (UTC) Received: from mail.ruggedbytes.com (localhost [127.0.0.1]) by mail.ruggedbytes.com (Postfix) with ESMTPS id 53EEC2600524; Tue, 6 Aug 2019 20:54:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=simplexum.com; s=mail; t=1565124867; bh=N5HZRdzcquLsmKLifxNN8CWd7UMky9YPvb336r/j9Gw=; h=Date:From:To:Cc:Subject:In-Reply-To:References; b=Hp7YKWCGCFa3SH+RFax+JcCL6WhOYEMTSr+1ZqgReMTs4jgfIQxJdSd1Hbn0/QZqY 50JcImxs58edZbi+WR7QErwz3sIFSDS5GX0N8Wi6W7LDVoBjoqK9wupGL1d4+fpUDn sY8WZnI29Vs6khR0Plvt+pcF8iUTXZnZUwFcrigM= Date: Wed, 7 Aug 2019 01:55:41 +0500 From: Dmitry Petukhov To: Chris Belcher Message-ID: <20190807015541.3d8aa849@simplexum.com> In-Reply-To: References: <985792b1-e7aa-677b-a7a1-6a5f672da884@riseup.net> <94534006-D560-4C90-9D5D-A3A64B698518@gmail.com> <20190726143738.0be561da@simplexum.com> <3c328312-2bdd-60d9-7425-8db620d09abb@riseup.net> <20190731205018.10ed4302@simplexum.com> <20190802145057.7b81c597@simplexum.com> Organization: simplexum.com MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU 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: Tue, 06 Aug 2019 21:40:36 +0000 Cc: bitcoin-dev@lists.linuxfoundation.org Subject: Re: [bitcoin-dev] Improving JoinMarket's resistance to sybil attacks using fidelity bonds 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: Tue, 06 Aug 2019 20:54:30 -0000 =D0=92 Mon, 5 Aug 2019 20:04:26 +0100 Chris Belcher wrote: > So what's needed is a way to make renting out TXOs impossible or very > difficult. You can make renting the TXOs risky for the attacker. Make it so that the entity that rented out the TXO can revoke the participation of said TXO in the market, by publishing some special signature. That act of revocation can also mean revocation of all other TXOs that were used in a bond alongside it. This way, any entity that wants to spoil an attacker's consolidation via rent, can rent out its TXO to the attacker, and then revoke it, spoiling the whole package the attacker have consolidated. There may be other way to impose penalties. For example, all locked TXO may be required to be spendable by *any* key that controls any TXO in the 'bond TXO package'. I think this should be possible with taproot - you will have to publish a taproot trees for your locked TXOs (say, N of them), and the tree for each TXO will have N leaves, each leaf will specify a condition "spendable by the key N". This way, if I give you my TXO to include it in a bond by locking it, you also need to make your other TXOs in a bond spendable by me. For both scenarios to work for the attacker, there's need to be an off-chain contractual relationship between the parties. Otherwise the entity that rents out the TXOs can spoil or just confiscate the bond of the entity that rented them, without reprecussions.