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 ...
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 ...
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 ...
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 ...
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-...
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 (...
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 ...
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?
(...
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. ...
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 ...
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 ...
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 ...
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 ...
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 ...
3
votes
Why does Monero use keccak over something like sha-256?
Keccak has "built-in" protection against length extension attacks.
Edit: spelling
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 ...
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.
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 ...
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 ...
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 ...
1
vote
Frequent "Exception: boost::wrapexcept<boost::bad_weak_ptr>" stack trace in logs
Nothing seems to be amiss. You can run with --log-level 0,stacktrace:FATAL if you want to get rid of those for space reasons. Ideally the error handling should be less noisy. It was supposed to have ...
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.
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,...
1
vote
Accepted
Does monero p2p protocol use magic bytes?
Monero uses the Levin protocol for p2p comms.
Similar question here.
The definitions for the commands are here.
1
vote
Accepted
How does a Monero pool confirm/reject a submitted nonce?
The hash_accepted field is the response from the proxy server for when a hash is acknowledged by the server the hashes field is the number of hashes the worker has submitted in the past.
When the ...
1
vote
Is there a stratum like protocol for Monero mining pools?
In many cryptonight mining related software it called as 'stratum protocol'. For example:
https://github.com/xmrig/xmrig-proxy
so I believe this is the same protocol as in bitcoin, may be with little ...
1
vote
Is there a stratum like protocol for Monero mining pools?
Stratum can be used for monero mining. Stratum is the protocol for communication between miner and mining pool server. getworktemplate is being replaced by stratum.
Here is a monero miner which uses ...
1
vote
Simple explanation of Monero mechanics - how does Monero work?
I found this Fluffypony video on YouTube from 2015 quite an good (and easy to digest) introduction for most of those concepts. It doesn't touch RingCT yet I believe.
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
protocol × 30cryptonote × 5
transaction-data × 4
mining × 2
mining-pools × 2
security × 2
ring-signatures × 2
hard-fork × 2
network × 2
proof-of-work × 2
transaction-unlock-time × 2
available-outputs × 2
monerod × 1
blockchain × 1
daemon × 1
privacy × 1
ringct × 1
monero-wallet-rpc × 1
cryptography × 1
viewkey × 1
mining-theory × 1
transaction-confirmation × 1
development × 1
source × 1
stealth-address × 1