Author Topic: Is it possible for bitshares to become a sidechain of bitcoin?  (Read 25970 times)

0 Members and 1 Guest are viewing this topic.

Offline noisy

@bytemaster

What if this will be always 2 of 2 multisig for each deposit? One key will be always generated and distributed among witness, and second key will be always in users hand?

bitshares network will allow to release a funds only when proper transaction will be made in bitshares network.
« Last Edit: February 12, 2016, 09:35:34 pm by noisy »
Take a look on: https://bitsharestalk.org/index.php/topic,19625.msg251894.html - I have a crazy idea - lets convince cryptonomex developers to use livecoding.tv

Offline tbone

  • Hero Member
  • *****
  • Posts: 632
    • View Profile
  • BitShares: tbone2
@bytemaster:

Just wanted to resurrect the sidechain thread with an idea/question.  Since there's risk (perhaps intolerable risk) of collusion  associated with witnesses signing off on transfers to a multi-sig BTC wallet, would it be possible for the BTS blockchain to hold the private key for such a BTC wallet and automatically make transfers out of it (and into a user's individual BTC wallet) whenever a user sells their SIDE.BTC on the DEX?

It is possible to do secure multi-party computation among the witnesses.  Doesn't prevent collusion of witnesses though.

https://en.wikipedia.org/wiki/Secure_multi-party_computation

So is it not possible for the Bitshares blockchain to hold the private key for the common wallet and automate the transfers so witnesses don't need to be involved?

Offline bytemaster

@bytemaster:

Just wanted to resurrect the sidechain thread with an idea/question.  Since there's risk (perhaps intolerable risk) of collusion  associated with witnesses signing off on transfers to a multi-sig BTC wallet, would it be possible for the BTS blockchain to hold the private key for such a BTC wallet and automatically make transfers out of it (and into a user's individual BTC wallet) whenever a user sells their SIDE.BTC on the DEX?

It is possible to do secure multi-party computation among the witnesses.  Doesn't prevent collusion of witnesses though.

https://en.wikipedia.org/wiki/Secure_multi-party_computation
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline tbone

  • Hero Member
  • *****
  • Posts: 632
    • View Profile
  • BitShares: tbone2
@bytemaster:

Just wanted to resurrect the sidechain thread with an idea/question.  Since there's risk (perhaps intolerable risk) of collusion  associated with witnesses signing off on transfers to a multi-sig BTC wallet, would it be possible for the BTS blockchain to hold the private key for such a BTC wallet and automatically make transfers out of it (and into a user's individual BTC wallet) whenever a user sells their SIDE.BTC on the DEX? 

Offline complexring

  • Full Member
  • ***
  • Posts: 66
    • View Profile
TL;DR Don't know whether this be considered in the thread yet:
 If we want to automatically have top 15 witnesses multi-sig the BTC wallet, we need to improve voting participation first, otherwise for example btc38 would be able to steal the fund easily.

Please look up and read my solution regarding choosing a random 15 of the delegates to be holders of a multisignature address.  I think there's the possibility of 'revolution' type events where the top 15 could be voted out, and with them, the associated keys to the multisignature addresses.
I feel that we don't need "active" witnesses to sign btc and/or in-bts-btc transactions, actually any witness_node can do that, they just need to broadcast transactions, active witnesses will then get them into blocks. So some random algorithm makes sense.

//Update:
With my "heart-beat" proposal, it's possible to identify which witness is alive.

However, with randomly selected witnesses, we can't not prevent an attacker from running thousands of witness_nodes so that increasing chance of having all keys. I think some kind of PoW based witness selecting may work.

Ok. Good. It seems, then, that we need to prevent both possibilities:

1) an attacker from running thousands of witness_nodes to gain the private keys
2) a kick the bums out event where the top witnesses who have keys are voted out, and too many are voted out at once


Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
TL;DR Don't know whether this be considered in the thread yet:
 If we want to automatically have top 15 witnesses multi-sig the BTC wallet, we need to improve voting participation first, otherwise for example btc38 would be able to steal the fund easily.

