Post
Topic
Board Altcoin Discussion
Re: [SCAM] BLOCKNET: The Metcalf/Prom Alt-Coin Cartel Scam Exposed
by
gjhiggins
on 31/10/2014, 17:06:53 UTC
The guy attends shows and puts on a legit farce and has a business.  Wonder if any of this will bleed over to his rl.

I find it useful to keep reminding myself that the map is not the territory and the bitcointalk/github account is not the person.

Co-incidentally, I encountered some interesting relevant info, thought I'd write it up and share it with the discussants here ...

BlockNet is a straightforwardly-rebranded git clone of BitSwift. By “straightforwardly-rebranded”, I mean that, apart from some minimal changes to parameters, the rest of the changes are to the strings carrying the coin's name. This string replacement is often crude, fuzzily focused and inadequately constrained.

Fuzzy focus in BlockNet revealing BitSwift origin https://github.com/atcsecure/blocknet/blob/master/COPYING#L1
Quote
Copyright (c) 2014 BitSwift Developers
Copyright (c) 2013-2014 NovaCoin Developers
Copyright (c) 2011-2012 PPCoin Developers
Copyright (c) 2009-2014 Bitcoin Developers

The current construction of BlockNet's heritage trail as AGS, DRM, HACK is incomplete and should read BITSWIFT, AGS, DRM, HACK

As a cloneparent, BitSwift itself is a straightforwardly-rebranded git clone of AegisCoin, as revealed by the dog's breakfast that the AegisCoin dev has made of the original carsenk clone with s/DRM/AGS/g and which, like a treasured family heirloom, has been faithfully preserved all the way down to the BlockNet code:

Example of inadequate constraint inherited from inept ancestor dev https://github.com/atcsecure/blocknet/blob/master/src/addrman.cpp#L9
Quote
int CAddrInfo::GetTriedBucket(const std::vector &nKey) const
{
    CDataStream ss1(SER_GETHASH, 0);
    std::vector vchKey = GetKey();
    ss1 << nKey << vchKey;
    uint64_t hash1 = Hash(ss1.begin(), ss1.end()).Get64();

    CDataStream ss2(SER_GETHASH, 0);
    std::vector vchGroupKey = GetGroup();
    ss2 << nKey << vchGroupKey << (hash1 % ADAGSAN_TRIED_BUCKETS_PER_GROUP);
    uint64_t hash2 = Hash(ss2.begin(), ss2.end()).Get64();
    return hash2 % ADAGSAN_TRIED_BUCKET_COUNT;
}

AegisCoin itself is a clone of DreamCoin, a Carsen Keck device. The original carsenk github repo is long gone but I made a fork at the time and the code testifies that the Korean hackcoin dev (who, to give him his due, had successfully created a “best-of” coin which is still prized today) was justified in accusing Carsen Keck of crass ineptitude:

https://github.com/gjhiggins/dreamcoin/blob/master/COPYING
Quote

Copyright (c) 2014 hackcoin Developers
Copyright (c) 2013-2014 NovaCoin Developers
Copyright (c) 2011-2012 PPCoin Developers
Copyright (c) 2009-2014 Bitcoin Developers

BlockNet, presented for ICO in Nov 2014, is basically a degraded copy of 6 month-old hackcoin and the identifiable descendants that populate the family tree have all turned out to be black sheep. Using this foul heritage as a foundational codebase for an ambitious project is an inexplicably odd choice for a reputedly savvy dev.

It may be that the choice of initial commit is irrelevant - some devs adopt the tactic of simply obliterating the original commit with a later monolithic commit or even ignoring the open source code entirely and pursuing a V2.0-binary-only release policy, spuriously argued as aimed at protecting IP.


Cheers

Graham