Bitcoin Forum
March 27, 2019, 07:07:24 PM *
News: Latest Bitcoin Core release: 0.17.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Question] Multisig for an organisation  (Read 81 times)
thc2008
Newbie
*
Offline Offline

Activity: 1
Merit: 3


View Profile
March 25, 2019, 10:20:34 AM
Merited by bones261 (2), HeRetiK (1)
 #1

Hello,

I am currently thinking about implementing a multisignature scheme for an organisation and I would greatly appreciate any help regarding the following two topics:

A- Ex-post accountability
Assuming a signed transaction has been broadcast to the network and that I know the redeem script and all signatory public keys, can I determine which public keys were signatories of the transaction?

B- Signatory groups
Is there a way to implement a signing scheme such as (key1 or key 2 or key 3) AND (key 4 or key 5) AND (key 6 or key 7)

the idea would be to have a scheme such as (Trader 1 or Trader 2 or Trader 3) AND (Accountant 1 or Accountant 2) AND (BOSS 1 or BOSS 2)

I indeed read that OP_AND and OP_OR have been disabled.


Thank you,
100% New Software
PC, Mac, Android, & HTML5 Clients
Krill Rakeback
Low Rake
Bitcoin Poker 3.0
Bad Beat Jackpot
SwC Poker Relaunch
PLAY NOW
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1553713644
Hero Member
*
Offline Offline

Posts: 1553713644

View Profile Personal Message (Offline)

Ignore
1553713644
Reply with quote  #2

1553713644
Report to moderator
1553713644
Hero Member
*
Offline Offline

Posts: 1553713644

View Profile Personal Message (Offline)

Ignore
1553713644
Reply with quote  #2

1553713644
Report to moderator
1553713644
Hero Member
*
Offline Offline

Posts: 1553713644

View Profile Personal Message (Offline)

Ignore
1553713644
Reply with quote  #2

1553713644
Report to moderator
darosior
Full Member
***
Offline Offline

Activity: 140
Merit: 152



View Profile WWW
March 25, 2019, 12:41:29 PM
Merited by ETFbitcoin (1)
 #2

Hello,

I am currently thinking about implementing a multisignature scheme for an organisation and I would greatly appreciate any help regarding the following two topics:

A- Ex-post accountability
Assuming a signed transaction has been broadcast to the network and that I know the redeem script and all signatory public keys, can I determine which public keys were signatories of the transaction?

B- Signatory groups
Is there a way to implement a signing scheme such as (key1 or key 2 or key 3) AND (key 4 or key 5) AND (key 6 or key 7)

the idea would be to have a scheme such as (Trader 1 or Trader 2 or Trader 3) AND (Accountant 1 or Accountant 2) AND (BOSS 1 or BOSS 2)

I indeed read that OP_AND and OP_OR have been disabled.


Thank you,

Hi,

A- Yes. The public key used to redeeem the funds are in the transaction (more precisely the signatures are in the input of the transaction that redeem the funds).
B- Yes. You can use a smart contract in Script.

Github profile ~ Crypto Lyon (french community)  ~ GPG key fingerprint : E13F C145 CD3F 430 ~ LN public key : 03678b4f041fbfbeebcafc076469df75decf81da20a53bd490172e83ce532df1fa
Tutorials/posts : Address from private keyBitcoin smart contracts ~ Setup a Bitcoin node ~ Raw P2PKH transaction in Python ~ P2SH ~ 51% attack
ETFbitcoin
Legendary
*
Online Online

Activity: 1624
Merit: 1676

Use SegWit and enjoy lower fees.


View Profile WWW
March 26, 2019, 04:27:57 PM
Merited by bones261 (2)
 #3

I indeed read that OP_AND and OP_OR have been disabled.

And that mean script size for multi-sig for you is big. You'd need 12 OP_CHECKMULTISIGVERIFY, unless you could think ways with shorter logic. Roughly it should look like this.

Code:
OP_IF
    0 <Sig. 1> <Sig. 4> <Sig. 6> 3 <Pub. Key 1> <Pub. Key 4> <Pub. Key 6> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 1> <Sig. 4> <Sig. 7> 3 <Pub. Key 1> <Pub. Key 4> <Pub. Key 7> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 1> <Sig. 5> <Sig. 6> 3 <Pub. Key 1> <Pub. Key 5> <Pub. Key 6> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 1> <Sig. 5> <Sig. 7> 3 <Pub. Key 1> <Pub. Key 5> <Pub. Key 7> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 2> <Sig. 4> <Sig. 6> 3 <Pub. Key 2> <Pub. Key 4> <Pub. Key 6> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 2> <Sig. 4> <Sig. 7> 3 <Pub. Key 2> <Pub. Key 4> <Pub. Key 7> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 2> <Sig. 5> <Sig. 6> 3 <Pub. Key 2> <Pub. Key 5> <Pub. Key 6> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 2> <Sig. 5> <Sig. 7> 3 <Pub. Key 2> <Pub. Key 5> <Pub. Key 7> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 3> <Sig. 4> <Sig. 6> 3 <Pub. Key 3> <Pub. Key 4> <Pub. Key 6> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 3> <Sig. 4> <Sig. 7> 3 <Pub. Key 3> <Pub. Key 4> <Pub. Key 7> 3 OP_CHECKMULTISIGVERIFY
OP_IF
    0 <Sig. 3> <Sig. 5> <Sig. 6> 3 <Pub. Key 3> <Pub. Key 5> <Pub. Key 6> 3 OP_CHECKMULTISIGVERIFY
OP_ELSE
    0 <Sig. 3> <Sig. 5> <Sig. 7> 3 <Pub. Key 3> <Pub. Key 5> <Pub. Key 7> 3 OP_CHECKMULTISIGVERIFY
OP_ENDIF

Abdussamad
Legendary
*
Offline Offline

Activity: 2058
Merit: 1134



View Profile WWW
Today at 04:06:55 AM
 #4

There are no readymade solutions for either a or b. You're going to have to hire a developer to create a suitable wallet for you. So while it is possible there is no easy way to do it yet.

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!