18 votes

Simple explanation of Monero mechanics - how does Monero work?

First of all, there are no addresses on the blockchain. Imagine the blockchain as a bunch of lockers which all look the same. The blockchain holds only the records from which to which locker funds get ...
JollyMort's user avatar
  • 19.9k
11 votes
Accepted

Is there a network protocol specification or description outside the source code?

No, but it's on the list of things we have to do. At this juncture it would be wasted on Monero, but once / if we switch the wire protocol to something standardised like ZMTP then it will be nearly ...
fluffyponyza's user avatar
  • 5,089
11 votes

What is Monero's mechanism for defending against a double-spend attack?

Double spends are prevented by the use of key images, which are sent along with each output being spent in a transaction, and which are checked for uniqueness before allowing the transaction. In the ...
user36303's user avatar
  • 34.9k
10 votes
Accepted

What is Monero's mechanism for defending against a double-spend attack?

Each transaction generates a key image. In the CryptoNote protocol, key images used more than once are rejected by the blockchain as double-spends. When a new transaction is received, the miner need ...
revler1082's user avatar
  • 2,501
10 votes
Accepted

Why does Monero have 12 decimal places compared to Bitcoin's 8?

The answer is both fascinating and altogether boring, in that it makes you look back to the very beginning of Monero (then "Bitmonero") and the period right after the clear-net debut of the supposedly ...
bigreddmachine's user avatar
7 votes
Accepted

Could monero benefit from research done for bitcoin?

Research builds upon prior research, so yes, definitely. For example, RingCT builds on both Nicolas van Saberhagen's Cryptonote and Gregory Maxwell's Confidential Transactions for bitcoin, and merges ...
user36303's user avatar
  • 34.9k
7 votes

Can a new platform / cryptocurrency be built on top of Monero?

The Monero blockchain can be used to send any information, as long as it's part of a transaction. There is a field (tx_extra) where you can effectively put whatever you want in there. It's really a ...
scoobybejesus's user avatar
6 votes
Accepted

Why do I see only one transaction key R=rG per transaction while there are multiple output keys P=H(rA)G+B to represent multiple denominations?

This question was cross-posted to Reddit and was answered by dEBRUYNE_1 citing luigi1111's article: You may have noticed that this scheme only gives Alice one output for Bob per r, but with auto-...
kenshi84's user avatar
  • 2,475
5 votes
Accepted

Is the 10-block lock time a protocol rule? What rules accompany it?

A. Is this a wallet rule or a protocol/daemon rule? It's a wallet / daemon rule. The number of blocks is defined as a pre-compiler constant CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE. B. Does the rule only ...
JollyMort's user avatar
  • 19.9k
5 votes

Confused about the RingCT protocol

(1) I understand that currently, the range proofs are done with Borromean signatures, isn't it? Not ASLN? ASNL had a flaw, so it was changed to Borromean: What was the problem with ASNL forgery? (...
JollyMort's user avatar
  • 19.9k
5 votes
Accepted

How "one-time ring signatures" anonymise the sender of a transaction?

A ring signature is done over N public keys, and one private key matching one of the N public keys. The public keys are selected from all the outputs on the blockchain that have the same amount as the ...
user36303's user avatar
  • 34.9k
5 votes

How "one-time ring signatures" anonymise the sender of a transaction?

Ring signatures are a group of cryptographic signatures with at least one real participant, but no way to tell which in the group is the real one as they all appear valid When sending a transaction, ...
David's user avatar
  • 420
5 votes
Accepted

Pros and cons of Monero's potential Seraphis Protocol Upgrade

The following assumes the Seraphis upgrade is accompanied by the Jamtis addressing scheme. Pros: Massive improvement in ring size (privacy improvement). Increased modularity of transaction protocol (...
BusyBoredom's user avatar
4 votes

How "one-time ring signatures" anonymise the sender of a transaction?

I will copy my comment from my blog as follows. As a prerequisite for understanding, my blog was lacking a layman’s introduction on Cryptonote’s ring signatures: I will expound a little bit on the ...
Shelby Moore III's user avatar
4 votes
Accepted

Does Monero have zero-conf?

You're probably referring to the concept where a vendor will accept payment, even when the payment has not been included in a block. Sure, that works the same way in Monero that it does in Bitcoin. ...
scoobybejesus's user avatar
4 votes
Accepted

If I only have the one-time public and private key of a transaction, can I spend it?

That's right. Normally, your wallet uses your private view and spend keys to recover the one-time key and uses it to sign a transaction spending that one-time key. If you already have the one-time ...
JollyMort's user avatar
  • 19.9k
4 votes

Confused about the RingCT protocol

Indeed the protocol uses Borromean signatures for range proofs. A RingCT signature contains all the info allowing everyone to check the validity of the amounts, and allowing the recipient to recover ...
glv's user avatar
  • 3,334
4 votes
Accepted

Why does Monero use keccak over something like sha-256?

While Monero does not use Keccak for its hashing, one advantage of using CryptoNote is to prevent Monero from immediately being able to be mined by ASICs. There is tremendous investment in SHA-256 ...
Daniel Ternyak's user avatar
3 votes

Does Monero have zero-conf?

Monero transactions are pretty similar to Bitcoin ones regarding this: you see them on the network, they linger in the txpool till mined, the block they're in can be reorganized, and the more blocks ...
user36303's user avatar
  • 34.9k
3 votes
Accepted

How does the wallet scan for outputs belonging to it?

As far as I can tell from the code, the option 1 seems to be the case. Most of the core functions of the wallet are implemented in src/wallet/wallet2.cpp. In pull_blocks which is called from within ...
kenshi84's user avatar
  • 2,475
3 votes

Why does Monero use keccak over something like sha-256?

Keccak has "built-in" protection against length extension attacks. Edit: spelling
Lee Clagett's user avatar
3 votes

Could monero benefit from research done for bitcoin?

It has already if I recall, stealth transactions were the result of research done for Bitcoin by Genjix. This has been the default address type used in Monero.
ferretinjapan's user avatar
3 votes

What happens to coins that are sent to a public viewkey?

A view key is not a valid address, and thus your transaction should be void.
bigreddmachine's user avatar
3 votes

What are the risks/benefits of mining on a pool using SSL/TLS encryption vs mining on pools with non-encrypted connections?

It's less about the security of the data moving across the connection than about the authentication of the remote server. When you have the TLS fingerprint for the pool server set up in your miner ...
Michael Pelletier's user avatar
2 votes

How can I automatically sell Monero? What about the balance locking?

How can I automatically sell Monero? This is a little vague. What are you selling Monero for? Assuming you are selling Monero for some other cryptocurrency, you can still sell with zero-conf if you ...
jtgrassie's user avatar
  • 19.1k
2 votes

CipherTrace patents

The patent application is not yet published. This is normal as it can take 1 to 2 year before publication, and more before the patent will be granted. For example, CipherTrace has filed the patent ...
Ilyass's user avatar
  • 21
1 vote
Accepted

RingCT missing output indices

From v4 at height 1,220,516, where rct becomes allowed, coinbase outputs are stored as pseudo rct outputs. There is one such output in block 1,220,516 and one in 1,220,517.
user36303's user avatar
  • 34.9k
1 vote
Accepted

How does key images work when you create a transaction using two or more of your previously unspent transaction outputs?

Monero's ring signatures typically use a ring size of 7, which means 1 real output and 6 decoy outputs. However, there are several rings if you spend several outputs. Therefore if you spend 5 outputs,...
knaccc's user avatar
  • 8,468

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