supertestnet / bitpac

Publicly auditable cooperatives that live on bitcoin
https://supertestnet.github.io/bitpac/
Creative Commons Zero v1.0 Universal
32 stars 4 forks source link

limitations #3

Open mikestaub opened 1 year ago

mikestaub commented 1 year ago

How many individuals can be a member of the coop? Is there a way to make this limit 10 billion?

supertestnet commented 1 year ago

How many individuals can be a member of the coop?

67

Is there a way to make this limit 10 billion?

Maybe. It might be possible to extend the limit into the billions by using the FROST protocol for schnorr signatures. However, there are some downsides:

(1) I don't think there is a javascript implementation of FROST

(2) Creating a FROST signature is an interactive process. You can't just sign and post your signature as the current protocol does. Instead, for each proposal, a "pre-voting" stage must happen where everyone jointly contributes to the creation of a shared random number.

(3) Only once everyone agrees on what the shared random number should be can they start the "vote by signing" process. I don't think you can create the random number in advance either, I think everyone has to know what they're expected to sign before they contribute to the random number.

(4) If all of the above is correct, it seems to imply that any member could unilaterally veto any proposal by refusing to participate in the "pre-voting" stage mentioned in step 2. Voting can't happen without that part, and you can't leave anyone out of it (or at least I don't think you can).

(5) So yeah, if all of the above is correct (but I suspect some of it is wrong), you can extend the limit into the billions but the only way I think I know how to do that would give every member a unilateral veto on every proposal. Which would be terrible.

mikestaub commented 1 year ago

Thanks for the detailed response. Could it scale in layers? So one virtual co-op is a smart contract that manages multiple multisig wallets? With BIP300 we can have BTC layer 2s that support solidity.