Skip to main content
OverflowAI is here! AI power for your Stack Overflow for Teams knowledge community. Learn more
20 votes
Accepted

How does one prove ownership of a Monero address?

Best is to sign a message consisting of your address, with your address. The sign and verify commands have been merged just yesterday: https://github.com/monero-project/bitmonero/pull/818 First, make ...
user36303's user avatar
  • 34.8k
13 votes
Accepted

Number of private keys that have been used on the Monero network

No, or it'd be a break of the crypto. Poloniex can probably get a lower bound (probably much lower than the real number), since it's the main Monero exchange and has been for a long time. But from the ...
user36303's user avatar
  • 34.8k
11 votes
Accepted

Monero private key collision

Well, private spend keys are 64 character hex strings, see here: https://moneroaddress.org That will give you around 1e77 possible private keys. If n is the number of possible private keys, and you ...
jwinterm's user avatar
  • 4,403
9 votes

How can we be sure that monero wallet addresses are unique?

The question should be answered here: Monero private key collision TL;DR: There are 2^256 possible private spend keys, which would take 3.67×10^66 years to generate all of them at a rate of 1000 per ...
Matt2048's user avatar
  • 301
6 votes

How do I get the TX Key from the GUI Wallet?

First note that you can only obtain the private tx key for outgoing transactions, because it's randomly generated by the sender. In the GUI, first go to History tab. Subsequently, you can obtain the ...
dEBRUYNE's user avatar
  • 15.2k
5 votes
Accepted

How can we be sure that monero wallet addresses are unique?

Two people might independently generate the same address. As Matt2048 says, this is cryptographically negligible, assuming perfectly equiprobable distribution. If someone else was to generate an ...
user36303's user avatar
  • 34.8k
5 votes
Accepted

Proof of payment method comparison

Previously, a method to prove a payment would have been just to reveal the TX secret key r. This worked, because someone knowing the r and the destination address can only unmask destination one-time ...
JollyMort's user avatar
  • 19.9k
5 votes
Accepted

Where does Curve25519's limit occur?

It will get wrapped around because it's later passed through sc_reduce32 function which performs mod l operation on the input. See below example using silent Matt's big int library which is loaded ...
JollyMort's user avatar
  • 19.9k
5 votes
Accepted

sc_reduce32 ... is it really supposed to be that complicated?

There was almost two questions packed into one here (the title and final paragraph), so I'll answer the other. The function sc_reduce32 was written to prevent against data leakage via timing analysis. ...
Lee Clagett's user avatar
5 votes

sc_reduce32 ... is it really supposed to be that complicated?

I experimented with this using javacsript biginteger library and it is what it says - just a mod l operation. Endianness and encoding could make some confusion, though. From your code it looks like ...
JollyMort's user avatar
  • 19.9k
5 votes
Accepted

Non-Deterministic Wallets

Originally Monero used non-deterministic wallets. Deterministic (and mnemonics) are a convenience feature. Take a look at the --non-deterministic command-line flag, which will generate a non-...
Luigi's user avatar
  • 2,462
5 votes
Accepted

If you create a Bitcoin wallet with Trezor first, could you use the private key to create a Monero wallet using NoodleDoodle's firmware?

Installing a new firmware on a Trezor, it won't be possible to import private keys. Because of the way Hierarchical Deterministic wallets work, a new seed and wallet will be created (with its own set ...
leo's user avatar
  • 196
5 votes

Monero private key collision

To answer the question for Zcash, spending keys are 252 bits (all of which are valid). There's no practical difference between 252 and 256 bits in terms of the probability of collision for a properly ...
Daira-Emma Hopwood's user avatar
4 votes

Monero private key collision

The likelihood of a collision is theoretically 1 in 2^256 which is a number with 78 digits. It's the likelihood of winning the lottery 7 times in a row, or something along those lines. Unless, of ...
JollyMort's user avatar
  • 19.9k
4 votes

Harmonizing Monero with HD Wallet BIP32 Technology?

I'd recommend sticking with xprv and xpub in accordance with the BIP43 recommendation which states: Because this scheme can be used to generate nodes for more cryptocurrencies at once, or even ...
JP Richardson's user avatar
4 votes

