coralreefer
|
|
October 08, 2016, 06:48:10 PM |
|
I finally got my version of a multi-threaded xel miner up and running. I'll post it to my github in a few days.
However, while building and testing this miner, I have become convinced that the approach we are taking just isn't viable. There just seem to be too many ways for miners to game the system while as I pointed out previously, the mining has a considerable amount of overhead which limits how much processing power can even work on the bounty solutions, which makes the system rather inefficient.
My suggestion at this point is that we should move to a standard POS/POW model where both POS & POW solve blocks. And that anyone who has created a custom work algorithm would be required to pay a fee per block when their work is active for accepting bounty solutions. This fee would go to the POW miner if they solve the block...and if they can't pay the feed, their work package is suspended until they can.
I realize that this also places a bunch of overhead on the miner that takes away from working on bounties; however, I can't see any real incentive for a miner to use the current approach as designed. And if xel can get a large group of miners working on bounty solutions then it doesn't really accomplish anything.
|
|
|
|
|
|
|
"This isn't the kind of software where we can leave so many unresolved bugs that we need a tracker for them." -- Satoshi
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
|
ttookk
|
|
October 08, 2016, 07:06:12 PM Last edit: October 08, 2016, 07:30:22 PM by ttookk |
|
I finally got my version of a multi-threaded xel miner up and running. I'll post it to my github in a few days.
However, while building and testing this miner, I have become convinced that the approach we are taking just isn't viable. There just seem to be too many ways for miners to game the system while as I pointed out previously, the mining has a considerable amount of overhead which limits how much processing power can even work on the bounty solutions, which makes the system rather inefficient.
My suggestion at this point is that we should move to a standard POS/POW model where both POS & POW solve blocks. And that anyone who has created a custom work algorithm would be required to pay a fee per block when their work is active for accepting bounty solutions. This fee would go to the POW miner if they solve the block...and if they can't pay the feed, their work package is suspended until they can.
I realize that this also places a bunch of overhead on the miner that takes away from working on bounties; however, I can't see any real incentive for a miner to use the current approach as designed. And if xel can get a large group of miners working on bounty solutions then it doesn't really accomplish anything.
Hard but honest words. I don't get half of it, unfortunately, but I thought about a related issue: The traditional PoW system is "hard to solve, easy to prove". However, depending on the particular job, this doesn't need to apply to elastic in the same sense, since some jobs don't need a lot of "random computation". Thus, to prove that a solution is actually correct, another miner would have to repeat a very power intensive computation. In the worst case, this would limit the kind of tasks you could use Elastic for to those similar to PoW functions. Am I wrong here? What would happen if I wanted to render a video using Elastic? Would that be a viable use case in the first place? I hate to say this, but I think having some kind of reputation system on the network would solve a lot of problems. Regarding possibilities how to implement it, look at my previous posts. looks great, imo you are missing one more block on each side (left and right) and in the middle round then it would be perfect. try it
Naah, it was more of a joke than anything else, I'm not gonna put much more effort into that one
|
|
|
|
coralreefer
|
|
October 08, 2016, 07:44:37 PM |
|
What would happen if I wanted to render a video using Elastic? Would that be a viable use case in the first place?
I hate to say this, but I think having some kind of reputation system on the network would solve a lot of problems. Regarding possibilities how to implement it, look at my previous posts.
Yes, I believe that would be a viable use case...I don't have any concerns about the bounty system as proposed. Also, I do like the idea of a reputation system; however, that doesn't solve the issues I'm seeing. To me the main issue is the potential for miners to exploit the system...and I don't mean attacking the system, I just simply mean creating custom miners that exploit weaknesses to maximize their rewards. Ultimately, we need to find a way to get people to want to mine xel and ensure them that dishonest miners don't get an unfair share of the rewards.
|
|
|
|
ttookk
|
|
October 08, 2016, 08:11:50 PM |
|
(…) I just simply mean creating custom miners that exploit weaknesses to maximize their rewards. (…)
I don't understand this part. What kind of rewards are we talking about here; regular PoW, bounties or what? Isn't it a good thing, if miners optimize the way they mine XEL, especially when we talk about mining it through bounties?
|
|
|
|
coralreefer
|
|
October 08, 2016, 08:19:48 PM |
|
(…) I just simply mean creating custom miners that exploit weaknesses to maximize their rewards. (…)
I don't understand this part. What kind of rewards are we talking about here; regular PoW, bounties or what? Isn't it a good thing, if miners optimize the way they mine XEL, especially when we talk about mining it through bounties? Maybe...depends on how people define the purpose of xel. I always thought it was about getting a group of miners to join resources to solve complex problems. However, under the current design, if I was going to mine xel (I don't have a mining rig, so I won't be), I would probably customize my miner to focus only on POW and ignore bounty calcs until I saw a scenario that I felt it was worth going after the bounty. So the miners can just chug along collecting POW rewards without doing any of the bounty work. If we can't convince people that all miners are working on the bounty calcs, why would anyone invest in renting our hashpower. Seems like they'd want some guarantee...but from the responses I've seen in earlier emails, I'm not sure this is the case. From what I've read the thought is that they will set bounties so high that it will ensure miners work on their project. I'm just not convinced as there are a lot of variables here to determine what is profitable to miners.
|
|
|
|
ttookk
|
|
October 08, 2016, 08:30:28 PM |
|
(…) I just simply mean creating custom miners that exploit weaknesses to maximize their rewards. (…)
I don't understand this part. What kind of rewards are we talking about here; regular PoW, bounties or what? Isn't it a good thing, if miners optimize the way they mine XEL, especially when we talk about mining it through bounties? Maybe...depends on how people define the purpose of xel. I always thought it was about getting a group of miners to join resources to solve complex problems. However, under the current design, if I was going to mine xel (I don't have a mining rig, so I won't be), I would probably customize my miner to focus only on POW and ignore bounty calcs until I saw a scenario that I felt it was worth going after the bounty. So the miners can just chug along collecting POW rewards without doing any of the bounty work. If we can't convince people that all miners are working on the bounty calcs, why would anyone invest in renting our hashpower. Seems like they'd want some guarantee...but from the responses I've seen in earlier emails, I'm not sure this is the case. From what I've read the thought is that they will set bounties so high that it will ensure miners work on their project. I'm just not convinced as there are a lot of variables here to determine what is profitable to miners. Alright, I think I got it. Yeah, that sounds like a problem… Hmm, what if we got rid of "regular" PoW and used pure PoS as a "regular" Proof-of system? That would probably make a lot of work until now useless…
|
|
|
|
cryptodv
|
|
October 08, 2016, 08:48:58 PM |
|
@Lannister I sent you a bitmsg, when you get a chance please respond. Thanks!
|
|
|
|
Evil-Knievel
Legendary
Offline
Activity: 1260
Merit: 1168
|
|
October 09, 2016, 07:53:29 AM |
|
What would happen if I wanted to render a video using Elastic? Would that be a viable use case in the first place?
I hate to say this, but I think having some kind of reputation system on the network would solve a lot of problems. Regarding possibilities how to implement it, look at my previous posts.
Yes, I believe that would be a viable use case...I don't have any concerns about the bounty system as proposed. Also, I do like the idea of a reputation system; however, that doesn't solve the issues I'm seeing. To me the main issue is the potential for miners to exploit the system...and I don't mean attacking the system, I just simply mean creating custom miners that exploit weaknesses to maximize their rewards. Ultimately, we need to find a way to get people to want to mine xel and ensure them that dishonest miners don't get an unfair share of the rewards. Well in my eyes, this should be not a big problem. In all crypto currencies that I have seen so far people start developing faster and better miners. Luckily most of these solutions end up open source, which is why everyone can get the benefit of an alternative miner. So I wouldn't call it "dishonest". Hard but honest words. I don't get half of it, unfortunately, but I thought about a related issue: The traditional PoW system is "hard to solve, easy to prove". However, depending on the particular job, this doesn't need to apply to elastic in the same sense, since some jobs don't need a lot of "random computation". Thus, to prove that a solution is actually correct, another miner would have to repeat a very power intensive computation. In the worst case, this would limit the kind of tasks you could use Elastic for to those similar to PoW functions.
Am I wrong here?
Maybe a little ;-) The job functions are particulary easy to calculate, we even have a WCET (worst case execution time) limit for them. So one execution of such function is very quick. A miner has to execute this functions hundreds of thousands of times, if not millions, with different random input values until he either finds a bounty or a viable PoW solution. All the "trial and errors" are of course not verified, just the one execution with the correct inputs. Maybe...depends on how people define the purpose of xel. I always thought it was about getting a group of miners to join resources to solve complex problems. However, under the current design, if I was going to mine xel (I don't have a mining rig, so I won't be), I would probably customize my miner to focus only on POW and ignore bounty calcs until I saw a scenario that I felt it was worth going after the bounty. So the miners can just chug along collecting POW rewards without doing any of the bounty work.
If we can't convince people that all miners are working on the bounty calcs, why would anyone invest in renting our hashpower. Seems like they'd want some guarantee...but from the responses I've seen in earlier emails, I'm not sure this is the case. From what I've read the thought is that they will set bounties so high that it will ensure miners work on their project. I'm just not convinced as there are a lot of variables here to determine what is profitable to miners.
We can discuss on this point a bit more if you like. This is the exact reason why we have the bounty fund, and we have different payouts for proof of work and proof of bounty. After all, the search for a bounty and the search for a POW share the same code, i.e., are performed paralelly at the same time. The only thing that differs for the bounty search is the last line of code, the verify statement. If you have gone the entire way until the end of the program, checking for the bounty is not a big deal anymore. Sure you could drop the last check if you only want to go for the PoW, but from the logical point of view it would be stupid not to perform the execution of the last line of code, if there is an interesting bounty waiting to be claimed. Otherwise, if the bounty reward is close to zero, nobody would bother about executing the last line of code! The system right now sort of works in a way that it allows the work author for attaching bounty-rewards, which then encourage the miners to execute the full N lines of code of a program, instead of just N-1.
|
|
|
|
Evil-Knievel
Legendary
Offline
Activity: 1260
Merit: 1168
|
|
October 09, 2016, 07:57:46 AM |
|
I think we could be ready to hard-fork the testnet tomorrow (the protocol with the bounty announcement deposit fees, see current development branch on GitHub), what do you think?
|
|
|
|
coralreefer
|
|
October 09, 2016, 12:49:10 PM |
|
I think we could be ready to hard-fork the testnet tomorrow (the protocol with the bounty announcement deposit fees, see current development branch on GitHub), what do you think?
I think this would be a good idea. I think the new design is far more robust than the current one, so it would be great to work with that one to test if these mining scenarios I've been thinking of are even possible.
|
|
|
|
provenceday
Legendary
Offline
Activity: 1148
Merit: 1000
|
|
October 09, 2016, 01:45:41 PM |
|
I think we could be ready to hard-fork the testnet tomorrow (the protocol with the bounty announcement deposit fees, see current development branch on GitHub), what do you think?
up for 1
|
|
|
|
Evil-Knievel
Legendary
Offline
Activity: 1260
Merit: 1168
|
|
October 10, 2016, 04:54:16 PM |
|
I think we could be ready to hard-fork the testnet tomorrow (the protocol with the bounty announcement deposit fees, see current development branch on GitHub), what do you think?
up for 1 Migration started (TESTNET was completely reset, you need to update and entirely delete the old nxt_test_db/ folder). Problem: the miner is awfully slow at the moment, will fix this tonight!!
|
|
|
|
|
coralreefer
|
|
October 10, 2016, 06:00:49 PM |
|
Please send some test xel to XEL-8DES-WHKN-M6SZ-8JRP5
|
|
|
|
provenceday
Legendary
Offline
Activity: 1148
Merit: 1000
|
|
October 10, 2016, 07:30:06 PM |
|
I think we could be ready to hard-fork the testnet tomorrow (the protocol with the bounty announcement deposit fees, see current development branch on GitHub), what do you think?
up for 1 Migration started (TESTNET was completely reset, you need to update and entirely delete the old nxt_test_db/ folder). Problem: the miner is awfully slow at the moment, will fix this tonight!!
will test it out later, thank you for the hardwork. also do we have a short summary about the difference on elastic and golem project?
|
|
|
|
|
13Darko
|
|
October 10, 2016, 09:13:45 PM Last edit: October 12, 2016, 10:41:08 PM by 13Darko |
|
Elastic Compared to Other Competitors
Ethereum Gridcoin Zennet Voltcoin Golem TAU-Chain
Though CureCoin or FoldingCoin are not real competitors, they can also extend this nice looking list
|
|
|
|
Lannister (OP)
Full Member
Offline
Activity: 140
Merit: 500
I'm blocking all private messages. Use Bitmessage!
|
|
October 11, 2016, 09:15:41 AM |
|
The OP has been updated with the current website.
|
No, I will not disclose my real name on the Internet. The very simple reason I’m anonymous is so that I can talk freely about a free web. One mistake people often make is having the faulty assumption that knowing my real name or my association with a respected person, group or organization might get them to trust me more. In fact, I have no authority here. Elastic Project is a loosely associated group of developers which constantly changes over time. If you prefer projects with a more centralized structure, then please move on. Specifically, I kindly ask you to refrain from any messages that try to convince me of the contrary. My time is too valuable to be wasted with the same discussion again and again.
|
|
|
unvoid
|
|
October 11, 2016, 10:53:53 AM |
|
Sorry guys I'm little of the road for last weeks but I'm in a process of changing my daily job (interviews, city/apartments searching etc). I'm trying to drop by once per day just to be informed what's happening with Elastic. Very nice to see @Lannister in action! @ttookk thanks for your big involvement. If you need something specific from me please send me PM (I'll get email notif). EDIT: Please drop some XEL to this address just to faucet be able to work. I'll try later this day change faucet payout to 100,000 XEL-7UTR-VYZY-ZUZZ-DTJJ5 EDIT: Faucet URL: http://elasticexplorer.org/faucet/
|
BTC: 1CMgHWx4wkAaAy2FfeCyPdedUExmhGhfi5 XEL: XEL-HCM8-KB6E-YFLK-8BWMF
|
|
|
ttookk
|
|
October 11, 2016, 11:15:48 AM |
|
(…)
@ttookk thanks for your big involvement.
If you need something specific from me please send me PM (I'll get email notif).
(…)
Nice to see you're back I'm not a technical person, so I wouldn't even know where to begin to ask for anything specific So I'll spin it around: If you guys need graphics, e.g. for a certain scenario, feel free to ask, I'll do my best.
|
|
|
|
|