Please look up and read my solution regarding choosing a random 15 of the delegates to be holders of a multisignature address.  I think there's the possibility of 'revolution' type events where the top 15 could be voted out, and with them, the associated keys to the multisignature addresses.
I feel that we don't need "active" witnesses to sign btc and/or in-bts-btc transactions, actually any witness_node can do that, they just need to broadcast transactions, active witnesses will then get them into blocks. So some random algorithm makes sense.

//Update:
With my "heart-beat" proposal, it's possible to identify which witness is alive.

However, with randomly selected witnesses, we can't not prevent an attacker from running thousands of witness_nodes so that increasing chance of having all keys. I think some kind of PoW based witness selecting may work.
« Last Edit: February 04, 2016, 06:32:55 pm by abit »
BitShares committee member: abit
BitShares witness: in.abit

Offline complexring

  • Full Member
  • ***
  • Posts: 66
    • View Profile
TL;DR Don't know whether this be considered in the thread yet:
 If we want to automatically have top 15 witnesses multi-sig the BTC wallet, we need to improve voting participation first, otherwise for example btc38 would be able to steal the fund easily.

Please look up and read my solution regarding choosing a random 15 of the delegates to be holders of a multisignature address.  I think there's the possibility of 'revolution' type events where the top 15 could be voted out, and with them, the associated keys to the multisignature addresses.

Offline JonnyB

  • Hero Member
  • *****
  • Posts: 636
    • View Profile
    • twitter.com/jonnybitcoin
1st step is for current BTCUIA providers to provide a watch only bitcoin hotwallet so we can all confirm they are issuing tokens 1:1
I run the @bitshares twitter handle
twitter.com/bitshares

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
TL;DR Don't know whether this be considered in the thread yet:
 If we want to automatically have top 15 witnesses multi-sig the BTC wallet, we need to improve voting participation first, otherwise for example btc38 would be able to steal the fund easily.
BitShares committee member: abit
BitShares witness: in.abit

Offline complexring

  • Full Member
  • ***
  • Posts: 66
    • View Profile
Instead of witnesses cannot be done in a public way (specialised witnesses) by businesses. In a similar way I would like an easy way to adjust the asset issue balance between Bitshares and Ethereum, so assets can be transferred back and forth at a minimal cost for the end user.

This is what @Shentist was suggesting.  And I say, why not allow businesses to form partnerships AND do this with voted witnesses.  Both have merit.  One allows, as you put it, minimal transferrance between other networks via businesses holding private keys, whereas the other encourages adoption and usage of the BitShares network.

Offline betax

  • Hero Member
  • *****
  • Posts: 808
    • View Profile
Instead of witnesses cannot be done in a public way (specialised witnesses) by businesses. In a similar way I would like an easy way to adjust the asset issue balance between Bitshares and Ethereum, so assets can be transferred back and forth at a minimal cost for the end user.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline brainbug

  • Full Member
  • ***
  • Posts: 58
    • View Profile

Offline complexring

  • Full Member
  • ***
  • Posts: 66
    • View Profile

1. Have all of the witnesses monitor the BTC network for transfers to a designated multi-sig address which is defined by the BTS consensus to be the top 15 witness signatures (max MSIG allowed by BTC).   All of these UNSPENT OUTPUTS get included as part of BTS consensus state.


Ok, I have few questions:

1. how those 15 signatures will be distributed among witnesses? What will happen if some witness lose their key? (I doubt that mine understanding of this is correct... )

Or...

2. those 15 signatures will be somehow encrypted in the bitshares blockchain? Is that correct that then most of the witnesses (by voting power) will need to agree to use those 15 signatures to make a transaction?

Assuming, that this above is correct, why we need to use 15 signature if those signatures can be used only if witnesses will have consensus? We we cannot use 10, 2 or 1?

Is that means, that bitshares network itself will have to prove, that we have all signatures needed to make a transaction? How does it work? Is those multiple signatures has to be combined into one? (I doubt it.. because that will mean, that single request from some computer will have to be made, and that computer can intercept this precious key).

Is that mean, that bitshares network will have to prove that we have all 15 signatures? One witness will "authenticate" one signature? How network will assure, that after some time some witness will not collect all signatures? Is that mean, that network will have to prevent that one specific witness will never authenticate more than one signature? What if over time someone will gather 15 signatures by 15 different witnesses?


