BitShares Forum

Main => General Discussion => Topic started by: JonnyB on March 02, 2016, 12:09:18 pm

Title: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: JonnyB on March 02, 2016, 12:09:18 pm
Before I start, here is a good explanation of what sidechains are: http://gendal.me/2014/10/26/a-simple-explanation-of-bitcoin-sidechains/ (http://gendal.me/2014/10/26/a-simple-explanation-of-bitcoin-sidechains/)

Amanda discussed them on yesterdays daily decrypt also but the explanation above is better imo: https://youtu.be/Q6VwH1yKjdI (https://youtu.be/Q6VwH1yKjdI)

This is my proposal of how we should make the bitshares blockchain a sidechain for bitcoin and take the glory for actually implementing it before any other blockchain does.

Depositor sends bitcoin to the bitshares network.
The bitcoin address sent to is now controlled by 2 keys required to spend from it. (multisig)
One key is held by bitcoin depositor and second key is held by bitshares witnesses.
This bitcoin cannot move until both original depositor and a witness sign a transaction to send it somewhere else. (it's effectively frozen)
The witnesses can now issue a BTC token 1:1 for the same amount as was deposited to the depositor (lets call this SIDEBTC)
Original depositor now has SIDEBTC in his bitshares wallet which is non tradeable and cannot be transferred.
SIDEBTC has only one purpose which is to be used as collateral by the original depositor to create BITBTC.
If collateral is denominated in same currency as the bitasset it is creating there is only need for *100% collateral not 200%+
This BITBTC created from SIDEBTC can be transferred and traded.

For the depositor to get back their real BTC they must settle their BITBTC debts first then instruct the witnesses to redeem their SIDEBTC and return their real BTC back to them. 

if the original depositor never redeems his SIDEBTC, nobody including the witnesses will be able to access that real BTC again.
This means technically speaking the SIDEBTC is not real collateral. It means the committee can freeze it but not have access to it themselves.
Because of this we need ensure that almost all SIDEBTC holders redeem it for real BTC in the future.
Now earlier I said only *100% collateral is needed to create a bit asset if both asset and collateral are the same currency which is true.
But to make sure almost all SIDEBTC is redeemed in the future we should make the collateral requirements for BITBTC higher than 100%
For example we could require 110% SIDEBTC in collateral to create 100% BITBTC
This should make sure that all SIDEBTC owners will make sure they can redeem in the future.


Points to note.
-This sidechain proposal for bitcoin is intended to eliminate the need for bitcoin denominated UIAs as it would be free to transfer and trade and be 100% liquid at peg with zero chance your btc could be stolen. 
-Witnesses cannot steal BTC under any circumstances. The worst they could do would be colluding to freeze the bitcoin.
-Having the collateral in the same currency as the the bitasset also eliminates the possibility of a margin call.
-Forced settlement would not be possible because SIDEBTC (the collateral for BITBTC) can only be moved if the original depositor signs.
-SIDEBTC is not technically collateral because the real BTC cannot be recovered by the bitshares network if the original depositor never redeems his SIDEBTC
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: Zapply on March 02, 2016, 12:13:34 pm
we should do this first before bond market
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: krondix on March 02, 2016, 12:16:53 pm
This is a killer feature from a lot of perspectives.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: sudo on March 02, 2016, 12:42:58 pm
gateway both side
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: noisy on March 02, 2016, 12:43:54 pm
I said it before and I will say it again, sidechain should be our top priority! :)

...
But to make sure almost all SIDEBTC is redeemed in the future we should make the collateral requirements for BITBTC higher than 100%
For example we could require 110% SIDEBTC in collateral to create 100% BITBTC
...

I am wondering how can we actually avoid requirenments for those additionall 10% of collateral.

Imagine that I have 1 SIDEBTC used as collateral to create exactly 1 bitBTC.


When I sell 0.8 bitBTC I need to:
- provide a public key, which wll be used to generate new multisig address
- sign 2 multisig transactions:
  - with 0.8 bitBTC, from my address A to new owner
  - with "0.2 bitBTC - bitcoin fee", from my address A to my new multisig address B

In that case I will have to prove that I have an access to my own bitcoins every time when I want to take something from my original collateral.

The downside: I am not sure... but is that will mean, that I will have to wait on average 10 minutes to fullfil an BTC order on the DEX?
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: Riverhead on March 02, 2016, 12:44:09 pm



Beautiful. My only objection is with the 110% collateral requirement. What is the harm in SIDEBTC never being redeemed for BTC? The bitBTC would live forever collateralized with SIDEBTC. Since it's a 1:1 pairing there is never a chance of the two being worth different amounts and therefore would never have a need to be called. If the borrower lost the private keys to their signing account on the collateral then the bitBTC would be indestructible. They wouldn't be able to exit that position to unfreeze their BTC but since bitBTC is fungible they'd just need some bitBTC to unlock the same amount of real BTC. Sure the SIDEBTC would exist forever with the real BTC locked up forever but there's no harm in that. People lose private keys all the time - who knows how much actual BTC is unspendable.


Edit: Thinking about it more the SIDEBTC shouldn't require a key held by the depositor or SIDEBTC loses fungibility. Since SIDEBTC can only exist on the BitShares chain there is no reason to have anyone but the witnesses (aka the Graphene engine) able to spend it 1:1 for real BTC.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: sudo on March 02, 2016, 01:04:08 pm
how to control btc address  decentralized?
can Intelligent contract run a robot?
receive  btc ---send sidebtc
receive sidebtc--send real btc
make profit  send to shareholders
no risk
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: noisy on March 02, 2016, 01:08:53 pm
For reference: (with that link I will have less work next time, when I will need to find something what was already discussed about that topic)

This topic was already touched on the forum, however earlier we were not sure is it possible to do this:
- Is it possible for bitshares to become a sidechain of bitcoin? (https://bitsharestalk.org/index.php/topic,21263.0/all.html)
- Graphene: Data security and verification on the chain (https://bitsharestalk.org/index.php/topic,21438.msg278789.html)

and we also got interesting input from Eric Martindale from Blockstream (https://bitsharestalk.org/index.php/topic,21263.msg280123.html#msg280123)
Quote
Hey guys, Eric Martindale with Blockstream here.  The answer to your question is absolutely, yes!  It is definitely possible, and it would be very exciting to see BitShares as a sidechain.  If I recall correctly, there are many other related projects that would make equal sense as sidechains, too.

However, choosing to migrate from the existing model to a bonded sidechain is a different question.  While sidechains already exist in the wild (see the alpha sidechain if you're looking for something to prototype on top of), creating and configuring one isn't trivial (yet).  As part of the Elements Project, we're hoping to make this easier, but migrating any existing project to a sidechain will incur some amount of technical work.  In the case of BitShares, I would expect it to be significant – you'll want to make sure the benefits are worth the effort.

I'd be excited to have a conversation with Daniel or someone else from the BitShares team if they express any interest at all in pursuing this idea.  Obviously, I'm excited about it, because I think there is very clear value in doing so, but I'd want to make sure that sentiment is shared among those responsible for BitShares.

I, for one, think a world full of many interoperable blockchains is an exciting one!

Sidechains were also discussed during one of hangout with bytemaster. Could anyone help me find a link?
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: abit on March 02, 2016, 01:11:31 pm
How to solve these problem:
* The witness who hold the second key could be killed, so the key lost, and the locked BTC become non-redeemable, hence no value.
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

The real solution should be like: the person who deposited fund to BTS network SHOULD abandon any control of the fund totally, since the BTS network already issued her same amount of token for example bitBTC, she can transfer the bitBTC to others. Then the fund can be and can only be redeemed by anyone who hold same amount of bitBTC.


Thoughts?


//Update:
Edit: Thinking about it more the SIDEBTC shouldn't require a key held by the depositor or SIDEBTC loses fungibility. Since SIDEBTC can only exist on the BitShares chain there is no reason to have anyone but the witnesses (aka the Graphene engine) able to spend it 1:1 for real BTC.
Correct. This is the point.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: tbone on March 02, 2016, 01:23:10 pm
I can't see a need for BitBTC in this scenario.  Unless I'm missing something, the whole point of a BTC sidechain is that it effectively allows real BTC to be traded on the DEX.  Of course, mechanically, that means trading a BTC asset (e.g. SIDE.BTC) that is backed 1-1 by real BTC held in a multi-sig BTC wallet or some other sidechain construct.  But the point is, I think this makes BitBTC unnecessary.  In fact, theoretically this could be duplicated for any blockchain-based asset such that the need for all the complications associated with market pegging will ONLY be required for "real world" assets such as fiat currencies (e.g. USD, CNY, EUR), commodities (e.g. Gold, Silver, Oil), stocks (e.g. AAPL, MSFT), etc.  Where am I going wrong here?
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: JonnyB on March 02, 2016, 01:28:47 pm
@abit
* The witness who hold the second key could be killed, so the key lost, and the locked BTC become non-redeemable, hence no value.
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

1 all witnesses would hold the second key
2 the software will only allow a witness to sign the bitcoin transaction once the corresponding SIDEBTC has been destroyed. Remember SIDEBTC is not transferable only BITBTC is.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: xeroc on March 02, 2016, 01:40:50 pm
In this case, only those that provide real BTC will be able to withdraw real BTC ..
That's a non-starter IMHO and I would personally prefer a big multisig scheme instead ..
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: JonnyB on March 02, 2016, 01:44:33 pm
In this case, only those that provide real BTC will be able to withdraw real BTC ..
That's a non-starter IMHO and I would personally prefer a big multisig scheme instead ..

Correct. But this would create the liquidity and the low costs that would allow for a shapeshift style bridge from BITBTC to realBTC.

Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: tbone on March 02, 2016, 01:52:47 pm
Obviously we should be pushing to get a sidechain implementation going ASAP.  But I think we're dramatically overcomplicating it in this thread and should probably leave the precise details to the devs (primarily @bytemaster). 

Beyond that, I think we should be concentrating on pushing to incentivize a) creation of the primary fiat BitAssets and b) participation in BitAsset liquidity pools, among other liquidity measures. 

Speaking of liquidity, I think we should be doing what we can to establish robust markets in any new cryptocurrencies that hit the market.  The Lisk ICO will go for another 3 weeks and then it will launch and trade on the open market.  I'll probably say this until I'm blue in the face.  But we should make sure we are among the first exchanges (if not THE first) to trade Lisk.  That would generate plenty of buzz and new users for the DEX.

We really need to get serious about making some of these pieces of the puzzle come together.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: Frodo on March 02, 2016, 02:00:38 pm
Edit: Thinking about it more the SIDEBTC shouldn't require a key held by the depositor or SIDEBTC loses fungibility. Since SIDEBTC can only exist on the BitShares chain there is no reason to have anyone but the witnesses (aka the Graphene engine) able to spend it 1:1 for real BTC.
Correct. This is the point.

 +5%
I just wonder how it would be possible to maintain a witness multisig address with witnesses getting voted in and out.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: JonnyB on March 02, 2016, 02:10:36 pm
Obviously we should be pushing to get a sidechain implementation going ASAP.  But I think we're dramatically overcomplicating it in this thread and should probably leave the precise details to the devs (primarily @bytemaster). 

Beyond that, I think we should be concentrating on pushing to incentivize a) creation of the primary fiat BitAssets and b) participation in BitAsset liquidity pools, among other liquidity measures. 

