Bitcoin Forum
July 03, 2024, 05:16:57 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Hierarchical Multisignature  (Read 705 times)
buddhamangler (OP)
Member
**
Offline Offline

Activity: 74
Merit: 10


View Profile
July 07, 2015, 03:17:24 AM
 #1

Does bitcoin have this?  Obviously the math would differ in bitcoin possibly, i'm speaking only in the functionality.  I would think this would be a good addition to multisignature...the idea of one key having more 'importance/relevance' than another with differing numbers of keys required based on their 'level'.

Maybe you have a situation such as two master keys, and 5 subkeys.  Where both master keys must sign, or one master key and 3 subkeys, or all 5 subkeys..etc etc.  The permutations are enormous obviously.

From http://passguardian.com/

Within http://passguardian.com/assets/1979_HowToShareASecret_Shamir.pdf

(4) By using tuples of polynomial values as Di pieces, we
can get a hierarchical scheme in which the number of
pieces needed to determine D depends on their importance.
For example, if we give the company's
president three values of q(x), each vice-president
two values of q(x), and each executive one value of
q(x), then a (3, n) threshold scheme enables checks to
be signed either by any three executives, or by any
two executives one of whom is a vice-president, or by
the president alone.
virtualx
Hero Member
*****
Offline Offline

Activity: 672
Merit: 507


LOTEO


View Profile
July 07, 2015, 08:36:42 AM
 #2

Does bitcoin have this?

A list of new bitcoin features are here: https://en.bitcoin.it/wiki/Bitcoin_Improvement_Proposals 
There is a shared key system known as multisignature, but I am not aware of a master keys / subkeys system in the bitcoin system.
How would this benefit over multisignature?

...loteo...
DIGITAL ERA LOTTERY


r

▄▄███████████▄▄
▄███████████████████▄
▄███████████████████████▄
▄██████████████████████████▄
▄██  ███████▌ ▐██████████████▄
▐██▌ ▐█▀  ▀█    ▐█▀   ▀██▀  ▀██▌
▐██  █▌ █▌ ██  ██▌ ██▌ █▌ █▌ ██▌
▐█▌ ▐█ ▐█ ▐█▌ ▐██  ▄▄▄██ ▐█ ▐██▌
▐█  ██▄  ▄██    █▄    ██▄  ▄███▌
▀████████████████████████████▀
▀██████████████████████████▀
▀███████████████████████▀
▀███████████████████▀
▀▀███████████▀▀
r

RPLAY NOWR
BE A MOON VISITOR!
[/center]
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1084


View Profile
July 07, 2015, 09:07:55 AM
 #3

Does bitcoin have this?  Obviously the math would differ in bitcoin possibly, i'm speaking only in the functionality.  I would think this would be a good addition to multisignature...the idea of one key having more 'importance/relevance' than another with differing numbers of keys required based on their 'level'.

There isn't a single opcode to do it.

If you wanted one master key and 2 of 3 of the other keys, you could use the following scriptPubKey

Code:
<master-public-key> OP_CHECKSIGVERIFY OP_2 <sub-pub-key1> <sub-pub-key2> <sub-pub-key3> OP_3 OP_CHECK OP_CHECKMULTISIG

To spend it, you use the following scriptSig

Code:
OP_0 <sub-sig1> <sub-sig3> <master-sig>

The OP_CHECKSIGVERIFY checks the master sig and then the OP_CHECKMULTISIG checks the 2 out of 3 for the sub-signatures.

You can use OP_IF / OP_ELSE to have multiple options. 

Code:
OP_IF <pub-keyA> OP_CHECKSIG OP_ELSE OP_2 <pub-keyB1> <pub-keyB2> OP_2 OP_CHECKMULTISIG OP_ENDIF

This means either you sign using the private key associated with pub-keyA or you can sign with the private key associated with (2 of 2) pub-keyB1 and pub-keyB2.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!