Bitcoin Forum
May 29, 2024, 11:18:17 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 ... 272 »
581  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | Fork for Masternode Payment on: June 29, 2014, 07:31:28 AM
It bothers me that its closed source. Its not a real crypto until its open source


Only Darksend is closed source. Every other aspect of the coin is open and there is even a separate version that can be built from the source for those that will not use closed source software.

If that still bothers you then wait. Darksend will be open-sourced as well -- likely in August.

Its not the only thing that bothers me. i've also heard that Proof Of Work has ended on this coin. I feel like most of the coins that have adopted this model are early adopter schemes. I'm not accusing dark of being an early adopter scheme, but it just doesn't sit right with me, especially at current prices.I also dislike the centralized nature and obvious unfair advantages it gives the Development team. i think that Darkcoin is fools gold, just like primecoin was when it was released. fools gold, offering the illusion of worth with no tangible benefit, but i'll tell you this much: Darkcoin is the shiniest of all the turds in this punchbowl we call Altcoins.
582  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][ONC] Onecoin - CPU only - Pools opened! on: June 29, 2014, 07:15:37 AM
get it on an exchange and watch the hashrate go wild. Poloniex would be perfect.

maybe this coin needs resurrection. (Tag you're it)
583  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN] X15 MaiaCoin ◀► The best x15 PoW/PoS ◀► Launched on: June 29, 2014, 07:13:09 AM
I knew the dev was retarded when he referred to x13 as a hashing algorithm


WTF are you talking about ?

x13 isn't a hashing algorithm. its 13 hashing algorithms chained together in consecutive order making all MOTHO's drool in awe.
584  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN] X15 MaiaCoin ◀► The best x15 PoW/PoS ◀► Launched on: June 29, 2014, 06:53:45 AM
I knew the dev was retarded when he referred to x13 as a hashing algorithm
585  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | Fork for Masternode Payment on: June 29, 2014, 06:43:54 AM
It bothers me that its closed source. Its not a real crypto until its open source
586  Alternate cryptocurrencies / Altcoin Discussion / Re: Bounty for open source ByteCoin/Monero GUI on: June 29, 2014, 06:32:43 AM
Is it mandatory that it be done in python?
seems like the wrong tool for the job
587  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 06:27:52 AM
So far, much of my theory has been proven wrong, but i still think i'm on to something here. there is a flaw, i can feel it

Quick question. I noticed in your OP there is no mention of x11. There is a reference of Logicoin and you posted this only in Darkcoin thread.

may i solicit some opinions from the {{great minds}} in this thread?

https://bitcointalk.org/index.php?topic=669634.new#new


I guess I am unclear if if you are claiming x11 has this flaw? And why post that snarky comment in Darkcoin thread?

no you took it the wrong way. I wanted to get the attention of
 eduffield, the dark coin dev's opinion. With so many ahitcoins darkcoin seems to be one of few with a dev who would care to investigate it.
588  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 04:25:40 AM
So far, much of my theory has been proven wrong, but i still think i'm on to something here. there is a flaw, i can feel it
589  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 04:17:36 AM
without the technical side.

your theory is based on the assumption that the hash is accepted as is and checked if it meets the difficulty.

instead the values you send are run through the client, a hash is produced using the algo of the coin, and if that production matches up the block is valid.

so a sha256 hash matching isn't enough, it'll be invalid.

snipped code:

Code:
class CBlockHeader
{

    uint256 GetHash() const
    {
        return Hash9(BEGIN(nVersion), END(nNonce));
    }

};

class CBlock : public CBlockHeader
{

    uint256 GetPoWHash() const
    {
        return GetHash();
    }

};

(you were looking at the gethash function from transactions, not blocks in your above snip)

How will it be invalid? the target and all underlying block data are the same. when the hash is converted to sha256, how would the hash be accepted but rejected if it is short circuited with sha256?
590  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 04:10:54 AM

https://github.com/Logicoin/logicoin/blob/0bfec6b1e2a63c0a60a77fb38dfb95d666293ed9/src/main.h

Code:
uint256 GetPoWHash() const
    {
        return GetHash();
    }

uint256 GetBlockHash() const
    {
        CBlockHeader block;
        block.nVersion        = nVersion;
        block.hashPrevBlock   = hashPrev;
        block.hashMerkleRoot  = hashMerkleRoot;
        block.nTime           = nTime;
        block.nBits           = nBits;
        block.nNonce          = nNonce;
        return block.GetHash();
    }

uint256 GetHash() const
    {
        return SerializeHash(*this);
    }

uint256 GetHash() const
    {
        return Hash9(BEGIN(nVersion), END(nNonce));
    }

so the argument is that a short circuited hash would be seen as invalid on the unmodified clients? i don't think thats true at all.
591  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 03:40:59 AM
is the claim so outrageous. what does checkProofOfWork do exactly?

i'll comment it for you so you understand.

Code:
bool CheckProofOfWork(uint256 hash, unsigned int nBits)
{
    CBigNum bnTarget;
    bnTarget.SetCompact(nBits);

    // Check range
    if (bnTarget <= 0 || bnTarget > bnProofOfWorkLimit) // if Target <= 0 OR target > limit
        return error("CheckProofOfWork() : nBits below minimum work");

    // Check proof of work matches claimed amount
    if (hash > bnTarget.getuint256())  //if hash > Target
        return error("CheckProofOfWork() : hash doesn't match nBits");


    return true;//it passed the test, it must be valid.
}
https://github.com/Logicoin/logicoin/blob/master/src/main.cpp  line 1420


now, for CheckWork:

Code:
bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey)
{
    uint256 hash = pblock->GetPoWHash(); //get the block hash, which is obviously sha256


    uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256();

    if (hash > hashTarget)
        return false;

    //// debug print
    printf("LogiCoinMiner:\n");
    printf("proof-of-work found  \n  hash: %s  \ntarget: %s\n", hash.GetHex().c_str(), hashTarget.GetHex().c_str());
    pblock->print();
    printf("generated %s\n", FormatMoney(pblock->vtx[0].vout[0].nValue).c_str());

    // Found a solution
    {
        LOCK(cs_main);
        if (pblock->hashPrevBlock != hashBestChain)
            return error("LogiCoinMiner : generated block is stale");

        // Remove key from key pool
        reservekey.KeepKey();

        // Track how many getdata requests this block gets
        {
            LOCK(wallet.cs_wallet);
            wallet.mapRequestCount[pblock->GetHash()] = 0;
        }

        // Process this block the same as if we had received it from another node
        CValidationState state;
        if (!ProcessBlock(state, NULL, pblock))
            return error("LogiCoinMiner : ProcessBlock, block not accepted");
    }

    return true;
}

The hashings itself may occur in other algorithms, but the checks are only ran on sha256 hashes, which was my point all along. if the sha256 hash satisfies the target it doesn't matter whether the extra hashing ever occured.

I'm having trouble understanding what the argument against my theory is? is it that short circuiting can't possibly produce a valid hash without all the extra hashing? i don't believe that to be true.
592  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 02:31:55 AM
Wouldn't it be easier to "make the point" by moding a mining program and raping non-sha altcoins?

Why expend energy in trying to convince others about the theory, instead of actually doing it and showing it? What is the obstacle?

I'm seeking someone with a fairly large amount of Sha 256 asics to help me test the theory.

Some altcoin algos run at like 3-5 Mhs at some GPUs while SHA256 runs at like 500 MHs. It's already 100x+. Why do you need asics? Mod a client and have fun.

In the case of cryptonight which runs at like a few hashes per sec, you are orders of magnitude faster with 500 MHs of a GPU sha256.

You don't understand the premise at all. The hashes are always converted back to sha256, meaning theoretically you could short circuit the entire algorithms of these coins with bitcoin's sha 256 algorithm and still produce valid blocks on the network.

No I understand what you are saying. I do not understand why you "require" sha256 asics for "testing it". You can test it even with a cpu (or gpu).

The premise here is that this flaw could allow 51% attacks on alternate-algorithm coins with bitcoin hardware.
593  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 02:30:34 AM
the checksum method only validates that a block  is a valid sha256 hash less than or equal to  the target described in the equation. this means, that at the hashing level there are nothing to verify how a hash was produced, only that it confirms all previous work and contains valid transaction data, satisfying the "Proof of Work" concept.

There is a check for the correct PoW hash in CheckBlock():

    // Check proof of work matches claimed amount
    if (!CheckProofOfWork(GetPoWHash(), nBits))
        return DoS(50, error("CheckBlock() : proof of work failed"));

I don't see how you can get around this check.

Well yes, thats the basics of proof of work. however the problem is, its only verifying a sha 256 hash. not the hashes that produced that hash, so my premise is that you can shortcircuit the entire process and just mine any of these coins with sha 256 ASIC.
594  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 02:27:28 AM
Wouldn't it be easier to "make the point" by moding a mining program and raping non-sha altcoins?

Why expend energy in trying to convince others about the theory, instead of actually doing it and showing it? What is the obstacle?

I'm seeking someone with a fairly large amount of Sha 256 asics to help me test the theory.

Some altcoin algos run at like 3-5 Mhs at some GPUs while SHA256 runs at like 500 MHs. It's already 100x+. Why do you need asics? Mod a client and have fun.

In the case of cryptonight which runs at like a few hashes per sec, you are orders of magnitude faster with 500 MHs of a GPU sha256.

You don't understand the premise at all. The hashes are always converted back to sha256, meaning theoretically you could short circuit the entire algorithms of these coins with bitcoin's sha 256 algorithm and still produce valid blocks on the network.
595  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 02:19:48 AM
Wouldn't it be easier to "make the point" by moding a mining program and raping non-sha altcoins?

Why expend energy in trying to convince others about the theory, instead of actually doing it and showing it? What is the obstacle?

I'm seeking someone with a fairly large amount of Sha 256 asics to help me test the theory.
596  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerabilities in altcoins. on: June 29, 2014, 02:03:06 AM
shhh  Lips sealed r3wt don't let reality get in the way of some good 'innovation' stories  Wink

lol, from where i'm sitting it looks like the innovation stories are just cover up for the Bitcoin Asic flashmining behind the scenes. I could be completely wrong though. There could be some magical code i didn't see that prevents this from happening...
597  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | Fork for Masternode Payment on: June 29, 2014, 01:52:49 AM
may i solicit some opinions from the {{great minds}} in this thread?

https://bitcointalk.org/index.php?topic=669634.new#new
598  Alternate cryptocurrencies / Altcoin Discussion / Re: [Theoretical]The Short-Circuit 51% attack vulnerabilities in altcoins. on: June 29, 2014, 01:51:36 AM
If i am wrong, please post a reply. this is only theory based upon observation of various source codes and my approximate understanding of the concept of Proof Of Work, and the various implementations available in the altcoin scene.
599  Alternate cryptocurrencies / Altcoin Discussion / [Theoretical]The Short-Circuit 51% attack vulnerability in non Sha256 altcoins. on: June 29, 2014, 01:35:17 AM
preamble

What is proof of work, and why should i care?

From the bitcoin wiki:

For a block to be valid it must hash to a value less than the current target; this means that each block indicates that work has been done generating it. Each block contains the hash of the preceding block, thus each block has a chain of blocks that together contain a large amount of work. Changing a block (which can only be done by making a new block containing the same predecessor) requires regenerating all successors and redoing the work they contain. This protects the block chain from tampering.

The most widely used proof-of-work scheme is SHA-256, which was introduced by Bitcoin. Some other hashing algorithms that are used for proof-of-work include scrypt, Blake-256, CryptoNight,[1] HEFTY1, Quark, SHA-3, scrypt-jane, scrypt-n, and combinations.

The reality:

the checksum method only validates that a block  is a valid sha256 hash less than or equal to  the target described in the equation. this means, that at the hashing level there are nothing to verify how a hash was produced, only that it confirms all previous work and contains valid transaction data, satisfying the "Proof of Work" concept.

What does this mean for altcoins?

Typically, altcoins rely on hashing blocks using a different algorithm, then converting the hashed block to a sha256 unsigned integer.

This means that an attacker only has to have enough Sha-256 asics to account for 51% or more of the network hashrate and a modified client designed to hash with sha256 instead of all of these algorithm's that have been piggy backed on top of sha256.

What about chained hashing?

Chained hashing provides only the illusion of security, or security through obscurity as we like to call it. this collection of algorithms:

Here's a case study:

Logicoin:

https://github.com/Logicoin/logicoin/blob/master/src/hash.h

now, lets look at bitcoin:

https://github.com/bitcoin/bitcoin/blob/master/src/hash.h


As you can see, these alternative hashing implementations are reliant on conversion back to uint256 then hashed as sha256, meaning that the entire hashing process can simply be shortcircuited back to sha256, bypassing these algorithms entirely, making the coin mineable by sha256 asics.

Additionally, the flaws with chained hashing algorithm's do not stop here. With WildKeccak derivates such as Boolberry and JackpotCoin, it is possible to short circuit the internal switch statements that chooses which hash to use in a given round. An attacker could modify his client to use the weakest, fastest hash every round, producing a clear advantage for his miners.