Speaking of liquidity, I think we should be doing what we can to establish robust markets in any new cryptocurrencies that hit the market.  The Lisk ICO will go for another 3 weeks and then it will launch and trade on the open market.  I'll probably say this until I'm blue in the face.  But we should make sure we are among the first exchanges (if not THE first) to trade Lisk.  That would generate plenty of buzz and new users for the DEX.

We really need to get serious about making some of these pieces of the puzzle come together.

@bytemaster solution is just a bitcoin master wallet where the witnesses share the private keys and issue IOU tokens much like OPEN.BTC minus the multisig

Can we keep on topic with this thread. Please start a new thread if you want to discuss adding lisk.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: kingslanding on March 02, 2016, 02:42:36 pm
Obviously we should be pushing to get a sidechain implementation going ASAP.  But I think we're dramatically overcomplicating it in this thread and should probably leave the precise details to the devs (primarily @bytemaster). 

Beyond that, I think we should be concentrating on pushing to incentivize a) creation of the primary fiat BitAssets and b) participation in BitAsset liquidity pools, among other liquidity measures. 

Speaking of liquidity, I think we should be doing what we can to establish robust markets in any new cryptocurrencies that hit the market.  The Lisk ICO will go for another 3 weeks and then it will launch and trade on the open market.  I'll probably say this until I'm blue in the face.  But we should make sure we are among the first exchanges (if not THE first) to trade Lisk.  That would generate plenty of buzz and new users for the DEX.

We really need to get serious about making some of these pieces of the puzzle come together.

@bytemaster solution is just a bitcoin master wallet where the witnesses share the private keys and issue IOU tokens much like OPEN.BTC minus the multisig

Can we keep on topic with this thread. Please start a new thread if you want to discuss adding lisk.

I don't know the details of bytemaster's solution.  What are the pitfalls of it?  Sounds like a straightforward solution:  bring bitcoin in one-way via sidechain, treat it as a token to trade inside bitshares, redeem via a convert to BTS then to shapeshift.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: JonnyB on March 02, 2016, 02:50:08 pm
Obviously we should be pushing to get a sidechain implementation going ASAP.  But I think we're dramatically overcomplicating it in this thread and should probably leave the precise details to the devs (primarily @bytemaster). 

Beyond that, I think we should be concentrating on pushing to incentivize a) creation of the primary fiat BitAssets and b) participation in BitAsset liquidity pools, among other liquidity measures. 

Speaking of liquidity, I think we should be doing what we can to establish robust markets in any new cryptocurrencies that hit the market.  The Lisk ICO will go for another 3 weeks and then it will launch and trade on the open market.  I'll probably say this until I'm blue in the face.  But we should make sure we are among the first exchanges (if not THE first) to trade Lisk.  That would generate plenty of buzz and new users for the DEX.

We really need to get serious about making some of these pieces of the puzzle come together.

@bytemaster solution is just a bitcoin master wallet where the witnesses share the private keys and issue IOU tokens much like OPEN.BTC minus the multisig

Can we keep on topic with this thread. Please start a new thread if you want to discuss adding lisk.

I don't know the details of bytemaster's solution.  What are the pitfalls of it?  Sounds like a straightforward solution:  bring bitcoin in one-way via sidechain, treat it as a token to trade inside bitshares, redeem via a convert to BTS then to shapeshift.

It is straightforward and will be much better than what we have now.
I just think we should be more ambitious and create a solution where the depositor at least retains control of half of their private key. Ie a true sidechain.

@tbone
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: dannotestein on March 02, 2016, 03:30:41 pm
@abit
* The witness who hold the second key could be killed, so the key lost, and the locked BTC become non-redeemable, hence no value.
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

1 all witnesses would hold the second key
2 the software will only allow a witness to sign the bitcoin transaction once the corresponding SIDEBTC has been destroyed. Remember SIDEBTC is not transferable only BITBTC is.
Re 2): How does the software prevent someone with both bitcoin private keys from signing a "bitcoin" transaction? They would sign it on the bitcoin network, which doesn't care about the rules of the sidechain.

In general, I think this scheme is overly complicated and prone to some basic pitfalls. First and foremost, with potentially locked up BTC forever, all the BitBTC isn't redeemable for BTC, so it shouldn't trade as 1-1 for BTC.

I think BM's solution is much simpler, easier to understand, and therefore easier to trust. It's pretty safe except in the case of large scale collusion by the custodians of the SBA keys. To reduce this chance for collusion, the custodians could be compensated by some stream of income that goes away if they do collude.

Obviously there's political decisions involved in determining how to balance the amount of income to the custodians, the number of custodians, etc as the balance held increases. The biggest problem is this regard is probably the limited size of Bitcoin's multisig.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: abit on March 02, 2016, 03:45:05 pm
@abit
* The witness who hold the second key could be killed, so the key lost, and the locked BTC become non-redeemable, hence no value.
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

1 all witnesses would hold the second key
2 the software will only allow a witness to sign the bitcoin transaction once the corresponding SIDEBTC has been destroyed. Remember SIDEBTC is not transferable only BITBTC is.
Re 2): How does the software prevent someone with both bitcoin private keys from signing a "bitcoin" transaction? They would sign it on the bitcoin network, which doesn't care about the rules of the sidechain.

In general, I think this scheme is overly complicated and prone to some basic pitfalls. First and foremost, with potentially locked up BTC forever, all the BitBTC isn't redeemable for BTC, so it shouldn't trade as 1-1 for BTC.

I think BM's solution is much simpler, easier to understand, and therefore easier to trust. It's pretty safe except in the case of large scale collusion by the custodians of the SBA keys. To reduce this chance for collusion, the custodians could be compensated by some stream of income that goes away if they do collude.

Obviously there's political decisions involved in determining how to balance the amount of income to the custodians, the number of custodians, etc as the balance held increases. The biggest problem is this regard is probably the limited size of Bitcoin's multisig.
I'm glad to see a BTC expert came in.