Disclaimer: my questions probably are silly and I guess I made quite few completely wrong assumptions, nevertheless, it would be great if someone could share more details about possible implementations of that.

I don't think these are silly questions at all.

Multisignature addresses, in general, work on the M of N notion, where there are N total signing keys and only M are needed to approve a transaction.

M and N are values passed when the multisignature address is created.

I'm not entirely sure all the details of how this will work as witnesses are voted in and out.  I imagine that as long as there is no sudden 'revolution', i.e. a situation where some number of top witnesses get voted out from the top 15 and there are no longer enough to approve a transaction, this may pose a problem.

Perhaps the way to do that is to randomly choose 15 from all the witnesses.  This gives a 'revolution' type voting event more stability in that it's probably unlikely that all will be removed completely from being witnesses.  But I could see a situation where if we use 8 of 15 multisignature addresses that at least 8 could move from being in the top 15 to the top 30, in which case, there's no 'good' way of handling transferring of keys.  If we instead allow for a 'random' choice of all the witnesses, we won't have this type of situation. 

Point being, with 37 witnesses (unsure the total number now), and choose 15 out of those, that is 37!/(15!12!) = LARGE NUMBER, whereas 15 choose 15 is precisely 1.  So, we've reduced risk that a revolution event of voting out enough witnesses who are needed for the multisig address actually occurs.

As Shentist mentioned, this is what MetaExchange does with the META.BTC user issued asset.  He brings up a good point that this hurts his business model.  In a way, there's no reason why Meta and Blocktrade and any other entity could do the same thing, without the necessity for witnesses, etc.  Collusion, once more, could happen.  But if people are already trusting them now with their UIAs, this shouldn't pose a large problem.

In fact, I encourage both solutions, Meta, Blocktrade, etc. collective multisig wallets and random 15 witnesses multisig wallets.  There is nothing that says these models are mutually exclusive.

Offline noisy


1. Have all of the witnesses monitor the BTC network for transfers to a designated multi-sig address which is defined by the BTS consensus to be the top 15 witness signatures (max MSIG allowed by BTC).   All of these UNSPENT OUTPUTS get included as part of BTS consensus state.


Ok, I have few questions:

1. how those 15 signatures will be distributed among witnesses? What will happen if some witness lose their key? (I doubt that mine understanding of this is correct... )

Or...

2. those 15 signatures will be somehow encrypted in the bitshares blockchain? Is that correct that then most of the witnesses (by voting power) will need to agree to use those 15 signatures to make a transaction?

Assuming, that this above is correct, why we need to use 15 signature if those signatures can be used only if witnesses will have consensus? We we cannot use 10, 2 or 1?

Is that means, that bitshares network itself will have to prove, that we have all signatures needed to make a transaction? How does it work? Is those multiple signatures has to be combined into one? (I doubt it.. because that will mean, that single request from some computer will have to be made, and that computer can intercept this precious key).

Is that mean, that bitshares network will have to prove that we have all 15 signatures? One witness will "authenticate" one signature? How network will assure, that after some time some witness will not collect all signatures? Is that mean, that network will have to prevent that one specific witness will never authenticate more than one signature? What if over time someone will gather 15 signatures by 15 different witnesses?


Disclaimer: my questions probably are silly and I guess I made quite few completely wrong assumptions, nevertheless, it would be great if someone could share more details about possible implementations of that.


Take a look on: https://bitsharestalk.org/index.php/topic,19625.msg251894.html - I have a crazy idea - lets convince cryptonomex developers to use livecoding.tv

Offline Akado

  • Hero Member
  • *****
  • Posts: 2752
    • View Profile
  • BitShares: akado
I dont know the technicals but I think that was pretty much what I was saying here previously when finding a way for everyone to share the same asset

https://bitsharestalk.org/index.php/topic,20947.60.html

I would prefer this over bitbtc for example. Shared order books, more liquidity, plus way more accessible to create instead of locking up 200% collateral. Maybe the network wouldn't benefit that much in terms of locked BTS, but if it would increase adoption I think it's worth it.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads