45 votes

How do you get a Bitcoin Public Key from a Private Key

I'll try answering this again in a different way, using small numbers to keep it readable. convert the private key to binary representation, so decimal number 105, which is 0x69 in hex, becomes ...
user avatar
36 votes
Accepted

What are the implications of Schnorr signatures?

Warning: I've never actually worked with the Schnorr signature scheme. The following is my analysis based on reading the Wikipedia article, the ed25519 page, and some discussions between devs in #...
user avatar
21 votes
Accepted

What are the advantages of Schnorr vs ECDSA?

Your question seems to assume that the only goal is minimizing on-chain transaction size. Reducing size and related costs is certainly something that can be improved upon, but it's far from the only ...
user avatar
19 votes
Accepted

Are Schnorr signatures quantum-computer resistant?

No, ECDSA and EC-Schnorr, as well as related schemes like EdDSA, all belong to the class of elliptic curve cryptography. Their security is based on the assumption that the EC discrete logarithm is ...
user avatar
17 votes
Accepted

When Schnorr signatures are part of Bitcoin will it be possible validate each block with only one signature validation?

Yes, one validation per block, but not one signature per block. To clear up confusion, there are 3 distinct technologies involved here: (1) non-interactive aggregation is the ability for a third ...
user avatar
15 votes
Accepted

Schnorr's batch validation

You're right that the elliptic curve multiplication is indeed the most expensive operation in the validation algorithm. And as both single signature validation and batch validation require two EC ...
user avatar
15 votes
Accepted

Will a Schnorr soft-fork introduce a new address format (i.e. not bech32)

They will be distinguishable, but they will still be bech32 addresses. The introduction of Schnorr signatures requires a new type of output. Segwit was designed with such extensibility in mind, and ...
user avatar
13 votes
Accepted

Will Schnorr Multi-signatures completely replace ECDSA?

Schnorr signatures will not replace ECDSA. Schnorr signature verification is expected to be implemented with the Taproot soft-fork using SegWit witness version 1. This means only outputs that are ...
user avatar
  • 6,898
13 votes
Accepted

Musig Signature Interactivity

MuSig is interactive because each signer needs to provide a signature nonce (effectively randomness) before signing. This is not specific to MuSig, but applies to any discrete logarithm-based ...
user avatar
  • 726
11 votes
Accepted

Why was the Schnorr code removed from Bitcoin Core?

The Schnorr implementation was never in Bitcoin Core. Rather it is in the libsecp256k1 library that is a subtree in Bitcoin Core. The commit you reference is actually a commit in that library which ...
user avatar
  • 60.4k
11 votes
Accepted

Why was ECDSA chosen over Schnorr Signatures in the inital design?

Why was ECDSA chosen over Schnorr Signatures in the inital design? You'll need to ask Satoshi to know for sure, but my guess is simply because ECDSA was well standardized at the time, while no ...
user avatar
11 votes
Accepted

Why is no security lost by using 32-byte public keys in Schnorr signatures instead of 33?

From the (very recently updated) bip-schnorr draft: Implicit Y coordinates are not a reduction in security when expressed as the number of elliptic curve operations an attacker is expected to ...
user avatar
10 votes
Accepted

Replacing ECDSA (SECP256k1) with Schnorr signatures

Schnorr will replace ECDSA, the signing algorithm, but both still use the same elliptic curve and thus the same public and private keys, etc. Regardless, compatibility with ECDSA must be kept too ...
user avatar
  • 11.3k
10 votes
Accepted

k selection for Schnorr signatures

I'm not sure what simplified variant you're referring to, but this is a great question. There are a number of reasons. First, RFC6979 is not cheap and fairly complex. Computing a single candidate ...
user avatar
9 votes

What are the implications of Schnorr signatures?