Imo what we need is a reputation system which will provide trusts. "Reputed signers hold the keys".

By the way multi-sig feature of BTC is too expensive, perhaps we can't afford the operating cost if eventually implemented the side chain thing.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: JonnyB on March 02, 2016, 03:55:59 pm
@abit
* The witness who hold the second key could be killed, so the key lost, and the locked BTC become non-redeemable, hence no value.
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

1 all witnesses would hold the second key
2 the software will only allow a witness to sign the bitcoin transaction once the corresponding SIDEBTC has been destroyed. Remember SIDEBTC is not transferable only BITBTC is.
Re 2): How does the software prevent someone with both bitcoin private keys from signing a "bitcoin" transaction? They would sign it on the bitcoin network, which doesn't care about the rules of the sidechain.

In general, I think this scheme is overly complicated and prone to some basic pitfalls. First and foremost, with potentially locked up BTC forever, all the BitBTC isn't redeemable for BTC, so it shouldn't trade as 1-1 for BTC.

I think BM's solution is much simpler, easier to understand, and therefore easier to trust. It's pretty safe except in the case of large scale collusion by the custodians of the SBA keys. To reduce this chance for collusion, the custodians could be compensated by some stream of income that goes away if they do collude.

Obviously there's political decisions involved in determining how to balance the amount of income to the custodians, the number of custodians, etc as the balance held increases. The biggest problem is this regard is probably the limited size of Bitcoin's multisig.
I'm glad to see a BTC expert came in.

Imo what we need is a reputation system which will provide trusts. "Reputed signers hold the keys".

By the way multi-sig feature of BTC is too expensive, perhaps we can't afford the operating cost if eventually implemented the side chain thing.

Who would have both keys? As a depositor you guard your 1 of 2 key as well as you would a single key.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: tbone on March 02, 2016, 03:57:36 pm
Obviously we should be pushing to get a sidechain implementation going ASAP.  But I think we're dramatically overcomplicating it in this thread and should probably leave the precise details to the devs (primarily @bytemaster). 

Beyond that, I think we should be concentrating on pushing to incentivize a) creation of the primary fiat BitAssets and b) participation in BitAsset liquidity pools, among other liquidity measures. 

Speaking of liquidity, I think we should be doing what we can to establish robust markets in any new cryptocurrencies that hit the market.  The Lisk ICO will go for another 3 weeks and then it will launch and trade on the open market.  I'll probably say this until I'm blue in the face.  But we should make sure we are among the first exchanges (if not THE first) to trade Lisk.  That would generate plenty of buzz and new users for the DEX.

We really need to get serious about making some of these pieces of the puzzle come together.

@bytemaster solution is just a bitcoin master wallet where the witnesses share the private keys and issue IOU tokens much like OPEN.BTC minus the multisig

Can we keep on topic with this thread. Please start a new thread if you want to discuss adding lisk.

You missed my point.  It wasn't about adding Lisk.  That was just one example and my point was that we'd probably be far better served if non-technical people focused more on working toward helping the important pieces of the puzzle to come together rather than over-complicating sidechains and getting into the weeds over the details of its implementation.

Having said that, @bytemaster's solution seems to be sensible and elegant.  In your estimation, where is he going wrong? 
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: dannotestein on March 02, 2016, 04:07:34 pm
@abit
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

2 the software will only allow a witness to sign the bitcoin transaction once the corresponding SIDEBTC has been destroyed. Remember SIDEBTC is not transferable only BITBTC is.
Re 2): How does the software prevent someone with both bitcoin private keys from signing a "bitcoin" transaction? They would sign it on the bitcoin network, which doesn't care about the rules of the sidechain.

Who would have both keys? As a depositor you guard your 1 of 2 key as well as you would a single key.
abit's original point was simple, so I've just requoted his point, your reply,  and my reply. To answer your question: the
witness would have both keys: his "witness" key and his "sender" key. With these two keys, you can sell your BitBTC, then release your BTC.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: JonnyB on March 02, 2016, 05:30:50 pm
@abit
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

2 the software will only allow a witness to sign the bitcoin transaction once the corresponding SIDEBTC has been destroyed. Remember SIDEBTC is not transferable only BITBTC is.
Re 2): How does the software prevent someone with both bitcoin private keys from signing a "bitcoin" transaction? They would sign it on the bitcoin network, which doesn't care about the rules of the sidechain.

Who would have both keys? As a depositor you guard your 1 of 2 key as well as you would a single key.
abit's original point was simple, so I've just requoted his point, your reply,  and my reply. To answer your question: the
witness would have both keys: his "witness" key and his "sender" key. With these two keys, you can sell your BitBTC, then release your BTC.

So basically you're saying that witnesses would be able to double spend their own BTC by redeeming SIDEBTC and dumping BITBTC at the same time?
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: dannotestein on March 02, 2016, 05:59:26 pm
@abit
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

2 the software will only allow a witness to sign the bitcoin transaction once the corresponding SIDEBTC has been destroyed. Remember SIDEBTC is not transferable only BITBTC is.
Re 2): How does the software prevent someone with both bitcoin private keys from signing a "bitcoin" transaction? They would sign it on the bitcoin network, which doesn't care about the rules of the sidechain.

Who would have both keys? As a depositor you guard your 1 of 2 key as well as you would a single key.
abit's original point was simple, so I've just requoted his point, your reply,  and my reply. To answer your question: the
witness would have both keys: his "witness" key and his "sender" key. With these two keys, you can sell your BitBTC, then release your BTC.

So basically you're saying that witnesses would be able to double spend their own BTC by redeeming SIDEBTC and dumping BITBTC at the same time?
I'm saying they can sell their BitBTC and also reclaim their BTC since reclaiming only requires the two Bitcoin keys (no redeeming of SIDEBTC required). I don't really view this as a double spend, but it certainly doubles your money.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: abit on March 02, 2016, 06:04:08 pm
@abit
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

