Bitcoin Forum
June 16, 2024, 09:11:41 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 [111] 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 ... 164 »
2201  Alternate cryptocurrencies / Altcoin Discussion / Re: ppcoin POW exposure on: February 28, 2013, 05:28:55 AM
As the network hash rate increases with the advancement of Moore's Law, the proof-of-work mint rate is reduced, so it would be more and more difficult for such attackers to gain significant wealth via proof-of-work and then launch attack on proof-of-stake after 30 days.

Does that mean the chain can easily be forked by buying a lot of coins and holding them, then?  Allowing a person with a vast majority of coins to manipulate transactions along with the rest of the block chain so long as they possessed some of the proof of work?
2202  Economy / Computer hardware / Re: [WTS] 9 top of the line rigs, whole or parted out (now with pricing) on: February 28, 2013, 01:40:11 AM
If you pay the fees for PP, and show me a couple successful transactions from the past with forum members, I will make the deal. 

bump, you still interested?
2203  Economy / Computer hardware / Re: [WTS] 9 top of the line rigs, whole or parted out (now with pricing) on: February 27, 2013, 04:38:53 AM
Thanks for the rep+ Smiley
2204  Economy / Computer hardware / Re: [WTS] 9 top of the line rigs, whole or parted out (now with pricing) on: February 27, 2013, 04:32:22 AM
Think I only have one purchase on here: https://bitcointalk.org/index.php?topic=44929.20

I have bought from maptor as well (japanbit) but I don't think anything was posted about it here

And of course I would pay the fees (conversion + gift fee)
2205  Economy / Computer hardware / Re: [WTS] 9 top of the line rigs, whole or parted out (now with pricing) on: February 27, 2013, 04:07:51 AM
Motherboard   Asus P8H67                         $150
CPU   Xeon E3-1275         4 core, 3.4 Ghz, 8 mb        $150

Would you sell these and 2x 4GB sticks of RAM For $300?
Also, would you accept PP?  I'm low on BTC ATM and I've been on this forum forever, I can PM you my heatware or overclock trader profile if you want it
And also would you ship to Canada? (I would pay for shipping, probably $20-ish)
2206  Alternate cryptocurrencies / Altcoin Discussion / Re: Is Litecoin really really cheap right now? Or is it dying? on: February 26, 2013, 07:34:10 PM
How about when Bitcoin becomes no longer profitable to GPU mine because of ASIC introduction in the next couple of months?

Go back and look at the BTC charts for price and difficulty.  In 2010 when GPU mining began, the hash rate of the network skyrocketed while the price largely stagnated.  Then, in 2011, the price exploded, following the difficulty instead of the other way around.