Yes you can do public key recovery with EC Schnorr. Consider R = kG, [r = R.x, s = k + H(r, m)d], Q = dG verify: sG = ?R + H(r, m)Q recovery: sG = kG + H(r, m) dG = R + H(r, m)Q so Q = 1 / H(r, ...
user avatar
9 votes
Accepted

How are scriptless scripts and taproot different?

One of the most common use of script in Bitcoin is to construct logically atomic operations, such as "Tx2 happens if and only if Tx1 happens". Scriptless scripts tells us how to use the additive ...
user avatar
  • 7,429
9 votes
Accepted

2-of-3 multisig with Schnorr signatures

From what I understand, Schnorr signatures will allow n-of-n multisignature transactions, however m-of-n isn't possible using the key path alone. That's not quite accurate. Schnorr signatures, as ...
user avatar
7 votes
Accepted

What are the limitations for amortizing the interactive session setup of MuSig?

Nonces must not be reused! In particular, in MuSig, nonces can not be reused for other combinations of public keys or messages (also if everyone uses the same public nonces all the time). This would ...
user avatar
  • 726
7 votes
Accepted

Would a Schnorr PubKey be a different length than a Taproot PubKey like P2WPKH and P2WSH?

A P2WPKH PubKey is shorter than a P2WSH PubKey. No, not quite. A P2WPKH address is shorter than a P2WSH address. The addresses are both based on a hash of the underlying witness program (i.e. the ...
user avatar
  • 62.3k
7 votes
Accepted

Possible number of signers with MuSig

The number of signers with MuSig (and MuSig2) is practically infinite. For example, creating a MuSig signature with 1 million signers takes about 130 seconds on my laptop (see https://github.com/...
user avatar
  • 726
7 votes
Accepted

Are the witnesses segregated with Schnorr signatures?

Schnorr (bip-340) signatures have been introduced as part of v1 Segwit outputs with the CHECKSIGADD opcode. Therefore bip-340 signatures are part of the witness and are not part of the hash forming ...
user avatar
7 votes
Accepted

Can Schnorr aggregate signatures be nested inside other Schnorr aggregate signatures?

TL;DR: depending on what you mean, there is probably no published scheme with a security proof, but there is hope for such a scheme. First, a few clarifications Aggregation is just a concept, not an ...
user avatar
6 votes
Accepted

Would signature aggregation reduce the largest feasible blocksize

SegWit blocks aren't limited in bytes anymore but rather in weight. The maximum weight for a block is 4M. The weight of non-witness data is 4x its number of bytes. So, yes, decreasing the amount of ...
user avatar
  • 6,169
6 votes

Does a blockchain become opaque if it enable's schnorr-signatures, and require trust in the code?

When you sign a transaction with schnorr-signatures, it does not include the pubkey in the transaction data. What? Schnorr signature validation still need public keys. 1)Does this mean the input ...
user avatar
6 votes

How are scriptless scripts and taproot different?

Scriptless scripts are more like the constructs used in HTLCs and Taproot is more like P2SH. The common example used for scriptless scripts is adaptor signatures. With adaptor signatures, what one ...
user avatar
  • 60.4k
6 votes

How do you get a Bitcoin Public Key from a Private Key

Here's a self-contained Python script that does the conversion. You can check its work by comparing to entering your private key as the "Secret Exponent" at Brainwallet. I took the script from this ...
user avatar
  • 4,327
6 votes
Accepted

What are some interesting applications of Taproot "smart contracts"?

I think it's important to note first that BIP341-BIP342 are improvements to the Bitcoin script "framework" more than they are improvements to the smart contracting "functionality". ...
user avatar
6 votes
Accepted

What are "leaf versions" in Taproot?

SegWit introduced versioned witness programs. When satisfying a script to spend coins you need to provide a redeem script consisting of a version byte and a witness program. The version introduced ...
user avatar
6 votes

What are "leaf versions" in Taproot?

To add to Michael Folkson's answer, a question one may have is what the differences are between witness versions and leaf versions. Why do we need both? Leaf versions are not revealed until an output ...
user avatar
5 votes

How is the construction of atomic swaps improved by Schnorr?

To perform an atomic swap, both assets need to be locked up to ensure the eponymous atomic execution of both payments or neither. Traditionally, this uses a complex output script that has two outcomes....
user avatar
  • 62.3k

Only top scored, non community-wiki answers of a minimum length are eligible