Blockstream / Blockstream/garecovery

2 of 2 sovereign recovery - provide more details how it works

Open
#49 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Python
Stars
135
Forks
67
PR merge metrics
No merged PRs in 30d

Description

I am trying to understand the details behind the 2-2 account sovereign recovery.

According to the docs, either of the 2 HD seeds: a) Green or b) my seed can access the funds after a year (or whatever).

So if I understood correctly, in case Blockstream disappeared, I could recover my funds after a year having only my seed.

From what I can guess, Blockstream Green may be using P2SH addresses (or P2WSH).
So my guess is that a path of the locking script will let spend a UTXO after a while (CSV) with a single key.

But, *in order to spend a P2SH, the full redeem script should also also required*. Shouldn't it?

The question is, how can garecovery recover funds using only one seed?

Shouldn't I also need to store the complete script structure, the second public key (controlled by Blockstream) and the lock time used?

The script structure and the lock time used could be hardcoded, so no big deal. But, what about the public key you use on your side? Where is it stored if something happens to Blockstream?

Is perhaps Blockstream always using the same seed for all accounts and it also hardcodes that public key into garecovery?

Could you please guys explain a bit how these details work?

Thanks

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by examining the repository's existing explanation of 2-of-2 sovereign recovery and how garecovery is expected to obtain the redeem script, public keys, and lock time. Done means documenting whether one seed is sufficient, what additional recovery data is required, and how users should preserve it.

Written by the indexing model from the issue text.

Assessment

Domain
cryptography, documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.