This is the whole reason Litecoin has survived this long and continues to survive.  People want to eventually get rich, and they're buying it and holding it.  We're already 3/8th of the way to block reward halving, and it keeps going every day.
2207  Bitcoin / Hardware / Re: [AVALON] - I got my ASIC Thread (Batch #1) on: February 26, 2013, 06:43:51 PM
It does kind of look as if they were mining until a couple days ago so they could make as much much as possible before shipping them...

2208  Alternate cryptocurrencies / Altcoin Discussion / Re: [NVC POOL] 5% PPS - nvc.mine.bz - port 443 available - no reg required on: February 26, 2013, 05:23:30 PM
Hey,

Been mining for 24 hr with 1.6 MH/s and should have gotten at least ten coins by now but my wallet is empty.  I will PM you my address.

Also
Code:
Pool total payout: 0.00000000

Is not very encouraging
2209  Alternate cryptocurrencies / Altcoin Discussion / Re: Is Litecoin really really cheap right now? Or is it dying? on: February 26, 2013, 05:53:44 AM
I hoard.  Some people are going to tell you it's crap.  Others that it's invaluable.  It's the longest lasting alt. chain to maintain any value.  It's ASIC resistant.
2210  Alternate cryptocurrencies / Mining (Altcoins) / Re: Consolidated Litecoin Mining Guide for 5xxx, 6xxx, and 7xxx GPUs on: February 26, 2013, 03:28:27 AM
The GPU will try to use all threads even with the lower difficulty.  The easiest way to lower heat is to reduce the voltage, if your cards allow you to.
2211  Other / CPU/GPU Bitcoin mining hardware / Re: nVidia a mining option with Kepler? on: February 26, 2013, 03:13:28 AM
http://www.tomshardware.com/reviews/geforce-gtx-titan-performance-review,3442-10.html

woohoo

they were able to hit an admirable 312 mh/s, though
2212  Alternate cryptocurrencies / Mining (Altcoins) / Re: Cryptocoin Mining Information -- find the most profitable coin to mine! on: February 25, 2013, 09:20:04 PM
Another issue is ppcoin's totally wacky per block adjustment algorithm.  Ideally, you shouldn't be checking what the current difficulty and reward are when doing the calculation but rather the amortized reward and difficulty for the last 520 or so blocks, with weighting toward the last blocks.
Wouldn't it be better to estimate the future difficulty and block rewards based on the current difficulty and hashrate of recent blocks, as a miner would want to know what coin to mine now, not which one was more profitable in the past?

Okay, now that I understand PPC difficulty adjustment a little better I think it's okay as is.  I had been mistaken about the way the difficulty changed.
2213  Economy / Goods / Re: Ursolic acid 150mg 120 capsules (anabolic pentacyclic triterpene acid) on: February 25, 2013, 08:34:04 PM
Bump
2214  Alternate cryptocurrencies / Altcoin Discussion / Re: NovaCoin/PPCoin exploit: difficulty/reward coaster on: February 25, 2013, 07:05:08 PM
Is this a problem with Terracoin? It was my understanding that the retarget rate is so much quicker that it would settle pretty quickly once you jumped off the chain.

The shorter the retarget time, the more susceptible a chain is to this sort of exploitation; for TRC you would just adjust the code above to mine TRC for 30 blocks, mine something else for the next 30 blocks, then hop onto TRC again.  This is why retarget times should NEVER be set too short.  The code (I guess) would be
Code:
floor((blockheight) / 30) % 2 == 0

I was mistaken as thought that PPC retargeted per block with a small maximum decrease or increase, but it actually adjusts difficulty based on the rolling exponential average for the past 1008 blocks.
2215  Alternate cryptocurrencies / Altcoin Discussion / Re: NovaCoin/PPCoin exploit: difficulty/reward coaster on: February 25, 2013, 06:50:55 PM
Right.  Okay, I'll try and fix this by the end of the week.  The neat thing about PPC/NVC is that it helps with hopping between chains because there are no present difficulty change times, so you can just hop on at any time to the chain and begin ramping up the difficulty.  This is in contrast to BTC or LTC in which difficulty adjustments occur at fixed periods.  Because of the fixed periods, it'd be more difficult to get the chains to coincide with one another.  Thus, per-block difficulty adjustment seems to encourage block chain hopping, especially as the number of chains exist that use it increase.

Anyway, it'd go something like this:

Mine NVC for 288 blocks
Mine PPC for 288 blocks
Wait for LTC to adjust difficulty, then hop on to that chain and mine for 2016 blocks
if (NVC has mined at least 720 blocks since) mine for 288 blocks else wait
if (PPC has mined at least 720 blocks since) mine for 288 blocks else wait
Wait for LTC to adjust difficulty, then hop on to that chain and mine for 2016 blocks
etc

The more chains there are the greater benefit to the person manipulating the difficulty, especially if these chains have per-block difficulty adjustments because the amount of time spent waiting is decreased
2216  Alternate cryptocurrencies / Altcoin Discussion / Re: NovaCoin/PPCoin exploit: difficulty/reward coaster on: February 25, 2013, 05:29:05 PM
Okay, so weighting factors decrease exponentially, that is, the farther towards the end of the week the values go from the present, the less they influence the difficulty.  So, a possible attack would be to mine with high hash rate for 2 days, wait 5 days until the high hash rate has barely any impact on the present difficulty, and repeat?

Additionally, because of
Code:
// ppcoin: subsidy is cut in half every 16x multiply of difficulty
, won't the benefit to the attacker to mine every nth block be exponential and increasing with the gap between number of blocks (as n increases) because of the subsidy calculation as above?  For instance, if you adjust line
Code:
if (output_j['blocks'] % 2 == 0):
to
Code:
if (output_j['blocks'] % 16 == 0):
, the attacker with a ton of hashing power likely gets every 16th block for very little overall work and their influence on subsidy and difficulty is negligible; not only this, but if this person had a massive quantity of hash power (e.g. a few ASICs right now) the benefit to the attacker in terms of work it takes to acquire PPC would be exponential because of the increase in block reward as compared to what the block reward would be if they were continually mining.

edit: Sorry, made lots of edits for clarity/typos.  I agree that the exploit as posted in the OP doesn't work as stated because of how I understood your adjustment algorithm, but it should work by mining for 288 PPC/NVC blocks followed by mining something else for 720 PPC/NVC blocks and then hopping back on the chain.  I guess this is more analogous to pool hopping than anything else.
2217  Alternate cryptocurrencies / Altcoin Discussion / Re: NovaCoin/PPCoin exploit: difficulty/reward coaster on: February 25, 2013, 04:56:02 PM
Maybe I misunderstood your code; retargets are based on a one week moving average?

This is from your main.cpp:
Code:
    // ppcoin: target change every block
    // ppcoin: retarget with exponential moving toward target spacing
    CBigNum bnNew;
    bnNew.SetCompact(pindexPrev->nBits);
    int64 nTargetSpacing = fProofOfStake? STAKE_TARGET_SPACING : min(nTargetSpacingWorkMax, (int64) STAKE_TARGET_SPACING * (1 + pindexLast->nHeight - pindexPrev->nHeight));
    int64 nInterval = nTargetTimespan / nTargetSpacing;
    bnNew *= ((nInterval - 1) * nTargetSpacing + nActualSpacing + nActualSpacing);
    bnNew /= ((nInterval + 1) * nTargetSpacing);

    if (bnNew > bnProofOfWorkLimit)
        bnNew = bnProofOfWorkLimit;

    return bnNew.GetCompact();

It's a little convoluted, help me out?

edit:  Even if you base it on a one week moving average, with 50% of the network running the script wouldn't you achieve a disproportionate increase in block reward per amount of work required to find a block?
2218  Alternate cryptocurrencies / Altcoin Discussion / TerraCoin (Not NovaCoin/PPCoin) exploit: difficulty/reward coaster on: February 25, 2013, 04:20:33 PM
Brief description of the exploit
Difficulty and reward adjust per block for NovaCoin and PPCoin (see main.cpp).  By mining every other block and having a large hash power (ideally as large as possible), difficulty may be kept low and reward may be kept high for the person with the high hash power.  This is because there is a maximum cap on difficulty change for each round.  The higher the hashing power, the more the exploiter benefits.

Code (Unix, python 2.7, Novacoin targeting)
Code:
from subprocess import Popen, PIPE, STDOUT
import time
import json

class Nova(object):
    def __init__(self, blocks):
        self.blocks = blocks

scan_time = 5

while(True):
    ### Get the initial block number from novacoind, store in output_j['blocks']
    cmd = './novacoind getinfo' ### Command for dumping info from novacoind in json format; we use this lots
    p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True) ### Execute command
    output = p.stdout.read() ### Read the stdout that output gives us
    output_j = json.loads(output) ### Convert from json to python values; we call block number using the class given above
    print("Current block is " + str(output_j['blocks']))

    if (output_j['blocks'] % 2 == 0): ### Block is even, mine NovaCoin
        print ("Even block, mining NVC...")

        novacoin_config = open('novamine.conf','r')
        card_config = open('cardconf.conf','r')
        configuration = open('litecoin.conf', 'w')

        ### Copy the reaper configuration to litecoin.conf for novacoin
        for line in novacoin_config:
            configuration.write(line)
        for line in card_config:
            configuration.write(line)

        novacoin_config.close()
        card_config.close()
        configuration.close()

        miner_cmd = './reaper' ### Command for your miner to mine NVC
        miner_thread = Popen(miner_cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)

        ### Loop below checks to see when block we're on, terminates miner if we are on an off number block
        while(True):
            p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
            output = p.stdout.read()
            output_j = json.loads(output)
            if not(output_j['blocks'] % 2 == 0):
                miner_thread.terminate()
                break
            else:
                print("Block still even, mining novacoin.")
                time.sleep(scan_time)

    else: ### Block is odd, mine something else
        print ("Odd block, mining another chain...")

        novacoin_config = open('elsemine.conf','r')
        card_config = open('cardconf.conf','r')
        configuration = open('litecoin.conf', 'w')

        ### Copy the reaper configuration to litecoin.conf for other chain
        for line in novacoin_config:
            configuration.write(line)
        for line in card_config:
            configuration.write(line)

        novacoin_config.close()
        card_config.close()
        configuration.close()

        miner_cmd = './reaper' ### Command for your miner to mine something else; the same here because we use reaper
        miner_thread = Popen(miner_cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)

        ### Loop below checks to see when block we're on, terminates miner if we are on an even number block
        while(True):
            p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
            output = p.stdout.read()
            output_j = json.loads(output)
            if (output_j['blocks'] % 2 == 0):
                miner_thread.terminate()
                break
            else:
                print("Block still odd, mining another chain.")
                time.sleep(scan_time)

