Author

Topic: [XMR] Monero - A secure, private, untraceable cryptocurrency - page 590. (Read 4670673 times)

legendary
Activity: 2242
Merit: 3523
Flippin' burgers since 1163.
Thanks to Pieter Wuille, Adam Back and Monero lead developer Riccardo Spagni for information and added feedback.


Nice article, understandable as well for the less technical readers. And a few very important last words:
"It's not clear that everyone agrees Bitcoin should be more private or fungible."

I sincerely hope Confidential Transactions gets implemented in Bitcoin one day, but don't see it happening. Lets lead by example.
hero member
Activity: 493
Merit: 551
@DeBryne

I really like Monero and all the possibilities it brings with it and I own enough of it.

What I do not like to be honest is some growing FUD against Ethereum. I have read a german blog lastly, about a meeting in Germany, where Fluffypony has also been speaking, and the autor concluded how he liked the idea of XMR but disliked the negative attitude and speech towards competitors. I have stated this one time and do it again, although it might be disliked: The Monero community should concentrate more on own achievements and less on others. Only losers complain about the competitors, while they go far ahead.

To cite from your quote:  "It MUST be useful to end users in some way, and that use should be obvious. "Turing complete", smart contracts, etc. is NOT a use case."

With all respect but this is complete BS. It is not the "Turing complete" and "smart contracts" which an end user would use, but applications built on those functions of the Ethereum network. Ethereum is running away and may take BTC crown faster then some think or at least share it with BTC. Serious companies are supporters of ETH or ETH based projects. Big mass media and financial newsletters write about ETH, a whole ecosystem is growing, while an army of ETH developers thinks how to implement more privacy securing functions into the network.

On the other side we wait for the official GUI wallet and call Ethereum a P&D coin?
Cmon.
legendary
Activity: 3836
Merit: 4969
Doomed to see the future and unable to prevent it
So I'm at the poker table and 2 girls start talking in arabic (your not supposed to speak in any language but english at that casino when in a hand). So I decide to make a joke after a few minutes of this (I knew they weren't cheating so really couldn't care about the rule) and I said "All I hear is Lets take down that plane" and damn did they lose it! I couldn't believe someone (both girls play alot play and one is a pro) smart enough to make a living playing poker was unable to grasp the joke. Not to mention the fact that almost 100% of what comes out of my mouth is to evoke a chuckle. But once again I give people more credit than they deserve.
legendary
Activity: 2268
Merit: 1141
This reddit reply from u/ferretinjapan deserves a crosspost, hence:

Quote
To be fair, I can be "hostile" at times, but that is only when I'm clearly being provoked by trolls or others that are being disingenuous and throw the first stone. I personally go out of my way to assume good faith and remain civil, but once I can gauge a users intention is to be a prick I'll reverse troll them like a champ Smiley. Unfortunately Bitcoin and other cryptocurrencies attract a massive amount of trolls and know-it-alls so being "hostile" is sometimes the only way to restore civility (ironically) because if I let them walk all over me, they'll be emboldened to continue doing the same thing to others.

I don't consider myself a "maximalist", I'm simply naturally sceptical. Nearly all other blockchains really didn't do anything that Bitcoin couldn't, or the features they espoused weren't really useful for end users. Projects can also become corrupted by it's user base and diversity of development is critical if a project is to survive. So when I see a group ruling a blockchain project with an iron fist, I become sceptical of it's success as it's clear that users' best interests are not a priority. So I could hardly be called a maximalist when I turn on Bitcoin after 5+ years as a result of the censorship and hamstringing of development. I want the blockchain that serves users' needs best to be the one to succeed.

Aside from Bitcoin's technology, I was also attracted to Bitcoin in the early days because it's goal was to keep the issuance and handling of money honest, so to speak. It can't be corrupted or misused by a select group or entity and that is very important to me. I'm a staunch supporter of honesty and integrity, whether that be keeping governments honest, banks, organisations honest, etc. . Unfortunately, Bitcoin has become mired in politics, and we can all see that since miners have ignored users, and now answer to Blockstream Core, they are corrupting the very foundation of Bitcoin by yet again allowing a group/organisation/company make all the calls.