Ways to hold your keys in memory?

Great suggestion by PyRulez. Making up a song with the words is another way to memorise them. Of course, this doesn't mean you should only have the song, you need to have a physical backup too just in ...
fluffyponyza's user avatar
  • 5,089
4 votes

Is there the equivalent of a BIP38 encrypted private key for Monero private keys?

Well you could get your Monero 256 hexadecimal private key from here: https://xmr.llcoins.net/addresstests.html Field#3 (Do not confuse with Field #2) And then use https://www.bitaddress.org to ...
sulkair's user avatar
  • 41
4 votes

Is there the equivalent of a BIP38 encrypted private key for Monero private keys?

Monero can be made to be compliant with the spirit of BIPs 32, 38, 39 and 44. The main issue is BIP 32, 39 and 44 public keys and addresses can't be synthesized using traditional Bitcoin methodologies....
skaht's user avatar
  • 1,576
4 votes
Accepted

I have a private key for a monero address. Which application lets me load in a custom private key to spend from?

Both the official CLI and GUI will allow you to restore a wallet from keys. In order to import a wallet from keys you need (i) the private spend key, (ii) the private view key, and (iii) the public ...
dEBRUYNE's user avatar
  • 15.2k
4 votes
Accepted

Does the Key Image leak privacy information?

The key image of the real output being spent in a transaction is consistent, regardless of the choice of other outputs referenced as decoys. Therefore if you attempt to spend an output twice, and ...
knaccc's user avatar
  • 8,468
4 votes
Accepted

How does one burn and provide a proof-of-burn in Monero?

There is a tradition in Monero that when you want to come up with a public key for which there is no known private key, you calculate that public key as H = hash_to_point(G), which in hex is ...
knaccc's user avatar
  • 8,468
3 votes

Can someone show an actual example of a Monero transaction that uses two distinct private keys?

In Monero, every output has a one-time (unique) public key. No output on the blockchain can be associated with any particular wallet address because these output public keys are not the same as your ...
knaccc's user avatar
  • 8,468
3 votes
Accepted

Is a mnemonic seed wallet just as secure (random)

Is the number of possibilties of the 24 words the same as the 256 bits? So: are there 2^255 possible 24 word combinations or is it only a subset of the possibilities? Actually, it's just a little bit ...
JollyMort's user avatar
  • 19.9k
3 votes
Accepted

Technical questions about addresses and keys

That's almost right. Due to specifics of underlying elliptic cryptography, the biggest private key is l-1, where l is defined in the CN whitepaper as: l = 2^252 + ...
JollyMort's user avatar
  • 19.9k
3 votes
Accepted

How does inner key generation work?

There's an additional step performed, called "normalization". It's just a modulo operation with l. See sc_reduce32 ... is it really supposed to be that complicated? Oh and note that mnemonic is ...
3 votes

Is there the equivalent of a BIP38 encrypted private key for Monero private keys?

One method is to use this tool (made by Luigi from Monero core team). enter your mnemonic into field 1. enter a password into field 8. select 'CN Add' as the method, and click encrypt As described ...
JollyMort's user avatar
  • 19.9k
3 votes

Ways to hold your keys in memory?

One good way to memorize something is by telling a story. Unfortunately, turning a bunch of completely random words into one is quite hard. Luckily, if you limit the words just slightly, we get Mad ...
Christopher King's user avatar
3 votes

Private key generation?

A private spend key is a positive integer lesser than l = 7237005577332262213973186563042994240857116359379907606001950938285454250989 (which is a 253-bit integer). The usual process to make a private ...
glv's user avatar
  • 3,334
3 votes

Definitively answering a question about sc_reduce32 with a simple to explain working example created a related unanswered question

All sc_reduce32 does is perform mod l where l = 7237005577332262213973186563042994240857116359379907606001950938285454250989. Byte sequences are little endian. Your input ...
knaccc's user avatar
  • 8,468
3 votes
Accepted

sc_reduce32 returning wrong private view key

const decSeed = BigInt('0x'+hexSeed); //convert the hex seed to a dec BigInt: 11543724318435336731650421271699387718989312826353117660615550988399570687489 You didn't interpret the hex here as little ...
knaccc's user avatar
  • 8,468

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