Code (Windows, python 2.7, Novacoin targeting)
Code:
from subprocess import Popen, PIPE, STDOUT
import time
import json

class Nova(object):
    def __init__(self, blocks):
        self.blocks = blocks

scan_time = 5

while(True):
    ### Get the initial block number from novacoind, store in output_j['blocks']
    cmd = 'novacoind.exe getinfo' ### Command for dumping info from novacoind in json format; we use this lots
    p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True) ### Execute command
    output = p.stdout.read() ### Read the stdout that output gives us
    output_j = json.loads(output) ### Convert from json to python values; we call block number using the class given above
    print("Current block is " + str(output_j['blocks']))

    if (output_j['blocks'] % 2 == 0): ### Block is even, mine NovaCoin
        print ("Even block, mining NVC...")

        novacoin_config = open('novamine.conf','r')
        card_config = open('cardconf.conf','r')
        configuration = open('litecoin.conf', 'w')

        ### Copy the reaper configuration to litecoin.conf for novacoin
        for line in novacoin_config:
            configuration.write(line)
        for line in card_config:
            configuration.write(line)

        novacoin_config.close()
        card_config.close()
        configuration.close()

        miner_cmd = 'reaper.exe' ### Command for your miner to mine NVC
        miner_thread = Popen(miner_cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)

        ### Loop below checks to see when block we're on, terminates miner if we are on an off number block
        while(True):
            p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
            output = p.stdout.read()
            output_j = json.loads(output)
            if not(output_j['blocks'] % 2 == 0):
                miner_thread.terminate()
                break
            else:
                print("Block still even, mining novacoin.")
                time.sleep(scan_time)

    else: ### Block is odd, mine something else
        print ("Odd block, mining another chain...")

        novacoin_config = open('elsemine.conf','r')
        card_config = open('cardconf.conf','r')
        configuration = open('litecoin.conf', 'w')

        ### Copy the reaper configuration to litecoin.conf for other chain
        for line in novacoin_config:
            configuration.write(line)
        for line in card_config:
            configuration.write(line)

        novacoin_config.close()
        card_config.close()
        configuration.close()

        miner_cmd = 'reaper.exe' ### Command for your miner to mine something else; the same here because we use reaper
        miner_thread = Popen(miner_cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)

        ### Loop below checks to see when block we're on, terminates miner if we are on an even number block
        while(True):
            p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
            output = p.stdout.read()
            output_j = json.loads(output)
            if (output_j['blocks'] % 2 == 0):
                miner_thread.terminate()
                break
            else:
                print("Block still odd, mining another chain.")
                time.sleep(scan_time)