2 the software will only allow a witness to sign the bitcoin transaction once the corresponding SIDEBTC has been destroyed. Remember SIDEBTC is not transferable only BITBTC is.
Re 2): How does the software prevent someone with both bitcoin private keys from signing a "bitcoin" transaction? They would sign it on the bitcoin network, which doesn't care about the rules of the sidechain.

Who would have both keys? As a depositor you guard your 1 of 2 key as well as you would a single key.
abit's original point was simple, so I've just requoted his point, your reply,  and my reply. To answer your question: the
witness would have both keys: his "witness" key and his "sender" key. With these two keys, you can sell your BitBTC, then release your BTC.

So basically you're saying that witnesses would be able to double spend their own BTC by redeeming SIDEBTC and dumping BITBTC at the same time?
Correct. More probably a compromised block-signing witness_node (those running in VPS but not in a dedicated server).
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: complexring on March 02, 2016, 08:48:47 pm
@abit
* The witness who hold the second key could be killed, so the key lost, and the locked BTC become non-redeemable, hence no value.
* The witness who hold the second key could be the same person who deposited the BTC which is supposed to be locked, but actually the person have both keys, she can just unlock the fund without destroy the issued bitBTC.

1 all witnesses would hold the second key
2 the software will only allow a witness to sign the bitcoin transaction once the corresponding SIDEBTC has been destroyed. Remember SIDEBTC is not transferable only BITBTC is.
Re 2): How does the software prevent someone with both bitcoin private keys from signing a "bitcoin" transaction? They would sign it on the bitcoin network, which doesn't care about the rules of the sidechain.

In general, I think this scheme is overly complicated and prone to some basic pitfalls. First and foremost, with potentially locked up BTC forever, all the BitBTC isn't redeemable for BTC, so it shouldn't trade as 1-1 for BTC.

I think BM's solution is much simpler, easier to understand, and therefore easier to trust. It's pretty safe except in the case of large scale collusion by the custodians of the SBA keys. To reduce this chance for collusion, the custodians could be compensated by some stream of income that goes away if they do collude.

Obviously there's political decisions involved in determining how to balance the amount of income to the custodians, the number of custodians, etc as the balance held increases. The biggest problem is this regard is probably the limited size of Bitcoin's multisig.
I'm glad to see a BTC expert came in.

Imo what we need is a reputation system which will provide trusts. "Reputed signers hold the keys".

By the way multi-sig feature of BTC is too expensive, perhaps we can't afford the operating cost if eventually implemented the side chain thing.

I agree.  SIDE.BTC makes the entire system too convoluted, is unnecessary, and is prone to potential problems.

The original suggestion of using 15 witnesses to be holders of the private key of a multisig address seems simplest and best. 

Although, I am still unconvinced that bytemaster's suggestion of the top 15 is the best option.  bytemaster seems to think that it's not an issue, due to historical data, that a voting-out event could occur.  That's fine; however, we should always recall that past results are not indicative of future results.

The better solution (and I refuse to call any possible solution the best) is to randomly select 15 of the witnesses to be private key holders, with possibly a slightly weighted distribution towards the top ones.  This way, even if there is a switch between the 15th and 16th witness, we wouldn't have to constantly move to a new multi-sig address for the collateral. 

This extra transaction seems cumbersome and also is more costly, in terms of transaction fees on the bitcoin network.  If you foresee this sidechain business as something that could happen with any altcoin (which I do), then mitigating additional and unnecessary transactions by properly creating a sidechain protocol for any alt on bitshares is the proper way forward.

tl;dr -- side.btc seems superfluous and has potential issues.  Simpler solution is the original one offered, i.e. 15 of the witnesses hold the private keys to a multisignature address that contains the collateral of the bitcoin.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: Pheonike on March 02, 2016, 08:55:37 pm


Could we just use the witness order we have for signing blocks. Just make it last 15 witness have multisig.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: abit on March 02, 2016, 09:32:10 pm


Could we just use the witness order we have for signing blocks. Just make it last 15 witness have multisig.
Technically impossible.
The multi-sig wallet address is on bitcoin network, which has an average of 10 minutes block interval. It means we need to wait for 1 hour to make sure a transaction is included in a good fork (6 confirmations). You're saying "the last 15 witnesses hold the private keys of a bitcoin address", which means we need to change the multi-sig in bitcoin network every 3 seconds.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: abit on March 02, 2016, 10:03:19 pm
The original suggestion of using 15 witnesses to be holders of the private key of a multisig address seems simplest and best. 

Although, I am still unconvinced that bytemaster's suggestion of the top 15 is the best option.  bytemaster seems to think that it's not an issue, due to historical data, that a voting-out event could occur.  That's fine; however, we should always recall that past results are not indicative of future results.

The better solution (and I refuse to call any possible solution the best) is to randomly select 15 of the witnesses to be private key holders, with possibly a slightly weighted distribution towards the top ones.  This way, even if there is a switch between the 15th and 16th witness, we wouldn't have to constantly move to a new multi-sig address for the collateral. 
Best block producers of BitShares are probably not the best signers of BTC address. Imo we need another voting algorithm for the BTC multi-signers, for better security, for example one stake can only vote for one signer, so BTC38 can't control all signers. We can probably ask the signers to put some collateral in BitShares, for example to an account under the control of the committee (the voting algorithm of committee should also be revised), to make sure they won't steal customers' funds.

Randomness is evil. Stake talks.

Quote
This extra transaction seems cumbersome and also is more costly, in terms of transaction fees on the bitcoin network.  If you foresee this sidechain business as something that could happen with any altcoin (which I do), then mitigating additional and unnecessary transactions by properly creating a sidechain protocol for any alt on bitshares is the proper way forward.
This is good will. But I don't think BitShares is powerful enough to let other chains adapt BitShares's protocol.