So, to answer /u/beerbellyfatass more specifically, I've seen a LOT of alt coins pop up over the years. I got into Bitcoin in 2010 so, I've witnessed every single alt pop into existence from the beginning, and I've shitcanned 99% of them as the vast majority were scams to try and loosen Bitcoins from naive users in the early days. I can't even begin to tell you how dumb some early users were, they'd pretty much throw their coins at anything and scammers arrived in droves to try and capitalise on early users' idiocy. Thus my standard for what constitutes a sensible altcoin is understandably very high. It takes a lot for a coin to get past my BS filter, but here is a list of things I find myself looking for when taking another Blockchain project seriously.

  • Fair issuance: No IPO, fundraising BS, no premine, the announcement and mining/node software for the network should have been released and open source well in advance.
  • Features that answers genuine use cases that users have, and that other coins struggle to satisfy. It MUST be useful to end users in some way, and that use should be obvious. "Turing complete", smart contracts, etc. is NOT a use case.
  • Based on solid CS and cryptographic principals. The underlying security should not be based on brand new research, or dubious mechanisms. It is meant to support an economy, so trusting the security to untested, poorly understood, or brand new algorithms or complex mechanisms is a big red flag as tiny bugs could bring everything down, as they say, the devil is in the details (even when I first discovered Bitcoin, I was very sceptical as bugs could undermine even sound theory). For obvious reasons, Zerocoin fails this sniff test. So does any project that uses POS.
  • The mining/wallet/node software must be open source, no exceptions.
  • It should not be founded, or organised by a for profit group (think Ripple). If it's for profit, you can almost be guaranteed that governments can shut it down, or have backdoors to control the system. And besides that, for profit coins don't exist to benefit users, they exist to benefit the company/organisation, and can be very easily corrupted.

As you can see, Ethereum sits on the fence of most of these criteria, but Monero clearly passes, thus where my "bias" lies. I like Monero a hell of a lot more than Ethereum, but I can't quite throw Ethereum in with all the other scam/shit coins out there. Ethereum has too many red flags but unfortunately users, as usual, have little idea what/why they are getting into Ethereum and simply flock to it because "turing complete" and think nothing of the underlying code or design, or what use cases it's trying to satisfy for end users. Ethereum as a result looks far more like a pump and dump than a serious contender. Monero OTOH has obviously been carefully designed to address certain needs everyday users have, and many long term problems considered and addressed before getting started. They never had an IPO, all coins were issued via mining, was open source from the outset, based on solid algorithms, and done by volunteers.
/essay

Source: https://www.reddit.com/r/Monero/comments/4m4qv2/help_me_understand_monero_and_the_community_im/d3sw4mz?context=3
legendary
Activity: 2268
Merit: 1141
The I2P Stack Exchange has moved into the commitment phase!

https://area51.stackexchange.com/proposals/99297/i2p
full member
Activity: 174
Merit: 101
Monero needs your help!

Please select one (or several) community tasks from this list and get to work!

https://bitcointalksearch.org/topic/m.14859119

Speculation is more fun when your contributions directly influence the success of Monero!
legendary
Activity: 2268
Merit: 1141
FYI: Riccardo "Fluffypony" Spagni will speak at Bitcoin Wednesday tomorrow

http://www.meetup.com/BitcoinWednesday/events/224454233/
full member
Activity: 174
Merit: 101
"Bitcoin in Use: Zu Besuch in der Bitcoin-Stadt Arnheim" - Monero Mentioned

http://www.btc-echo.de/bitcoin-in-use-zu-besuch-in-arnheim/


Riccardo Spagni is very well respected by the Bitcoin developers he meets at these conferences. Monero is lucky to have him.
legendary
Activity: 2268
Merit: 1141
"Bitcoin in Use: Zu Besuch in der Bitcoin-Stadt Arnheim" - Monero Mentioned

http://www.btc-echo.de/bitcoin-in-use-zu-besuch-in-arnheim/
hero member
Activity: 574
Merit: 500
Que es lo que pasa con esta moneda que no para de bajar? No decían que tenía un problema de que la blockchain crecía demasiado...?

Esta moneda es muy buena, pero el mercado de bitcoin esta en alta e todas las otras bajan un poco. Sad
legendary
Activity: 2968
Merit: 1198
Help with explaining how this work?
How to create the checksum index from a list of words; can explain it in non c++ terms?

It takes the first N characters of each seed word interpreted using the UTF8 encoding (N=unique prefix length), combines them into one string, computes the crc_32 of the resulting string interpreted as a byte array, and then modulo (remainder) with the word list length.


Can you explain further how the UTF8 encoding combines those first N characters into a string. Is there a specific way it does that?

UTF-8 encoding is a way to represent characters that sometimes uses more than one byte per character. This code takes (up to) the first N characters regardless of how many bytes each character uses. Once those characters are pulled from the words they are combined using string concatenation into a single large string which is then used as a byte array to calculate a CRC32 checksum

Ok, great. I just didn't know it was a simple string concatenation after the encoding.


Yeah it's maybe a little confusing but += is just string concatenation in C++:

Code:
 
        trimmed_words += Language::utf8prefix(*it, unique_prefix_length);
full member
Activity: 133
Merit: 100
Help with explaining how this work?
How to create the checksum index from a list of words; can explain it in non c++ terms?