Requires the following files to exist:
novacoind (or ppcoind) executable that is running prior to executing the python code above
reaper executable
reaper.conf (configured as per normal)
novamine.conf:
Code:
host novacoinhost
port ????
user username
pass password
elsemine.conf (mines litecoin here, could be anything):
Code:
host litecoinhost
port ????
user username
pass password
cardconf.conf (configuration for scrypt):
Code:

protocol litecoin

worksize 256
vectors 1
aggression 20
threads_per_gpu 1
sharethreads 32
lookup_gap 2
gpu_thread_concurrency ####

Notes
- The exploit is made doubly beneficial by inducing both decreased difficulty and increased block reward for the attacker, as per NVC/PPCs algorithms for adjustment
- Solo miners with high hash rates especially benefit
- The attack is easily identified by watching the network block rate and difficulty/block reward
- The attack can be collusional; if lots of miners run it, it benefits all of them by giving them more coins for less electricity
- The attack should also work on round-based proportional pay-per-share pools
- The attack screws up PPS pools that are smaller than the attacker's hash power, because the pool will likely only get every other block
- Such an attack is avoidable by making retarget based on a larger span of blocks, hence why bitcoin chose two week retarget times
- The attack has previously been observed on the litecoin network, but is especially easy to implement here because of per-block retargeting
- To use cgminer, simply put 'cgminer --your_args' in the lines labeled: miner_cmd = 'whatever'
2219  Alternate cryptocurrencies / Mining (Altcoins) / Re: Cryptocoin Mining Information -- find the most profitable coin to mine! on: February 25, 2013, 03:50:08 AM
Not necessarily, or at least, you'd have to weight at least the last 50 blocks I would say (because maximum possible adjustments are small, I think around 1-2% per block).  The reason being that difficulty adjustments for the coin are erratic.  Plot it out yourself, they tend to average one direction or the other but bounce around due to a high dependence on variance influencing the next difficulty of the block.

The problem is compounded by the 520 block confirmation to even obtain the coins, so by the time you've confirmed the block it might be worth something else completely.  The NVC/PPC difficulty/reward adjustment algorithm lends itself to volatility.
2220  Alternate cryptocurrencies / Mining (Altcoins) / Re: Cryptocoin Mining Information -- find the most profitable coin to mine! on: February 25, 2013, 02:47:35 AM
Another issue is ppcoin's totally wacky per block adjustment algorithm.  Ideally, you shouldn't be checking what the current difficulty and reward are when doing the calculation but rather the amortized reward and difficulty for the last 520 or so blocks, with weighting toward the last blocks.
Pages: « 1 ... 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 [111] 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 ... 164 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!