Quote
tl;dr -- side.btc seems superfluous and has potential issues.  Simpler solution is the original one offered, i.e. 15 of the witnesses hold the private keys to a multisignature address that contains the collateral of the bitcoin.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: complexring on March 02, 2016, 10:34:35 pm
The original suggestion of using 15 witnesses to be holders of the private key of a multisig address seems simplest and best. 

Although, I am still unconvinced that bytemaster's suggestion of the top 15 is the best option.  bytemaster seems to think that it's not an issue, due to historical data, that a voting-out event could occur.  That's fine; however, we should always recall that past results are not indicative of future results.

The better solution (and I refuse to call any possible solution the best) is to randomly select 15 of the witnesses to be private key holders, with possibly a slightly weighted distribution towards the top ones.  This way, even if there is a switch between the 15th and 16th witness, we wouldn't have to constantly move to a new multi-sig address for the collateral. 
Best block producers of BitShares are probably not the best signers of BTC address. Imo we need another voting algorithm for the BTC multi-signers, for better security, for example one stake can only vote for one signer, so BTC38 can't control all signers. We can probably ask the signers to put some collateral in BitShares, for example to an account under the control of the committee (the voting algorithm of committee should also be revised), to make sure they won't steal customers' funds.


Great thoughts.  I'm not opposed to having others hold the private keys to the multisig address and you bring a good point that it may not be the best option to have block producers be the holders of the private keys.


Randomness is evil. Stake talks.



Randomness is not evil if a protocol is designed properly to handle it.  Making a blanket statement, without mathematical proofs is disingenuous.  There are plenty of mathematical algorithms where randomness is used and provides a better algorithm than ones that do not use (pseudo-or-pure) randomness. 

Point being that the unnecessary transactions that occur under any system design that has a vote for whom holds the private keys for the multisignature addresses will be costly (even if it's minute) and that randomness mitigates this issue.  I'm not saying it's the best, but even when you vote for the holders of the private keys to the multisig address, the person(s) / accounts at 15 and 16 could constantly be swapping positions, and the collateral would be eaten by the transaction fees.


This is good will. But I don't think BitShares is powerful enough to let other chains adapt BitShares's protocol.


I am unsure what you mean by this.  I wasn't suggesting BitShares protocol be adopted by other chains. What I mean is that if the sidechain protocol that BitShares implements works for BitCoin, then it will work for any other altcoin that uses multisignature addresses.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: emailtooaj on March 03, 2016, 12:43:03 am
I've been thinking some on this subject and had a thought maybe worth discussing?
What if we introduced "forging" on client side wallets that was designed to randomly pass the multi sig keys to users (using user cpu when their wallet is open, in a stealth way) and not witnesses?
So the witnesses run the nods/chain but only active/online user wallets control the keys for the BTC wallet?
Would this be possible?
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: abit on March 03, 2016, 12:47:29 am
I've been thinking some on this subject and had a thought maybe worth discussing?
What if we introduced "forging" on client side wallets that was designed to randomly pass the multi sig keys to users (using user cpu when their wallet is open, in a stealth way) and not witnesses?
So the witnesses run the nods/chain but only active/online user wallets control the keys for the BTC wallet?
Would this be possible?
To implement the so called side-chain feature, we need to make sure: when a user requested a withdrawal of SIDE.BTC (or whatever name), the key holders are online and aware of the request, and sign a transfer transaction in bitcoin network accordingly. How to make sure a random node is always online?
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: emailtooaj on March 03, 2016, 01:51:33 am
I've been thinking some on this subject and had a thought maybe worth discussing?
What if we introduced "forging" on client side wallets that was designed to randomly pass the multi sig keys to users (using user cpu when their wallet is open, in a stealth way) and not witnesses?
So the witnesses run the nods/chain but only active/online user wallets control the keys for the BTC wallet?
Would this be possible?
To implement the so called side-chain feature, we need to make sure: when a user requested a withdrawal of SIDE.BTC (or whatever name), the key holders are online and aware of the request, and sign a transfer transaction in bitcoin network accordingly. How to make sure a random node is always online?

Not sure I understand what you mean by "random node"? BTC random node, Witness or Wallet?

Some have mentioned that person A who deposits the real BTC should hold one of the keys, so if person A ends up selling/transferring their SIDE.BTC to person B or value got trade in the exchange, then  if person B wanted to withdraw real BTC back out of Dex, then obviously person A is not around to sign with their key if they have to be active/online. 
The other issue with witnesses having full control of the keys (though trustworthy) can collude to wreak havoc as other have mentioned earlier.
So my thought process was, what if witnesses just ran/update the BTC node and published transfers with out seeing the actual keys? If this is even possible, don't know?
If that could be done then a typical transfer would go something like this...

- Person A deposits BTC to the Dex BTC deposit address with their user name in memo field...
- Witnesses see that Tx in the linked BTC wallet and credits the username (from the memo field) the corresponding SIDE.BTC,  1:1 after 6 confirmations on the BTC network (btw, I personally like DeX.BTC)....
- Person A can now use the DeX.BTC to trade, transfer or create UIA within the Dex...
- If Person B ends up getting Person A's  DeX.BTC and wants to withdraw back into BTC, then Person B creates a withdraw request
- Witnesses see withdraw request
- Witnesses broadcast to any "open/active" BTS wallets to request mutisig keys
- online Client wallets start to  "forge/mine"  for the BTC mutisig keys
- Winning "forgers" sign off for the BTC Tx (and possibly get paid a "mining" reward) and give Witnesses the thumbs up to transfer
- Witnesses then broadcast Tx from Dex BTC wallet to Person B BTC wallet.

or something to that effect..lol

If 10 multisig keys, or more are needed then I'd assume it would be safe to say there will be 10 or more active wallets online when the withdraw Tx was broadcast. Especially if users can earn money by keeping active wallets online and help "forge/mine" the keys... there could easily be 100's or thousands of up and running wallets at any given point in time.
BTS network already runs enough witnesses (if there needs to be more than 10 online at same time) so that shouldn't be an issue either.

To incentive witnesses to run BTC nodes, those that do run them, could get a tx fee of the withdrawals to the BTC network.
I wouldn't advise any fees charged for BTC deposits into the Dex.

Like I said, this may not work... pie in the sky thought/scheme, but maybe will spark some other creative ideas to make BTC deposits possible.








 
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: BunkerChainLabs-DataSecurityNode on March 03, 2016, 02:15:54 am
The original suggestion of using 15 witnesses to be holders of the private key of a multisig address seems simplest and best. 

Although, I am still unconvinced that bytemaster's suggestion of the top 15 is the best option.  bytemaster seems to think that it's not an issue, due to historical data, that a voting-out event could occur.  That's fine; however, we should always recall that past results are not indicative of future results.

The better solution (and I refuse to call any possible solution the best) is to randomly select 15 of the witnesses to be private key holders, with possibly a slightly weighted distribution towards the top ones.  This way, even if there is a switch between the 15th and 16th witness, we wouldn't have to constantly move to a new multi-sig address for the collateral. 
Best block producers of BitShares are probably not the best signers of BTC address. Imo we need another voting algorithm for the BTC multi-signers, for better security, for example one stake can only vote for one signer, so BTC38 can't control all signers. We can probably ask the signers to put some collateral in BitShares, for example to an account under the control of the committee (the voting algorithm of committee should also be revised), to make sure they won't steal customers' funds.

Randomness is evil. Stake talks.

Quote
This extra transaction seems cumbersome and also is more costly, in terms of transaction fees on the bitcoin network.  If you foresee this sidechain business as something that could happen with any altcoin (which I do), then mitigating additional and unnecessary transactions by properly creating a sidechain protocol for any alt on bitshares is the proper way forward.
This is good will. But I don't think BitShares is powerful enough to let other chains adapt BitShares's protocol.

Quote
tl;dr -- side.btc seems superfluous and has potential issues.  Simpler solution is the original one offered, i.e. 15 of the witnesses hold the private keys to a multisignature address that contains the collateral of the bitcoin.

I understand the security concern regarding the witnesses. However I think if we sidestep them as our infrastructure of trust, we are losing the opportunity for them to grow.

At present the level of trust given to them is relative to the stakeholders regard for BTS block witnessing.

It's interesting that now that we would add BTC to the witnesses suddenly there is all this security concern... the same concerns that exist 'now'.

I think going through this process will cause the voting stake holders to become more active if not take the process of voting more seriously.

It will also force witnesses to step up their game or be voted out... I know we have similar witnesses to what we had as delegates in the past largely due to associations with known large stake holders, but with something like this that brings in whole new holders that are going to look at every witness with a far more objective eye and judge them on their presentation, credentials, and their infrastructure.. we are going to see that whole arm of our TBD (three branches of delegation) mature.

If we side step them with something like this though... they stay the same and don't improve.

There is the other issue of expense you mentioned though.

We can have a greater degree of security, however multisig transactions in the bitcoin network are more expensive.. and that will get passed on to the end users... I suppose that is not a bad thing.. it might actually encourage some to get people signing up to bitshares to get their BTC sent to them... in record time at that! :)