It takes the first N characters of each seed word interpreted using the UTF8 encoding (N=unique prefix length), combines them into one string, computes the crc_32 of the resulting string interpreted as a byte array, and then modulo (remainder) with the word list length.


Can you explain further how the UTF8 encoding combines those first N characters into a string. Is there a specific way it does that?

UTF-8 encoding is a way to represent characters that sometimes uses more than one byte per character. This code takes (up to) the first N characters regardless of how many bytes each character uses. Once those characters are pulled from the words they are combined using string concatenation into a single large string which is then used as a byte array to calculate a CRC32 checksum

Ok, great. I just didn't know it was a simple string concatenation after the encoding.
legendary
Activity: 2968
Merit: 1198
Help with explaining how this work?
How to create the checksum index from a list of words; can explain it in non c++ terms?

It takes the first N characters of each seed word interpreted using the UTF8 encoding (N=unique prefix length), combines them into one string, computes the crc_32 of the resulting string interpreted as a byte array, and then modulo (remainder) with the word list length.


Can you explain further how the UTF8 encoding combines those first N characters into a string. Is there a specific way it does that?

UTF-8 encoding is a way to represent characters that sometimes uses more than one byte per character. This code takes (up to) the first N characters regardless of how many bytes each character uses. Once those characters are pulled from the words they are combined using string concatenation into a single large string which is then used as a byte array to calculate a CRC32 checksum
full member
Activity: 133
Merit: 100
Help with explaining how this work?
How to create the checksum index from a list of words; can explain it in non c++ terms?

It takes the first N characters of each seed word interpreted using the UTF8 encoding (N=unique prefix length), combines them into one string, computes the crc_32 of the resulting string interpreted as a byte array, and then modulo (remainder) with the word list length.


Can you explain further how the UTF8 encoding combines those first N characters into a string. Is there a specific way it does that?
legendary
Activity: 2968
Merit: 1198
Help with explaining how this work?
How to create the checksum index from a list of words; can explain it in non c++ terms?

It takes the first N characters of each seed word interpreted using the UTF8 encoding (N=unique prefix length), combines them into one string, computes the crc_32 of the resulting string interpreted as a byte array, and then modulo (remainder) with the word list length.
full member
Activity: 133
Merit: 100
Help with explaining how this work?
How to create the checksum index from a list of words; can explain it in non c++ terms?

Code:
 /*!
   * \brief Creates a checksum index in the word list array on the list of words.
   * \param  word_list            Vector of words
   * \param unique_prefix_length  the prefix length of each word to use for checksum
   * \return                      Checksum index
   */
  uint32_t create_checksum_index(const std::vector &word_list,
    uint32_t unique_prefix_length)
  {
    std::string trimmed_words = "";

    for (std::vector::const_iterator it = word_list.begin(); it != word_list.end(); it++)
    {
      if (it->length() > unique_prefix_length)
      {
        trimmed_words += Language::utf8prefix(*it, unique_prefix_length);
      }
      else
      {
        trimmed_words += *it;
      }
    }
    boost::crc_32_type result;
    result.process_bytes(trimmed_words.data(), trimmed_words.length());
    return result.checksum() % crypto::ElectrumWords::seed_length;
  }


Also, is it implementable without use of pointers and c++ specific functions such as
Code:

inline std::string utf8prefix(const std::string &s, size_t count)
  {
    std::string prefix = "";
    const char *ptr = s.c_str();
    while (count-- && *ptr)
    {
      prefix += *ptr++;
      while (((*ptr) & 0xc0) == 0x80)
        prefix += *ptr++;
    }
    return prefix;
  }

or

Code:
boost::crc_32_type result;
result.process_bytes(trimmed_words.data(), trimmed_words.length());
legendary
Activity: 2268
Merit: 1141
Crosspost:

Onion Monero Blockchain Explorer

The key features of the Onion Monero Blockchain Explorer are

 - available as a hidden service,
 - no javascript, no web analytics trackers, no images,
 - open sourced,
 - made fully in C++,
 - the only explorer showing encrypted payments ID,
 - the only explorer with the ability to search by encrypted payments ID, tx public keys, outputs public keys, input key images, output amount index and its amount,
- the only explorer showing ring signatures,
- the only explorer that can show which outputs belong to the given Monero address and viewkey,
- the only explorer showing detailed information about mixins, such as, mixins' age, timescale, mixin of mixins,
- the only explorer showing number of amount output indices.

https://github.com/moneroexamples/onion-monero-blockchain-explorer

Tor users:

 - http://xmrblocksvckbwvx.onion

Non tor users, can try tor proxy, e.g.,

- http://xmrblocksvckbwvx.onion.to

Comments welcome here or on reddit:
https://www.reddit.com/r/Monero/comments/4ld0j3/did_you_know_that_monero_has_a_onion_blockchain/
Jump to: