Good morning Nadav,

Indeed.

It seems to me that practical deployments of statechains requires the 
statechain operator to be a trusted federation, possibly a k-of-n.
This is slightly better than a federated sidechain because the money can always 
be reclaimed on the blockchain layer very quickly in case of a loss of trust in 
the federation.
If the k-of-n is arranged in such a way that the signers can be identified 
(such as by use of old `OP_CHECKMULTISIG` or some combination of the proposed 
`OP_CHECKSIGADD`) then it has the same "auditability", i.e. you can identify 
the pseudonyms of the members who cheated (which is not worth much, as getting 
a new pseudonym is trivial).

It is helpful to remember that a k-of-n federation can only be trusted if you 
have full trust in at least (n - k + 1) members of the federation.

Regards,
ZmnSCPxj

> Hey all,
>
> So my main concern with the proposal as written is that the Statechain Entity 
> (SE) can untraceably scam its users with the following attack:
> 1) Buy the utxo (have it transferred to a key it knows), this first step can 
> be skipped if the utxo was created by the SE.
> 2) Transfer the UTXO to someone else, let it be for however long
> 3) When it wishes to steal the UTXO, the SE now knows its own shard s_n and 
> it  knows the full private key, x, from when it owned the UTXO (and had both 
> shards), and so it can compute x/s_n = the current users shard. It can then 
> sign for the current user, and forge a state transition to a key it owns 
> before spending the UTXO on chain.
>
> The main problem here is that the user who had their funds stolen cannot 
> prove to anyone that this has happened since the attack compromises their key.
> That said, I think this problem is easily fixed by adding a new user key to 
> the protocol with which they must sign in order for the transfer to be 
> considered valid on the state chain. This way, if the SE wishes to steal the 
> funds (which they still can), at least it is traceable/provable that this SE 
> is not trustworthy as there is no evidence of a valid transfer for the funds 
> that have been stolen.
>
> Best,
> Nadav
>
> On Thu, Apr 2, 2020 at 7:22 PM Tom Trevethan via bitcoin-dev 
> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>
> > Thanks for all of the input and comments - I do now think that the 
> > decrementing nSequence relative locktime backup system with kick-off 
> > transaction is the way to go, including a fee penalty via CPFP to 
> > disincentivise DoS, as suggested. 
> > I have started a more detailed document specifying the proposed protocol in 
> > more detail: 
> > https://github.com/commerceblock/mercury/blob/master/statechains.md which 
> > includes improvements to the transfer mechanism (and an explanation of how 
> > this can be used to transfer/novate positions in DLCs). Always happy to get 
> > more feedback or PRs. 
> >
> > Tom
> >
> > On Tue, Mar 31, 2020 at 12:41 PM Tom Trevethan <t...@commerceblock.com> 
> > wrote:
> >
> > > Hi David,
> > >
> > > Just for clarity, I left nChain over 2 years ago (having worked there 
> > > since 2016). While there, I (along with other researchers) were given 
> > > free rein to work on any ideas we wanted to. I had been interested in the 
> > > scaling of Bitcoin off-chain, and this was one of several things I spent 
> > > time on (including things like sidechains, pegs and threshold 
> > > signatures). This patent application came out of an idea I had to 
> > > transfer ownership of UTXOs off-chain that has some similarities to the 
> > > statechains proposal, which has shown there is interest and demand for 
> > > this type of system. 
> > >
> > > Although I think the existence of this application is something to be 
> > > mindful of, there are several important things to note:
> > >
> > > 1. Although there are similarities, the current ideas are significantly 
> > > different to those in the application. 
> > > 2. The key transfer protocol as described in the application is not 
> > > secure (for several reasons, including as discussed above, by Albert and 
> > > Bob etc.) - and a different mechanism is required. 
> > > 3. Decrementing timelocks (as suggested in the application) are prior art 
> > > (Decker-Wattenhofer 2015), and in any case any implementation will most 
> > > likely use an 'invalidation tree' relative locktime backup mechanism for 
> > > open-ended UTXOs. 
> > > 4. The patent application has not been granted (it was made in May 2017) 
> > > and the international search report rejected it on the grounds of prior 
> > > art. 
> > >
> > > Tom
> > >
> > > On Tue, Mar 31, 2020 at 11:36 AM David A. Harding <d...@dtrt.org> wrote:
> > >
> > > > On Wed, Mar 25, 2020 at 01:52:10PM +0000, Tom Trevethan via bitcoin-dev 
> > > > wrote:
> > > > > Hi all,
> > > > >
> > > > > We are starting to work on an implementation of the statechains 
> > > > > concept (
> > > > > https://medium.com/@RubenSomsen/statechains-non-custodial-off-chain-bitcoin-transfer-1ae4845a4a39),
> > > > >
> > > > > [...]
> > > > > There are two main modifications we are looking at:
> > > > > [...]
> > > > >
> > > > > 2. Replacing the 2-of-2 multisig output (paying to statechain entity 
> > > > > SE key
> > > > > and transitory key) with a single P2(W)PKH output where the public key
> > > > > shared between the SE and the current owner. The SE and the current 
> > > > > owner
> > > > > can then sign with a 2-of-2 ECDSA MPC.
> > > >
> > > > Dr. Trevethan,
> > > >
> > > > Would you be able to explain how your proposal to use statechains with
> > > > 2P-ECDSA relates to your patent assigned to nChain Holdings for "Secure
> > > > off-chain blockchain transactions"?[1] 
> > > >
> > > >     [1] https://patents.google.com/patent/US20200074464A1
> > > >
> > > > Here are some excerpts from the application that caught my attention in
> > > > the context of statechains in general and your proposal to this list in
> > > > particular:
> > > >
> > > > > an exchange platform that is trusted to implement and operate the
> > > > > transaction protocol, without requiring an on-chain transaction. The
> > > > > off-chain transactions enable one computer system to generate multiple
> > > > > transactions that are recordable to a blockchain in different
> > > > > circumstances
> > > > >
> > > > > [...]
> > > > >
> > > > > at least some of the off-chain transactions are valid for recording on
> > > > > the blockchain even in the event of a catastrophic failure of the
> > > > > exchange (e.g., exchange going permanently off-line or loosing key
> > > > > shares).
> > > > >
> > > > > [...]
> > > > >
> > > > > there may be provided a computer readable storage medium including a
> > > > > two-party elliptic curve digital signature algorithm (two-party ECDSA)
> > > > > script comprising computer executable instructions which, when
> > > > > executed, configure a processor to perform functions of a two-party
> > > > > elliptic curve digital signature algorithm described herein.
> > > > >
> > > > > [...]
> > > > >
> > > > > In this instance the malicious actor would then also have to collude
> > > > > with a previous owner of the funds to recreate the full key. Because
> > > > > an attack requires either the simultaneous theft of both exchange and
> > > > > depositor keys or collusion with previous legitimate owners of funds,
> > > > > the opportunities for a malicious attacker to compromise the exchange
> > > > > platform are limited.
> > > >
> > > > Thank you,
> > > >
> > > > -Dave
> >
> > _______________________________________________
> > bitcoin-dev mailing list
> > bitcoin-dev@lists.linuxfoundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


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

Reply via email to