Great discussions over all from everyone.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: donkeypong on March 03, 2016, 03:47:45 am
The technical details are beyond my level of understanding, but in terms of the concept, I'm interested. If being a sidechain improves our liquidity and market cap with few negative consequences, then I say 'go for it.' At this point, we should be bold.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: giant middle finger on March 03, 2016, 06:37:06 am
I agree.

Like BM said:

We need to showcase what makes us "unique"

in this case, Sidechaining is not being successfully done by anyone yet. Showcasing our DPOS consensus successful history is also unique to us.

On the other hand, bond markets have been established for centuries.  They are not unique or progressively exciting at all.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: abit on March 03, 2016, 08:52:45 am
I've been thinking some on this subject and had a thought maybe worth discussing?
What if we introduced "forging" on client side wallets that was designed to randomly pass the multi sig keys to users (using user cpu when their wallet is open, in a stealth way) and not witnesses?
So the witnesses run the nods/chain but only active/online user wallets control the keys for the BTC wallet?
Would this be possible?
To implement the so called side-chain feature, we need to make sure: when a user requested a withdrawal of SIDE.BTC (or whatever name), the key holders are online and aware of the request, and sign a transfer transaction in bitcoin network accordingly. How to make sure a random node is always online?

Not sure I understand what you mean by "random node"? BTC random node, Witness or Wallet?

Some have mentioned that person A who deposits the real BTC should hold one of the keys, so if person A ends up selling/transferring their SIDE.BTC to person B or value got trade in the exchange, then  if person B wanted to withdraw real BTC back out of Dex, then obviously person A is not around to sign with their key if they have to be active/online. 
The other issue with witnesses having full control of the keys (though trustworthy) can collude to wreak havoc as other have mentioned earlier.
So my thought process was, what if witnesses just ran/update the BTC node and published transfers with out seeing the actual keys? If this is even possible, don't know?
If that could be done then a typical transfer would go something like this...

- Person A deposits BTC to the Dex BTC deposit address with their user name in memo field...
- Witnesses see that Tx in the linked BTC wallet and credits the username (from the memo field) the corresponding SIDE.BTC,  1:1 after 6 confirmations on the BTC network (btw, I personally like DeX.BTC)....
- Person A can now use the DeX.BTC to trade, transfer or create UIA within the Dex...
- If Person B ends up getting Person A's  DeX.BTC and wants to withdraw back into BTC, then Person B creates a withdraw request
- Witnesses see withdraw request
- Witnesses broadcast to any "open/active" BTS wallets to request mutisig keys
- online Client wallets start to  "forge/mine"  for the BTC mutisig keys
- Winning "forgers" sign off for the BTC Tx (and possibly get paid a "mining" reward) and give Witnesses the thumbs up to transfer
- Witnesses then broadcast Tx from Dex BTC wallet to Person B BTC wallet.

