21
votes
Accepted
How can someone verify that the source downloaded from github is genuine?
Signed git commits allow a user to verify the source was signed by one of the contributors. In order for this to work, however, several steps have to be taken:
The user must have git and GPG ...
9
votes
Accepted
What type of security audits has Monero received?
As well as the informal review of CryptoNote provided to the Monero team by SURAE NOETHER here, the source code is available on monero-project's github here.
These slides also review the protocol.
A ...
8
votes
Accepted
How much of the Monero code has been changed since the Bytecoin fork?
This is of course a coarse method, but we can do the following:
Get git to work out who authored a given line for all the lines in src:
$ find src/ -name \*.cpp -o -name \*.c -o -name \*.inl -o -...
7
votes
Accepted
A SHA-1 collision has been found. Does that mean the Monero repositories on Github can be compromised?
It'd need to wait for git to implement stronger collision resistance. Work is underway for this: http://www.metzdowd.com/pipermail/cryptography/2017-February/031606.html
However, Linus (original ...
7
votes
What type of security audits has Monero received?
As far as I'm aware, there were no "formal" reviews, as in an outside third party is hired for the purpose, and publishes a review document.
The Cryptonote whitepaper was reviewed by a cryptographer, ...
6
votes
Accepted
Why is sc_reduce32 needed?
The paper is incorrect; it's actually mod l, not q. l is the curve order of ed25519. The primary reason AFAIK is that the code doesn't work correctly with scalars above a certain multiple of l. The ...
6
votes
Accepted
How many lines of source code does Monero have?
I do not know the exact number of lines of Monero source code, but there are a few methods to calculate it, which are described here.
Monero is not based on the Bitcoin code base and is rather ...
5
votes
Accepted
How do I build Monero for Windows from source?
It is much harder to compile software for Windows than it is for GNU/Linux or MacOSX. Instructions do exist in one of Ilya Kitaev's GitHub forks, but they haven't been merged yet at time of writing. ...
4
votes
Accepted
Source code history "immutability"
If history is rewritten, you will not be able to pull over an existing tree (it's a bit more complicated, but in the general case where you're only ever on master, it holds). This is the "fast forward"...
4
votes
Accepted
How can I test fluffyblocks?
Good that you ask. Actually, a
coordinated test is ongoing and you could join in: https://www.reddit.com/r/Monero/comments/6eef96/fluffynet_update_please_move_some_to_tier_3_4_and/
And yes, you can ...
4
votes
Accepted
What are field elements and group elements used for?
The ref10 folder contains code for operations on curve25519. This code comes from NaCL, and is not specific to monero. Reading material on ECC will be more helpful in understanding this code than the ...
4
votes
Accepted
ed25519 point structs
They are all group elements (hence the ge_ prefix) and are different representations.
From some ed25519 source:
ge means group element.
Here the group is the set of pairs (x,y) of field elements (...
4
votes
Accepted
Problem with compile part of monero sources to create python bindings
This is not specific to Monero, rather a C/C++ linking question, nevertheless...
The order you add the libraries matters. In your example:
...
/usr/bin/c++ _build/pymonero.cpp.o -o pymonero \
-L$...
3
votes
Accepted
If I compile from source, how can I change default wallet and daemon 10-block lock time?
All that's required is to change one line of code in the cryptonote_config.h:
#define CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE 10
and build with the new value.
3
votes
Accepted
What is the meaning of wallet2::transfer_details::m_global_output_index?
In the CryptoNote protocol, outputs are organized into groups according to their amounts, and m_global_output_index represents the index of a given output in its corresponding group. This reduces the ...
3
votes
How many lines of source code does Monero have?
Using David A. Wheeler's SLOCcount (http://www.dwheeler.com/sloccount), the canonical tool for counting such things, Monero appears to be about 65k lines of C++ code and 5k lines of C code (src and ...
3
votes
Accepted
What is src/blocks/checkpoints.dat and why is it not plaintext in the source code?
It is the set of block hashes from the genesis block to a fairly recent block, and is used to speed sync up for historical blocks. It is typically updated shortly before a new release.
Those hashes ...
3
votes
How do I fix build error about fPIC?
I did this to recompile libgtest-dev with -fPIC and it worked for me.
sudo apt-get install libgtest-dev
cd /usr/src/gtest/
sudo cmake -DCMAKE_CXX_FLAGS="-fPIC"
sudo make
sudo mv libg* /usr/lib/
3
votes
Accepted
How is building the GUI from source different from building monerod/CLI?
The monero GUI source code and installation guide (including Ubuntu 16) can be found here https://github.com/monero-project/monero-core
To answer your questions by referring the guide.
It installs ...
3
votes
Alternative Monero implementations
An old experiment of alternative implementation of Monero can be https://github.com/monero-project/mininero
It's not an alternative for Monero but an alternative for RingCT transactions.
3
votes
Accepted
Why does the SHA512 code include numbers ending in ULL?
Found the answer by googling in order to formulate a somewhat intelligent question: ULL means Unsigned Long Long integer.
3
votes
Accepted
Updating my monero master
Sure, assuming you have not made any branches, and that doesn't sound likely, follow these steps:
if you have made any changes to the repo: git stash
git pull --rebase
if you have made any changes to ...
3
votes
Helper functions for ECC operations in Monero
https://github.com/monero-project/monero/blob/master/src/crypto/crypto-ops-data.c
There are 2 places these ops are found, firstly https://github.com/monero-project/monero/blob/master/src/crypto/crypto-...
3
votes
Accepted
What takes the most computing time in a monero wallet?
The two main operations in terms of CPU usage are determining if an output is sent to you (is_out_to_acc_precomp, defined in src/cryptonote_basic/cryptonote_format_utils.cpp) and generating the key ...
3
votes
Accepted
How does the code for scalar reduction work?
The magic numbers are best explained here:
/**
* Lots of magic numbers :)
* To understand what's going on below, note that
*
* (1) q = 2^252 + q0 where q0 = 27742317777372353535851937790883648493....
3
votes
Accepted
Problem building release-v0.16
You either need to upgrade boost or use this PR: https://github.com/monero-project/monero/pull/6612
An earlier PR got merged that broke boost compatibility.
2
votes
Accepted
What is the purpose of the Monero GitHub Meta repository?
What type of issues is this GitHub meant to address?
From the dev meeting:
fluffypony:: pigeons: do you want to tell people about the new repo we're using for issues?
pigeons: github.com/monero-...
2
votes
Computing the hash of a string using Monero's codebase
For SHA-3, you have cn_fast_hash, with this prototype:
void cn_fast_hash(const void *data, std::size_t length, crypto::hash &hash);
crypto::hash is a 256 bit value.
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
source × 49build × 7
github × 7
source-code-documentation × 7
monero-wallet-cli × 5
compile × 5
monerod × 4
cryptography × 4
rpc × 3
mnemonic-seed × 3
cryptonote × 3
transaction-key × 3
git × 3
monero-wallet-gui × 2
daemon × 2
security × 2
transaction-data × 2
linux × 2
algorithm × 2
implementation × 2
c++ × 2
gpg × 2
mining × 1
monero-forks × 1
cryptonight × 1