Good Morning Matt,

It seems to me that double signing can be punished by requiring that R be a 
trivial function on the blockheight of the block being signed on the sidechain 
network. Then a validator who signs multiple versions of history at a 
particular blockheight reveals their privkey. Since the privkey also protects 
their Bitcoin stake UTXO, they risk loss of their Bitcoin stake. A similar idea 
is used by Discrete Log Contracts to ensure Oracles do not sign multiple values 
at a particular time.

Regards,
ZmnSCPxj


Sent with ProtonMail Secure Email.

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Saturday, January 19, 2019 1:35 PM, Matt Bell <map...@gmail.com> wrote:

> Hi ZmnSCPxj,
>
> Just to clarify, my design does not specify the source of voting power, so it 
> is agnostic to whatever system you want to derive stake or valdiator set 
> membership from.
>
> Your idea of timelocking Bitcoin is interesting, I am eager to find a 
> solution where holding Bitcoin is enough to get voting power. It's possible 
> there may be an issue with the fact that the Bitcoin is not slashable 
> (although their voting power is), meaning a validator who double-signs cannot 
> have their Bitcoin removed from them. However their UTXO can be blacklisted 
> which does make their attack costly since they lose out on the time-value of 
> their stake.
>
> Our current thinking for the source of stake is to pay out stake to Bitcoin 
> merged-miners although I'll definitely do some more thinking about timelocked 
> Bitcoin as stake.
>
> On Fri, Jan 18, 2019, 5:42 PM ZmnSCPxj <zmnsc...@protonmail.com wrote:
>
> > Good morning Matt,
> >
> > It seems to me much more interesting if the stakes used to weigh voting 
> > power are UTXOs on the Bitcoin blockchain.
> > This idea is what I call "mainstake"; rather than a blockchain having its 
> > own token that is self-attesting (which is insecure).
> > It seems to me, naively, that the same script you propose here can be used 
> > for mainstake.
> >
> > For instance, the sidechain network might accept potential stakers on the 
> > mainchain, if the staker proves the existence of a mainchain transaction 
> > whose output is for example:
> >
> > <sidechain identifier> OP_DROP
> > "1 year" OP_CHECKSEQUENCEVERIFY OP_DROP
> > <pubkey> OP_CHECKSIG
> >
> > The sidechain network could accept this and use the value of the output as 
> > the weight of the vote of that stake.
> >
> > Regards,
> > ZmnSCPxj
> >
> > Sent with ProtonMail Secure Email.
> >
> > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> > On Saturday, January 19, 2019 6:59 AM, Matt Bell via bitcoin-dev 
> > <bitcoin-dev@lists.linuxfoundation.org> wrote:
> >
> > > I have been working on a design for Bitcoin sidechains using the 
> > > Tendermint BFT consensus protocol, which is commonly used to build 
> > > proof-of-stake networks (Cosmos is the notable one).
> > >
> > > The design ends up being very similar to Blockstream's Liquid sidechain, 
> > > since Tendermint consensus is not far off from Liquid's "strong 
> > > federation" consensus.
> > >
> > > Any feedback about improvements or critical flaws would be greatly 
> > > appreciated. The design document is here: 
> > > https://github.com/mappum/bitcoin-peg/blob/master/bitcoinPeg.md (that 
> > > repo also contains a simplified implementation of this sidechain design).
> > >
> > > Thanks for your feedback,
> > > Matt Bell


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

Reply via email to