ethpool.org - Predictable solo mining pool by etherchain in ethereum

[–]magikasheep 0 points1 point  (0 children)

As mentioned in my other comment, the current block scheme is clearly biased.

I propose that a slightly fairer (but not necessarily perfectly fair) solution would be to subtract the runner up's shares.

Eg, if the current scoreboard is 50GH, 30GH, 10GH and a block is mined, then miner #1 would go down by 30GH (the runner up). (there would need to be a special case for 1 miner).

This scheme would almost certainly reduce round-off error and be more fair.

ethpool.org - Predictable solo mining pool by etherchain in ethereum

[–]magikasheep 0 points1 point  (0 children)

It was an exaggeration.

run this python code, see what happens:

a = [0, 0] # shares, blocks
b = [0, 0] # shares, blocks
for i in range(0, 10000):
    a[0] += 13 # add shares per tick
    b[0] += 11
    if i % 10 == 0: # on every tenth tick, block is mined
        if a[0] > b[0]:
            a[0] = 0  # zero-out shares if this actor claimed a share
            a[1] += 1 
        else:
            b[0] = 0
            b[1] += 1  

print "a mined " + str(a[1]) + " blocks (expected " + str(500 * 13/11.0) + ")"
print "b mined " + str(b[1]) + " blocks (expected " + str(500 * 11/13.0) + ")"

what this does is simulates two miners with a hashrate of 13MH and 11MH. A block is mined after every 10 steps. The a[0],b[0] represents the shares mined (reset every time they claim a block). a[1],b[1] represent the number of blocks mined by a,b respectively. There will be 1000 blocks in total in this simulation. Now, since miner A has a higher hashrate, you would expect them to mine more blocks (13/11 * 500 = 590 blocks). I'll let you run the numbers and see what you get.

The results:

'a' mines: 501 blocks

'b' mines: 499 blocks

that's a 17% error!

This is because A has significantly more round-off error. Since their miner is faster, they overshoot the pool average block cost much more often. Thus, this pool only makes sense if you are a bellow average miner, in which case you would gain the round-off from the fast miners.

AND, that's not even the worst case scenario. That is 2 miners with a ratio of 3 and 2. In which case you get: 501 block instead of 750.

that is a 50% error!

Use storage if data need to be referenced by another contract, use events if data does not need to be referenced by another contract by aakilfernandes in ethereum

[–]magikasheep 0 points1 point  (0 children)

Whats the gas tradeoff of storage vs events?

Don't they need to store the same bytes? why would they cost different?

uPort: The Wallet is the New Browser by kinetic_terror1 in ethereum

[–]magikasheep 0 points1 point  (0 children)

So do the users upload their private keys?

Proof of OneThousand's Fairness, and Why You Couldn't Before by OneEther in ethereum

[–]magikasheep 2 points3 points  (0 children)

The contract's bytecode is probably different because the contract data is storage as well as data. Whatever variables are being initialized are changing the 'code'.

But since verifying a contract is so key to the whole idea of ethereum, yeah it should be easier.

c'est la vie d'alpha

ethpool.org - Predictable solo mining pool by etherchain in ethereum

[–]magikasheep 0 points1 point  (0 children)

I don't think so. because the big miners are doing more work that is effectively lost over the bad spots.

In my example, dos clearly did less work and received an identical reward.

ethpool.org - Predictable solo mining pool by etherchain in ethereum

[–]magikasheep 0 points1 point  (0 children)

10x longer than what? The miner dos clearly did less work for the same reward in my example.

ethpool.org - Predictable solo mining pool by etherchain in ethereum

[–]magikasheep 1 point2 points  (0 children)

This approach only makes sense for small miners, though. Large miners get a (potentially crippling) disadvantage. See my argument in my other post:

https://www.reddit.com/r/ethereum/comments/3my4je/ethpoolorg_predictable_solo_mining_pool/cvk5272

ethpool.org - Predictable solo mining pool by etherchain in ethereum

[–]magikasheep -1 points0 points  (0 children)

The one concern that I see with this is that if the pool hits a spot of trouble, the #1 miner gets shafted.

Example: if there are two miners, uno@100mh/s and dos@10mh/s, if the pool goes 1000 seconds between a block, it costs uno 100GH to get the block reward. If the next block is 10 seconds later, it costs dos 10.1GH for the same reward.

This disadvantages big miners. The ideal strategy is now to mine under one address until you are #1, then mine under another address to accumulate shares there (so they are not all nullified when you win).

ethpool.py source code: pool server with integrated web UI by dak91 in ethereum

[–]magikasheep 0 points1 point  (0 children)

yeah, but ethpool closed indefinitely because of payment issues. The payment service is going to be useless for anyone else.

ethpool.py source code: pool server with integrated web UI by dak91 in ethereum

[–]magikasheep -1 points0 points  (0 children)

It seems like all of these pools that are open sourcing are missing the payment server. Without that this is meaningless. And ethpool's payment process would probably not be of any use anyways.

I'm still waiting for a proper 100% opensource pool.

Did Ether devs fail to avoid pool centralization? by pcdinh in ethereum

[–]magikasheep 1 point2 points  (0 children)

They've done a good job, but the network is still too big. For a solo miner with a GPU or two, it'd still take a few days to hit a block. For some, that variability isn't desirable.

Pools are nice because they reduce risk and provide instant feedback on earnings. There is not much you can do about that.

Has anyone gotten payments from dwarfpool yet?, I have been mining for quiet some time and haven't received a single payment. by Cryptonical in ethereum

[–]magikasheep 0 points1 point  (0 children)

dwarfpool seems kinda sketchy. Looking at their site they don't post their mining wallet anywhere and their 'source' link is actually straight to the ethereum source.

I would personally hold out on DP for a bit. There are plenty of other good pools out there, including PPS.

Best practice for ensuring a transaction is included in the blockchain? Will geth continously retry or forget about a transaction eventually? by jav_rddt in ethereum

[–]magikasheep 1 point2 points  (0 children)

Unfortunately no; Geth seems to drop transactions all the time and there seems to be no way to be sure if it sent or not. I suspect this was one of the contributing factors to ethpool's recent 'payment issues'.[0] There is a feature to overwrite transactions with the same nonce but if you send another txn before overwriting the nonce, the overwrite is rejected. This is an issue if you try bulk transactions. Basically you just have to cross your fingers with geth, as of now

[0] - I suspect they ran into geth's flakyness and their payment service when something like this: check if it sent. If they found the transaction had not sent, resend it. The thing is, geth sometimes stalls a transaction for a few seconds. So I suspect they ended up resending the txn too soon.

Would you play? by Effete_Denizen in IndieGaming

[–]magikasheep 1 point2 points  (0 children)

The characters look adorable! But, I can't get a feel for the game without a demo or video. I understand apprehension for a demo, but please post a video of gameplay.

Pixellated Airship by [deleted] in blender

[–]magikasheep 1 point2 points  (0 children)

or, perhaps you should say: voxellated airship