Additionally, this exposes a flaw in every coin other than bitcoin, and there in also reiterates the true strength of bitcoin, which relies solely on the strength of the sha256 algorithm and the proof of work concept to secure the blockchain. If you are looking for innovation in altcoins, it simply doesn't exist in a true form to date.

Conclusion

How can this issue be addressed?
Through mathematics, plain and simple. If you want to add additional hashing algorithms to bitcoin, you need to modify proof of work with additional checksum algorithms to confirm a given hash satisfies the specifications of your hashing algorithm. With chained hashing, you want to make a requirement that will show the block was hashed in a specific order. adding this data to the block defeats the purpose and a method of bypassing this will be discovered relatively easily. Instead, you might want to follow the approach of the BCRYPT hashing algorithm, which appends data to the beggining and end of a hash, offering information as to how the hash was produced.

One might be able to determine an algorithm for appending a secret to the end of the hash, and number for each round of hashing to the beginning.

say we have four rounds of hashing well to illustrate my point this is what our block hashing method might look like.

step1:

input -> 0xfe 0xdd 0xbe 0xfd //some random data
secret[0]-> //some random data computed from our input
hash-> create a hash from secret and input

result:

secret[0].hash.input  //our result hash string would

at the end of 4 rounds our hash would look like

secret[3].secret[2].secret[1].secret[0].hash / input

in this example, we can easily prove all subsequent steps in the chained hashing algorithm originated from the original input, while making it difficult to replicate without performing the entirety of the work.

Again mathematics, plain and simple.


is the claim so outrageous. what does checkProofOfWork do exactly?

i'll comment it for you so you understand.

Code:
bool CheckProofOfWork(uint256 hash, unsigned int nBits)
{
    CBigNum bnTarget;
    bnTarget.SetCompact(nBits);

    // Check range
    if (bnTarget <= 0 || bnTarget > bnProofOfWorkLimit) // if Target <= 0 OR target > limit
        return error("CheckProofOfWork() : nBits below minimum work");

    // Check proof of work matches claimed amount
    if (hash > bnTarget.getuint256())  //if hash > Target
        return error("CheckProofOfWork() : hash doesn't match nBits");


    return true;//it passed the test, it must be valid.
}
https://github.com/Logicoin/logicoin/blob/master/src/main.cpp  line 1420


now, for CheckWork:

Code:
bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey)
{
    uint256 hash = pblock->GetPoWHash(); //get the block hash, which is obviously sha256


    uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256();

    if (hash > hashTarget)
        return false;

    //// debug print
    printf("LogiCoinMiner:\n");
    printf("proof-of-work found  \n  hash: %s  \ntarget: %s\n", hash.GetHex().c_str(), hashTarget.GetHex().c_str());
    pblock->print();
    printf("generated %s\n", FormatMoney(pblock->vtx[0].vout[0].nValue).c_str());

    // Found a solution
    {
        LOCK(cs_main);
        if (pblock->hashPrevBlock != hashBestChain)
            return error("LogiCoinMiner : generated block is stale");

        // Remove key from key pool
        reservekey.KeepKey();

        // Track how many getdata requests this block gets
        {
            LOCK(wallet.cs_wallet);
            wallet.mapRequestCount[pblock->GetHash()] = 0;
        }

        // Process this block the same as if we had received it from another node
        CValidationState state;
        if (!ProcessBlock(state, NULL, pblock))
            return error("LogiCoinMiner : ProcessBlock, block not accepted");
    }

    return true;
}

The hashings itself may occur in other algorithms, but the checks are only ran on sha256 hashes, which was my point all along. if the sha256 hash satisfies the target it doesn't matter whether the extra hashing ever occured.

I'm having trouble understanding what the argument against my theory is? is it that short circuiting can't possibly produce a valid hash without all the extra hashing? i don't believe that to be true.
600  Alternate cryptocurrencies / Announcements (Altcoins) / Re: [ANN][DRK] DarkCoin | First Anonymous Coin | First X11 | First DGW | Fork for Masternode Payment on: June 29, 2014, 12:50:34 AM
all algorithms besides scrypt and scrypt-jane can be short circuited and replaced with sha256 to anyone with the knowledge and desire to do so. there is nothing that verifies the origin of the hash, only that its a valid sha256 below the target.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 ... 272 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!