summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZmnSCPxj <ZmnSCPxj@protonmail.com>2020-03-27 01:46:15 +0000
committerbitcoindev <bitcoindev@gnusha.org>2020-03-27 01:46:23 +0000
commit9e1f97f654ab2734f18bab2479139cba3fc179a0 (patch)
treebf5eb7b9f0ba2bca21fcd610e6da4dcc9bbb51b0
parent8e9a6ea86cf0459c0353a7bf3507fd580ebe4a00 (diff)
downloadpi-bitcoindev-9e1f97f654ab2734f18bab2479139cba3fc179a0.tar.gz
pi-bitcoindev-9e1f97f654ab2734f18bab2479139cba3fc179a0.zip
Re: [bitcoin-dev] Statechain implementations
-rw-r--r--fa/52d01f581222399b43d6ee708644dd06d04276111
1 files changed, 111 insertions, 0 deletions
diff --git a/fa/52d01f581222399b43d6ee708644dd06d04276 b/fa/52d01f581222399b43d6ee708644dd06d04276
new file mode 100644
index 000000000..9bdf3127d
--- /dev/null
+++ b/fa/52d01f581222399b43d6ee708644dd06d04276
@@ -0,0 +1,111 @@
+Return-Path: <ZmnSCPxj@protonmail.com>
+Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])
+ by lists.linuxfoundation.org (Postfix) with ESMTP id 5B1A6C0177
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Fri, 27 Mar 2020 01:46:23 +0000 (UTC)
+Received: from localhost (localhost [127.0.0.1])
+ by whitealder.osuosl.org (Postfix) with ESMTP id 4AE43888D5
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Fri, 27 Mar 2020 01:46:23 +0000 (UTC)
+X-Virus-Scanned: amavisd-new at osuosl.org
+Received: from whitealder.osuosl.org ([127.0.0.1])
+ by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
+ with ESMTP id E0wiwBQ0KzJW
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Fri, 27 Mar 2020 01:46:21 +0000 (UTC)
+X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
+Received: from mail4.protonmail.ch (mail4.protonmail.ch [185.70.40.27])
+ by whitealder.osuosl.org (Postfix) with ESMTPS id 267BC88783
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Fri, 27 Mar 2020 01:46:21 +0000 (UTC)
+Date: Fri, 27 Mar 2020 01:46:15 +0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
+ s=default; t=1585273578;
+ bh=Pj8NZbgXaVU02LPOTrdTRJFEF8AJOXm6opLuykosAW0=;
+ h=Date:To:From:Cc:Reply-To:Subject:In-Reply-To:References:From;
+ b=miqwARwNz2Z+uEuEYtdS4X7xBo2DJiHN+tfpTb1j+TE3KwxQVwOe+0Wyy4pgNsWNa
+ tmyaQySfqw5d3WqVUUT72oZkg24LQqShIm3KDrHcB3zKLHxEeUw6Nl3GMoTv0SBRB/
+ H0P1JiVfukk4ldbGmriiuFSI4PwPe0O0/tqUFF+U=
+To: Ruben Somsen <rsomsen@gmail.com>,
+ Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
+From: ZmnSCPxj <ZmnSCPxj@protonmail.com>
+Reply-To: ZmnSCPxj <ZmnSCPxj@protonmail.com>
+Message-ID: <j37G_ywUw4UA7J2iEXurAk8Vq-QA3toUz3sakqEiYHqbpqF1DEK0riorbuZW_UkMCkNS-KKCDNPec7ogpchdg8hYPjPh_gzAGwfbY72e_p4=@protonmail.com>
+In-Reply-To: <CAPv7TjbAfLHFZgSvCTSG2rS6oZinyd6VWrT3U8Y++PL=Jm6igA@mail.gmail.com>
+References: <CAJvkSseW9OZ50yQiS7e0zt9tQt4v9aoikgGs_54_kMN-ORkQgw@mail.gmail.com>
+ <79753214-9d5e-40c7-97ac-1d4e9ea3c64e@www.fastmail.com>
+ <CAPv7TjZ45VD_5sGSFiQxmt981uDodq28mHOW=2LYLofXams43w@mail.gmail.com>
+ <87369v6nw3.fsf@gmail.com>
+ <CAB3F3Dt0z5bDMpzRGGJxJV8KpCk_4XGF23MGmYVkLppRbG7Wnw@mail.gmail.com>
+ <CAPv7TjbAfLHFZgSvCTSG2rS6oZinyd6VWrT3U8Y++PL=Jm6igA@mail.gmail.com>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: quoted-printable
+Cc: "tom@commerceblock.com" <tom@commerceblock.com>,
+ Greg Sanders <gsanders87@gmail.com>
+Subject: Re: [bitcoin-dev] Statechain implementations
+X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
+X-Mailman-Version: 2.1.15
+Precedence: list
+List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
+List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
+ <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
+List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
+List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
+List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
+List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
+ <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
+X-List-Received-Date: Fri, 27 Mar 2020 01:46:23 -0000
+
+Good morning Ruben,
+
+> Hey Christian,
+>
+> Thanks for chiming in :)
+>
+> >It might be worth adopting the late fee binding we have in eltoo
+>
+> That is where my thinking originally went as well, but then I remembered =
+that this alters the txid, causing the settlement tx to become invalid. Wha=
+t I am suggesting should be functionally the same (albeit less space-effici=
+ent): a secondary output that can be spent by anyone, which can be used to =
+fee bump the kickoff tx with CPFP. I believe this same idea was considered =
+for Lightning as well at some point. Do you happen to recall if there was s=
+ome kind of non-standardness issue with it?
+
+Any standardness issue can be fixed by embedding it in a P2WSH / P2SH, you =
+can use an `OP_TRUE` `redeemScript`, for instance.
+
+Using an `OP_TRUE` `redeemScript` would allow any third party to make you c=
+ry by opportunistically spending such an output.
+For example your Bitcoin-network peer could notice you broadcasting such a =
+transaction with an `OP_TRUE` output, see you spend that output with a CPFP=
+-RBF-ed child transaction, then instead of further broadcasting the child t=
+ransaction, instead broadcast a non-RBF child transaction with tiny fee, so=
+ that it and its parent transaction will be accepted into mempools but woul=
+d not be replaceable with a higher-feerate child transaction (because not R=
+BF-flagged).
+Thus, some portion of mempools will contain this poisoned low-fee child tra=
+nsaction and prevent the parent from being confirmed (because the parent+ch=
+ild fees are not enough to justify being put in a block).
+Which I suppose is an argument for Full RBF aka ignore-the-RBF-flag-and-alw=
+ays-RBF.
+
+The solution that I remember being proposed for this in Lightning was to gi=
+ve each participant its own attach-your-fees output that only that particip=
+ant can spend, which works for Lightning because the set of participants in=
+ a channel is permanently fixed, but probably not for statechains.
+
+--
+
+The broadcasting of the kickoff simply means that the first stage cannot be=
+ easily changed, and you might still be able to make further updates by upd=
+ating only the later stages, until the last stage is confirmable, so the ki=
+ckoff being broadcast simply creates a "dead man walking" statechain.
+However, the implementation complexity would probably increase tremendously=
+.
+
+
+Regards,
+ZmnSCPxj
+