15

The best general tool for this is http://moneroblocks.info/. It is somewhat comparable to the Bitcoin site https://blockchain.info/, and you can conduct searches using a number of different identifiers. However, if you are focusing on a specific transaction, I think your best bet might actually be a very useful tool developed by one of our community ...


13

There are many other CryptoNote coins but their communities, usage, trading volumes and hashrate are much smaller than Monero. Here is a chronicalogical graphic of many of the coins and from where they were forked: https://en.wikipedia.org/wiki/CryptoNote#/media/File:Forks-tree-fixed.png You mentioned Boolberry, which like Aeon was an innovator in the area ...


11

The coin selection in Monero is very simple and naive, so I'm afraid you're not going to find much to take inspiration from. Currently, the selection is random, with an equiprobable distribution. There is a patch that will be merged along with RingCT (https://github.com/moneromooo-monero/bitmonero/commit/90fb5e411307a949779c65a1931f3462ee3a564d) which ...


9

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 possibly important note from those slides about the spec that isn't found anywhere else is given after slide 28, saying: apparently 2 bad random r in monero ...


8

Monero is run as an open source project, rather than a startup. As such, it is developed at the speed at which its contributors... contribute. Something getting done depends on someone with the right skills deciding to help, and finding the time to do so. As such, no timeline can be given. Funding does help, as some people will pour more time if funded, but ...


8

Many altcoins fork from Bitcoin so their codebase is often not much different from Bitcoin. That's why it's relatively easy to make all existing tools work with a coin forked from Bitcoin. Therefore exchanges don't need to spend much development time to implement most altcoins. Monero is based on CryptoNote, which is a new protocol and very different from ...


7

It would be moderately easy to get a working wallet site provided you know some basic programming (python, php, node.js) and a little about web server usage (linux!). You just need to run a full node on your server, create a wallet, then write some code which checks for payments, makes payments etc. See wallet-RPC for some guidance on this. As already ...


7

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, and an informal review is available (https://downloads.getmonero.org/whitepaper_review.pdf). Some of the code was kinda reviewed by way of being forked and ...


5

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, you select some random transaction outputs on the blockchain and mix those with your own coins Mixing enforced across the network, meaning active participation ...


5

Monero uses a completely different codebase than bitcoin, and the codebase is poorly documented (though its getting better) . For instance, Monero's software architecture is strikingly different - there is Monerod (aka bitmonerod), which is responsible for the p2p network functionality, and then there is monero-wallet-cli (aka simplewallet) which performs ...


5

Yes, there are further reasons. For instance, Monero RPC does not have equivalents of events for new block or transaction received. This means one has to poll (though this is not overly complicated, see eg https://github.com/tippero/python-monero/ for an example). There is also the fact that the node and wallet are separate binaries. Also, RPC is ...


4

The Monero blockchain is full of test cases: for every block, you can assemble the hashing blob for that block, hash it with your new implementation, and check the resulting hash is below the target for that block. This will be done automatically if you replace monerod's Cryptonight implementation with your own, and try to sync the chain from scratch. ...


4

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 output being spent (when RingCT is in, this same amount restriction will vanish). An observer can verify the signature, which means one of the public keys ...


4

This is incorrect. The original implementation of ring signatures is not thought to be faulty. The original implementation of ring signatures is not from Shadowcash, but from Bytecoin. Shadowcash implemented their own version of it, buggily. So Shen did not fix ring signatures, though he did find the fault in Shadowcash's reimplementation. I believe ...


3

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 linked introduction above. Cryptonote’s “one-time” ring signatures enable the signer of a transaction to group his public key with his choice of the public keys ...


3

Private spend and view keys for public Monero addresses are generated here: https://github.com/monero-project/monero/blob/102a51bcd48a3cd2cb794aab7dbe243393f155b3/src/cryptonote_basic/account.cpp#L81 Stealth addresses are generated here as part of generating a transaction: https://github.com/monero-project/monero/blob/...


2

The implementation of that white paper formula is actually P = Hs(8rA || i)G+B. The 8 is there to force the rA EC point to be in the group of the base point G, even when A is a malicious point which is not in the base point group (i.e. is not a multiple of G). The || symbol means byte concatenation, i.e. concatenate the bytes of the compressed ...


1

Hash to point first uses keccak, and then interprets the result as an EC point. The point is multiplied by 8 to ensure that the point is in the group of the base point G. You can see the implementation in the Monero codebase here: https://github.com/monero-project/monero/blob/8f6f674753bae7494e1ee4569004947d47a4e983/src/crypto/crypto.cpp#L481


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