or something to that effect..lol
It's perfect if the private keys of the multi-sig BTC address can only be used to sign special transactions (real withdrawal requests) but cannot be printed out or be compromised to sign other unwanted transactions (attacks). However I suspect it would be technical very hard if not impossible. I don't know. Wish @bytemaster @pc @dannotestein can help. Unless it's possible, any random mining/forging would probably cause compromise/leak of keys then fund losing.

Quote
If 10 multisig keys, or more are needed then I'd assume it would be safe to say there will be 10 or more active wallets online when the withdraw Tx was broadcast. Especially if users can earn money by keeping active wallets online and help "forge/mine" the keys... there could easily be 100's or thousands of up and running wallets at any given point in time.
BTS network already runs enough witnesses (if there needs to be more than 10 online at same time) so that shouldn't be an issue either.

To incentive witnesses to run BTC nodes, those that do run them, could get a tx fee of the withdrawals to the BTC network.
I wouldn't advise any fees charged for BTC deposits into the Dex.

Like I said, this may not work... pie in the sky thought/scheme, but maybe will spark some other creative ideas to make BTC deposits possible.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: sudo on March 03, 2016, 12:40:30 pm
how to control btc address  decentralized?
can Intelligent contract run a robot?
receive  btc ---send sidebtc
receive sidebtc--send real btc
make profit  send to shareholders
no risk
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: abit on March 03, 2016, 12:43:12 pm
how to control btc address  decentralized?
can Intelligent contract run a robot?
receive  btc ---send sidebtc
receive sidebtc--send real btc
make profit  send to shareholders
no risk
You're right. How?
If such intelligent contract can be done easily, why not make one in Ethereum?
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: dannotestein on March 03, 2016, 03:57:49 pm
Private keys for BTC can't be held in the blockchain. They need to be "owned" by someone, hence the need for custodians for these keys.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: complexring on March 03, 2016, 11:27:27 pm
Is there a way to use the bitcoin scripting language (see https://en.bitcoin.it/wiki/Script) to have an unknown address for the destination address?

That is, some mechanism where the user who holds the side.btc asset on the bts blockchain also holds a master private key for a transaction (in addition to a M of N signature) and then allow for a dynamic address, i.e. one that is only known a posteriori, say when a trade executes.

I dunno all the details of the script language or what is available or even if this is useful.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: puppies on March 03, 2016, 11:38:55 pm
Its too bad cryptofresh.com/u/witness-account (http://cryptofresh.com/u/witness-account) doesn't have a private key we could use on the btc network.  If we could just use that account it would solve a lot of our problems. 

I would suggest something like the top 15 witnesses in something like a 10 of 15 multi sig, and then script it so that the btc account is updated if any 3 of those witnesses are voted out of the top 15.  This would add the requirement for those witnesses to run a btc chain and we could pay the top 15 slots more per block for this.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: abit on March 04, 2016, 12:57:03 pm

I would suggest something like the top 15 witnesses in something like a 10 of 15 multi sig, and then script it so that the btc account is updated if any 3 of those witnesses are voted out of the top 15.  This would add the requirement for those witnesses to run a btc chain and we could pay the top 15 slots more per block for this.
Good idea. I'm also thinking about this.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: TravelsAsia on March 04, 2016, 03:55:20 pm
From the Mumble, it sounds like the next step is to get BlockTrades.
Title: Re: The Bitshares blockchain as the first public sidechain for Bitcoin
Post by: Erlich Bachman on March 07, 2016, 01:43:05 pm
check this out

rootstock is doing this too:

https://medium.com/@CryptoIQ.ca/rootstock-smart-contracts-on-the-bitcoin-blockchain-e52b065421a8#.mkv9x51zt

and this sidechain conversation at bitcointalk:

Next Paradox:

Rootstock comes up with smart contacts using bitcoin: ( I do not see any Casper in yet... and no PoS  :-)   )

https://medium.com/@CryptoIQ.ca/rootstock-smart-contracts-on-the-bitcoin-blockchain-e52b065421a8#.npkfpas4w

Side-chains are insecure. DOA.

To the BTC chain itself? IMO it lowers the complexity,...

The security is reduced to that of the weakest side chain.

So the pegging needs to be transient !

I have no idea what you mean. Chain reorganizations in the weaker chain can cause people to lose their Bitcoins. The chains can get out-of-sync. There is no way for a block chain to securely reference any data point outside of itself. This is fundamentally why Augur and BitUSD can't function without centralization.

Yes - agreed, but I mean rather it has no negative effect to the main chain, if you don't care using the side chain.

I think the insecurity of the side chain can wreck the Bitcoin block chain. If I am mistaken, I request someone to point out why.

Please see pages 8, 9, and 12 of the Blockstream side chains white paper (https://blockstream.com/sidechains.pdf). It says that the coins on the Bitcoin block chain can be unlock by presenting a proof-of-work from the side chain, but that this can be invalidated by a longer proof-of-work. So this means that a lie-in-wait attack on the side chain could allow someone to unlock coins on Bitcoin's block chain, spend them, let others spend them in a fanout of derivative transactions, then reverse the Bitcoin transactions by presenting a longer proof-of-work from the side chain invalidating all those Bitcoin block chain transactions. In short, it seems to me a chain reorganization on the side chain can cause a chain reorganization on the Bitcoin block chain.

I am ready to go to sleep, so I am just skimming quickly with my re-reading of that white paper, so perhaps I missed something?