From 8f2660bec75590164e390a29dcd9c05517a106da Mon Sep 17 00:00:00 2001 From: Gingeropolous Date: Thu, 23 Jul 2015 21:53:18 -0400 Subject: [PATCH 01/12] Update about.md getting started --- knowledge-base/about.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/knowledge-base/about.md b/knowledge-base/about.md index 4e072c7..22244e9 100644 --- a/knowledge-base/about.md +++ b/knowledge-base/about.md @@ -9,4 +9,14 @@ icon: "icon_about" attribution: "" --- -### Work in Progress \ No newline at end of file +### What is Monero? + +In order to effectively learn about Monero, it is important to assess your current understanding of cryptocurrencies. Therefore, this document has been broken down into 3 primary sections that you can use to learn about Monero based on your current knowledge. These sections build on each other, and by the time you reach the end of the document, you will hopefully be a master of the ideas behind both Monero and cryptocurrencies in general. These sections are: + +- I know nothing about cryptocurrencies. +- I know about bitcoin, but I don't really understand how it works +- I know how bitcoin works + +### I know nothing about cryptocurrencies + +Welcome to the future of money! From 60858a75aa3a2b7c591fe401edce309eb5b54f90 Mon Sep 17 00:00:00 2001 From: Gingeropolous Date: Thu, 23 Jul 2015 22:48:04 -0400 Subject: [PATCH 02/12] back to basics! oh yeah, bringing it down!!! --- knowledge-base/about.md | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/knowledge-base/about.md b/knowledge-base/about.md index 22244e9..5d456ba 100644 --- a/knowledge-base/about.md +++ b/knowledge-base/about.md @@ -11,12 +11,31 @@ attribution: "" +--- + + +Sometimes, your funds will become stuck - you will have some locked funds that never become unlocked. This is how you fix it. + +1. Load your wallet in simplewallet. + +1. Type + +> seed + +into the command prompt. Write down your 25 word seed, if you haven't already. This is the best way to make sure you don't loose access to your funds. + +2. Close simplewallet by typing + +> exit + +2. Backup all of your wallet related files. These include: + +'''yourwalletname.bin''' +'''yourwalletname.bin.keys''' +'''yourwalletname.bin.address.txt''' + +This can be done by copying the files to a new folder. + +Sometimes, when creating your wallet, you might have named it something without the .bin part. In that case, the wallet file will be called "yourwalletname" + +3. Delete yourwallet.bin + +4. Load simplewallet, type in the name of the wallet you just deleted + +5. Enter password. The wallet will now refresh and hopefully your locked funds will now become unlocked. + From c0ff6aba1ed2b7ff61f61fe9100bb0b2173b6f1b Mon Sep 17 00:00:00 2001 From: Gingeropolous Date: Sun, 26 Jul 2015 11:24:42 -0400 Subject: [PATCH 05/12] Update and rename howto_fix_stuck_funds to howto_fix_stuck_funds.md --- .../{howto_fix_stuck_funds => howto_fix_stuck_funds.md} | 1 - 1 file changed, 1 deletion(-) rename knowledge-base/user-guides/{howto_fix_stuck_funds => howto_fix_stuck_funds.md} (99%) diff --git a/knowledge-base/user-guides/howto_fix_stuck_funds b/knowledge-base/user-guides/howto_fix_stuck_funds.md similarity index 99% rename from knowledge-base/user-guides/howto_fix_stuck_funds rename to knowledge-base/user-guides/howto_fix_stuck_funds.md index f7f5d98..a539650 100644 --- a/knowledge-base/user-guides/howto_fix_stuck_funds +++ b/knowledge-base/user-guides/howto_fix_stuck_funds.md @@ -9,7 +9,6 @@ icon: "icon_about" attribution: "" --- - Sometimes, your funds will become stuck - you will have some locked funds that never become unlocked. This is how you fix it. 1. Load your wallet in simplewallet. From a3996ca94f5d46c63f331128a9d115299b7b4467 Mon Sep 17 00:00:00 2001 From: Gingeropolous Date: Sun, 26 Jul 2015 11:25:24 -0400 Subject: [PATCH 06/12] Update howto_fix_stuck_funds.md --- knowledge-base/user-guides/howto_fix_stuck_funds.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/knowledge-base/user-guides/howto_fix_stuck_funds.md b/knowledge-base/user-guides/howto_fix_stuck_funds.md index a539650..229d729 100644 --- a/knowledge-base/user-guides/howto_fix_stuck_funds.md +++ b/knowledge-base/user-guides/howto_fix_stuck_funds.md @@ -25,9 +25,9 @@ into the command prompt. Write down your 25 word seed, if you haven't already. T 2. Backup all of your wallet related files. These include: -'''yourwalletname.bin''' -'''yourwalletname.bin.keys''' -'''yourwalletname.bin.address.txt''' +> yourwalletname.bin +yourwalletname.bin.keys +yourwalletname.bin.address.txt This can be done by copying the files to a new folder. From 5df9e503820c0837766c2979d6a7ae20c867018a Mon Sep 17 00:00:00 2001 From: Gingeropolous Date: Sun, 26 Jul 2015 11:26:37 -0400 Subject: [PATCH 07/12] Update howto_fix_stuck_funds.md --- knowledge-base/user-guides/howto_fix_stuck_funds.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/knowledge-base/user-guides/howto_fix_stuck_funds.md b/knowledge-base/user-guides/howto_fix_stuck_funds.md index 229d729..3cf1756 100644 --- a/knowledge-base/user-guides/howto_fix_stuck_funds.md +++ b/knowledge-base/user-guides/howto_fix_stuck_funds.md @@ -25,13 +25,13 @@ into the command prompt. Write down your 25 word seed, if you haven't already. T 2. Backup all of your wallet related files. These include: -> yourwalletname.bin -yourwalletname.bin.keys -yourwalletname.bin.address.txt +> yourwalletname.bin +> yourwalletname.bin.keys +> yourwalletname.bin.address.txt This can be done by copying the files to a new folder. -Sometimes, when creating your wallet, you might have named it something without the .bin part. In that case, the wallet file will be called "yourwalletname" +Sometimes, when creating your wallet, you might have named it something without the .bin part. In that case, the wallet file will be called yourwalletname without the .bin at the end. 3. Delete yourwallet.bin From 064bc0c798218a949da1aa73bd5e1945098c1bca Mon Sep 17 00:00:00 2001 From: Gingeropolous Date: Sun, 26 Jul 2015 11:28:11 -0400 Subject: [PATCH 08/12] Update howto_fix_stuck_funds.md --- knowledge-base/user-guides/howto_fix_stuck_funds.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/knowledge-base/user-guides/howto_fix_stuck_funds.md b/knowledge-base/user-guides/howto_fix_stuck_funds.md index 3cf1756..15b5163 100644 --- a/knowledge-base/user-guides/howto_fix_stuck_funds.md +++ b/knowledge-base/user-guides/howto_fix_stuck_funds.md @@ -13,17 +13,17 @@ Sometimes, your funds will become stuck - you will have some locked funds that n 1. Load your wallet in simplewallet. -1. Type +2. Type > seed into the command prompt. Write down your 25 word seed, if you haven't already. This is the best way to make sure you don't loose access to your funds. -2. Close simplewallet by typing +3. Close simplewallet by typing > exit -2. Backup all of your wallet related files. These include: +4. Backup all of your wallet related files. These include: > yourwalletname.bin > yourwalletname.bin.keys @@ -33,9 +33,9 @@ This can be done by copying the files to a new folder. Sometimes, when creating your wallet, you might have named it something without the .bin part. In that case, the wallet file will be called yourwalletname without the .bin at the end. -3. Delete yourwallet.bin +5. Delete yourwallet.bin -4. Load simplewallet, type in the name of the wallet you just deleted +6. Load simplewallet, type in the name of the wallet you just deleted -5. Enter password. The wallet will now refresh and hopefully your locked funds will now become unlocked. +7. Enter password. The wallet will now refresh and hopefully your locked funds will now become unlocked. From a80b5ccbbef0a963b534342b2691247824c7a23b Mon Sep 17 00:00:00 2001 From: Gingeropolous Date: Sun, 26 Jul 2015 11:29:07 -0400 Subject: [PATCH 09/12] Update howto_fix_stuck_funds.md --- .../user-guides/howto_fix_stuck_funds.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/knowledge-base/user-guides/howto_fix_stuck_funds.md b/knowledge-base/user-guides/howto_fix_stuck_funds.md index 15b5163..6fedd6f 100644 --- a/knowledge-base/user-guides/howto_fix_stuck_funds.md +++ b/knowledge-base/user-guides/howto_fix_stuck_funds.md @@ -11,19 +11,19 @@ attribution: "" +--- + +(insert that protocol image here) + +Bob wants to spend XMR he received in his account and send it to Carol. +How does is the transaction made? + +A: Bob gets access to his "real input" that was send to his "stealth address" +1. Bob needs the public key from the transaction that contains the output he received and wants to send - Bob needs to ECDH this key with his private view key +2. Bob also selects the exact number of the output from the transaction that contains the output he wants to send. The other output(s) in this transaction is/are change (Bob doesn't have the private key for those other outputs) Note: typically, due to auto-denomination, Bob will have more than one output per transaction that belongs to him. +3. Bob needs the "master" private key of his account - private spend key, to be precise +4. 1,2 and 3 are used to calculate the private key for the specific output he wants to send. (the public key for the transaction can be calculated from this private key - This is correct, but the public key is also stored on the blockchain.) + +B: to protects Carol's identity, Bob will do the folowing to generate a "one time" public key for this transaction, making it impossible for others to link all transactions send to Carol to the same "stealth address" +5. Bob generates a random number scalar, this one isn't clear from the graphic at all +6. this random number is hashed into the transaction public key the transaction private key, and is scalar mult'd into the transaction public key +7. he selects the number associated with the outputs (due to auto-denom) that Carol will receive, the other output(s) is/are change that goes back to Bob. +8. he needs the "master" public key from Carol to be able to send it to her stealth address - Carol's public view key +9. 6,7 and 8 are used to calulate the public key for the specific outputs he wants to send + +C: to "mix" the inputs, Bob creates a ring signature +10. He selects the actual public key (+ that output's private key) from the output he wants to send, but he also adds other public keys into the mix. +11. to prevent double spending, Bob needs to send a valid "key image" together with the public keys of the outputs (or inputs if you prefer) +12. he signs the combination of inputs and the key image with his private key, prooving the key image is valid (Bob owns the private key associated with the key image) and that (somehow? I don't know how this works) one of the public keys is used to generate this key image, but as a spectator of the blockchain, we can't know which of the used outputs is "the real one that is being transferred". His private key and the other chosen public key(s) are used to create a ring signature; they'll be one signature for each input, collectively making a ring signature. The key image is an additional public key computed from the output private key (not public key) that's actually being spent. +13. This is the collection of outputs that is signed. He grabbed the "fake ones" from the blockchain. He doesn't need permission from the owners for that. This isn't quite right: those are the outputs that are doing the signing. A hash of the TX prefix is "what" is actually being signed. +14. This is the key image he signed. If Bob ever tries to send the same output again, the exact same key image will be generated and thus the double spend will be detected. +15. this "ring signature" is added to the transaction containing the publi keys that are used in the transaction and proving Bob's ownership of one of those inputs. From f234c2d659aca4ec28832313f3c4b599b2df194c Mon Sep 17 00:00:00 2001 From: Gingeropolous Date: Tue, 4 Aug 2015 06:55:02 -0400 Subject: [PATCH 11/12] about2 about2 worked on by me and myagwi --- knowledge-base/about2.md | 41 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 knowledge-base/about2.md diff --git a/knowledge-base/about2.md b/knowledge-base/about2.md new file mode 100644 index 0000000..a85c5e3 --- /dev/null +++ b/knowledge-base/about2.md @@ -0,0 +1,41 @@ +--- +layout: static_page +title: "About Monero" +title-pre-kick: "About " +title-kick: "Monero" +title-post-kick: "" +kick-class: "kicks" +icon: "icon_about" +attribution: "" +--- +## About Monero + +To most people, financial privacy is very important. Yet in recent years, we have seen a staggering amount of big corporations, banks and governments having their records compromised, at every time leaking information about their users, their practices, their balance sheets. The unfortunate but undeniable conclusion is that there is no safe place to conduct private transactions. +There was no safe place to conduct private transactions. Monero provides a place where your financial activities are private. +Monero is one of the leading cryptocurrencies in the post-Bitcoin world, and it is built on principles of privacy, decentralization, and scalability. +Read on to find out how Monero is helping to solve real problems and limitations of existing cryptocurrencies, and building a more private blockchain. + +## PRIVACY + +Monero seeks to provide absolute transactional privacy in an effort to create true electronic cash. +With Bitcoin, as well as with the vast majority of cryptocurrencies that have been established since, any and all transactions are entirely traceable. Any casual observer can read through the Bitcoin blockchain, and for any transaction, this observer can find out the exact amount that was transacted, as well as the precise transaction origin (sender address) and destination (recipient address). +With Monero, for any private transaction[1], the same observer has no means to uncover the origin, destination, or amount transacted. As such, transactions on the Monero blockchain, are private and fundamentally untraceable. +But Monero is more than a currency. Driving the official slogan: “secure, private, untraceable”, there are a multitude of applications where the parties involved wish to remain private. The Monero blockchain can keep confidential contracts, well… confidential. While the forthcoming, blockchain-powered internet of things will certainly place the cloud all around us, it is then increasingly important that open access tools exist to provide a secure boundary for private settlements. +An often overlooked, but nonetheless important layer of privacy in a connected world, is that of the networking infrastructure. We have teamed up with Privacy Solutions, and development is well underway to incorporate an i2p router in Monero. In a world where ill intentioned governments and ISPs can void an individual’s basic privacy rights on a whim, it then becomes necessary to establish a private communication platform. +The underlying technologies and cryptography upon which Monero is built, has been (and continues to be) the subject of extensive analysis and review by numerous individuals and research groups. It has garnered favorable attention by some of the most prominent figures of the Bitcoin & cryptography world, such as Andrew Poelstra (andytoshi), Gregory Maxwell & Nicolas Courtois. +[1] With Monero, transactions are private by default. However, each user has the ability to select different levels of privacy, optionally exposing the amount of a given (own) transaction, or even provide audit access (view only) to his full Monero account. + +## DECENTRALIZATION +While most cryptocurrencies align to theoretical principles of decentralization, the reality is, that most fall short of such a claim. More often than not, it is not just one branch of a cryptocurrency system that is centralized in one form or another, is that that many branches are so. +With Proof of Stake currencies, irregular emission and distribution models cause most of the staking power to end up in the hand of a privileged few. Participants of lesser weight are reduced to second class citizens, with little chance of ever obtaining similar returns. +With Proof of Work currencies, of which Bitcoin remains the most significant reference, the mining process is largely concentrated in a handful of pools. This centralization of mining power, combined with a transparent blockchain, has already lead to various occurrences of transaction censorship. +Other currencies opt for a closed development model, thus centralizing the invention process itself. These closed platforms commonly fail to meet any form of public audit or expert review. More importantly, these are platforms that will anytime swing left and right, in order to satisfy the interests of the restricted group that holds control of development. +Monero contrasts with these examples in various and meaningful ways. +Monero is powered strictly by Proof of Work, but specifically, it employs a mining algorithm that has the potential to be efficiently tasked to billions of existing devices (any modern x86 CPU). +This very characteristic, and more so once it is coupled with Smart Mining[2], has the potential to ensure that for long years to come, the process of mining new Monero coins is within reach of the common individual, and not an exclusive opportunity to the owners of large mining operations. +Further, as transactions are private by default on the Monero blockchain, transaction censorship is inherently void. +The Monero development landscape on the other hand, is very much the opposite of a closed or restricted access model. The core branch currently enjoys more than 30 contributors, pushing 1000+ commits over the past year {there has to be better stats to put in there}. The project is happy to take on new contributors and any future plans, long term direction and priorities are openly discussed with the community. Indeed, the policy that governs contribution to the Monero codebase is exhaustingly inclusive - all contributions are accepted into the development branch, where new code can be scrutinized and tested by the entire community. +Most contributors in the Monero development landscape are quite passionate for an open source philosophy, and in this rich creative environment, new projects have sparked to life. OpenAlias[3] is one notable example, which has seen adoption by (amongst others) a major Bitcoin related software product. + +[2] {Insert a neat description of Smart Mining here.} +[3] {Insert a neat description of Open Alias here.} \ No newline at end of file From cd5cf20f5e595284086b09a7812e3b0bca3fda2f Mon Sep 17 00:00:00 2001 From: Gingeropolous Date: Tue, 4 Aug 2015 07:10:10 -0400 Subject: [PATCH 12/12] some spelling mistakes that I thought I caught already. --- knowledge-base/protocol_explanation.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/knowledge-base/protocol_explanation.md b/knowledge-base/protocol_explanation.md index bf6197c..bbe7d1d 100644 --- a/knowledge-base/protocol_explanation.md +++ b/knowledge-base/protocol_explanation.md @@ -12,20 +12,20 @@ attribution: "