Project Description

This is the coin that started it all, with its incredibly stable Quark Algorithm utilizing Blake, Blue Midnight Wish, Gr0stl, JH, Keccak, and Skein. 020Londoncoin formally known as o2o (online to offline) started out as a novelty-coin by its original developer. The o2o coin was fading away when CryptoCoderz stepped in and announced to the world that good Blockchains should not die but rather be reborn with a new life.

Why Quark?

"The six algorithms are implemented in series, with nine steps; three of the steps randomly apply one of two out of these six functions depending on the value of a bit. The point of this is twofold. First, it is intended to make Quark more resistant against the “black swan” risk of a single hash function getting cracked. Second, it is intended to make the currency secure against specialized hardware or even GPUs; “Being only CPU mined,” the introduction reads, “this coin offers the average individual the rewards of mining.”"-Vitalik Buterin

What We Have Done so Far

CryptoCoderz took something great and made it better, we saw potential as soon as Quark (QRK) was announced on July 21, 2013 despite a few flaws. We noticed it wasn’t as stable as it could’ve been, nor was it as fast; so we then went forth and modified it to make it run as we foresaw. The community saw the interest we were taking with in o2o coin and actually supported us through the development process. As any developer knows the community is the heart of any Blockchain not the dev. This encouraged us to then upgrade the wallets, make everything easier for the end user as a way to pay back to the community for their never ending support.

Algorithm

Quark is a secure use of different hashing algorithms with 9 rounds of hashing from 6 unique hashing functions (blake, groestl, blue midnight wish, jh, SHA-3, skein). 3 rounds deliver a random hashing function. The multiple hash gives a further layer of security against unknowns that will enter the market down the road.

Veiw hashblock.h



// -------- INITIAL IMPLEMENTATION OF QUARK -------------

uint512 mask = 8;
uint512 zero = 0;

uint512 hash[9];
sph_blake512_init(&ctx_blake);
// ZBLAKE;
sph_blake512 (&ctx_blake, (pbegin == pend ? pblank : static_cast(&pbegin[0])), (pend - pbegin) * sizeof(pbegin[0]));
sph_blake512_close(&ctx_blake, static_cast(&hash[0]));

sph_bmw512_init(&ctx_bmw);
// ZBMW;
sph_bmw512 (&ctx_bmw, static_cast(&hash[0]), 64);
sph_bmw512_close(&ctx_bmw, static_cast(&hash[1]));

if ((hash[1] & mask) != zero) {
sph_groestl512_init(&ctx_groestl);
// ZGROESTL;
sph_groestl512 (&ctx_groestl, static_cast(&hash[1]), 64);
sph_groestl512_close(&ctx_groestl, static_cast(&hash[2]));
}
else
{
sph_skein512_init(&ctx_skein);
// ZSKEIN;
sph_skein512 (&ctx_skein, static_cast(&hash[1]), 64);
sph_skein512_close(&ctx_skein, static_cast(&hash[2]));
}

sph_groestl512_init(&ctx_groestl);
// ZGROESTL;
sph_groestl512 (&ctx_groestl, static_cast(&hash[2]), 64);
sph_groestl512_close(&ctx_groestl, static_cast(&hash[3]));

sph_jh512_init(&ctx_jh);
// ZJH;
sph_jh512 (&ctx_jh, static_cast(&hash[3]), 64);
sph_jh512_close(&ctx_jh, static_cast(&hash[4]));

if ((hash[4] & mask) != zero)
{
sph_blake512_init(&ctx_blake);
// ZBLAKE;
sph_blake512 (&ctx_blake, static_cast(&hash[4]), 64);
sph_blake512_close(&ctx_blake, static_cast(&hash[5]));
}
else
{
sph_bmw512_init(&ctx_bmw);
// ZBMW;
sph_bmw512 (&ctx_bmw, static_cast(&hash[4]), 64);
sph_bmw512_close(&ctx_bmw, static_cast(&hash[5]));
}

sph_keccak512_init(&ctx_keccak);
// ZKECCAK;
sph_keccak512 (&ctx_keccak, static_cast(&hash[5]), 64);
sph_keccak512_close(&ctx_keccak, static_cast(&hash[6]));

sph_skein512_init(&ctx_skein);
// SKEIN;
sph_skein512 (&ctx_skein, static_cast(&hash[6]), 64);
sph_skein512_close(&ctx_skein, static_cast(&hash[7]));

if ((hash[7] & mask) != zero)
{
sph_keccak512_init(&ctx_keccak);
// ZKECCAK;
sph_keccak512 (&ctx_keccak, static_cast(&hash[7]), 64);
sph_keccak512_close(&ctx_keccak, static_cast(&hash[8]));
}
else
{
sph_jh512_init(&ctx_jh);
// ZJH;
sph_jh512 (&ctx_jh, static_cast(&hash[7]), 64);
sph_jh512_close(&ctx_jh, static_cast(&hash[8]));
}

return hash[8].trim256();

Social Media

Project Specs

  • Abbreviation:O2O
  • Algorithm:Quark
  • Block Time:1 Minute
  • Difficulty Retarget Time:2 Hours
  • Premine:1.5%
  • Ports:RPC - 21720, P2P - 21721
  • Coins Per Block:10,000
  • Date Founded:March 20, 2014
  • Date of Rebrand:June 27, 2015
  • Current Developer:CryptoCoderz
View Site