digitalindustry
|
|
August 08, 2014, 03:11:46 PM |
|
I have a question it doesn't directly relate to the topic but more to vPoW- let me give you a scenario - :
is there an attack vector that exists here:
lets say we have for example 3 "algos"
1. Xa
2. Xb
3. Xc
now (in this world) - there is a beautiful community developed CPU and GPU miner for both
what this miner does is it can mine each of the 3 and choose the lowest diff of each -
is there a potential attack vector where the miner can "game" the next block i.e by jumping form aglo to aglo -
so exploited some how the way in which the next block is determined?
sorry for the newb question.
what i'm asking is:
what is the mechanism that determines the next block is it really random?
None, the block hash is generated and can be solved by any of the algos. It's just a matter of difficulty vs hash power. So then couldn't a group of miners devote hash power to the algorithm with the lowest difficulty? or does it become where the sheer number of different altcoins it can be mined with should make that unachievable? Lets assume that a mining pool of groups of mining pools have a lot of hashpower in different algorithms and can switch their hashpower to the algorithms of the lowest difficulty like the reverse polarity of the Myriad Blockchain itself to achieve maximum profit. How would the different algorithms prevent such an attack? This is a good project and important for all altcoins so I am trying to get my head around how this can be implemented on a large scale. Right now Myriad has a chicken and egg problem: Our hashrate is not incredibly high, but once we gain hashrate through PolyMYR and Simplicity we should have continuous long lasting high network hashrates that should make it increasingly harder to attack individual algorithms. Furthermore, we have discussed some interesting mechanisms to prevent algorithms from solving multiple blocks in a row. One solution might be to temporarily raise the difficulty on one algorithm if it finds two blocks in a row. The difficulty would rise exponentially if they found 3, 4, 5 blocks in a row. So even if an attacker is trying to form 5-6 blocks in a row and then insert them into the blockchain, the exponentially rising difficulty would prevent them from ever getting to that 5th or 6th block in a reasonable timespan. hmm very interesting - i like it ! but wait - what i meant was actually the miner - the software (for the pool users) can effectively switch to the lowest diff, so let me try to give an example: {A < finds one bock {B The Hash {C (this is now lowest diff) < switches to this algo to find block driving up Diff {D {E So "The hash" can go to any of the algos right? is there a way to game that? BTW when I meant "peer" review yes i meant try it until it breaks.
|
- Twitter @Kolin_Quark
|
|
|
neuroMode (OP)
|
|
August 08, 2014, 09:30:46 PM |
|
I have a question it doesn't directly relate to the topic but more to vPoW- let me give you a scenario - :
is there an attack vector that exists here:
lets say we have for example 3 "algos"
1. Xa
2. Xb
3. Xc
now (in this world) - there is a beautiful community developed CPU and GPU miner for both
what this miner does is it can mine each of the 3 and choose the lowest diff of each -
is there a potential attack vector where the miner can "game" the next block i.e by jumping form aglo to aglo -
so exploited some how the way in which the next block is determined?
sorry for the newb question.
what i'm asking is:
what is the mechanism that determines the next block is it really random?
None, the block hash is generated and can be solved by any of the algos. It's just a matter of difficulty vs hash power. So then couldn't a group of miners devote hash power to the algorithm with the lowest difficulty? or does it become where the sheer number of different altcoins it can be mined with should make that unachievable? Lets assume that a mining pool of groups of mining pools have a lot of hashpower in different algorithms and can switch their hashpower to the algorithms of the lowest difficulty like the reverse polarity of the Myriad Blockchain itself to achieve maximum profit. How would the different algorithms prevent such an attack? This is a good project and important for all altcoins so I am trying to get my head around how this can be implemented on a large scale. Right now Myriad has a chicken and egg problem: Our hashrate is not incredibly high, but once we gain hashrate through PolyMYR and Simplicity we should have continuous long lasting high network hashrates that should make it increasingly harder to attack individual algorithms. Furthermore, we have discussed some interesting mechanisms to prevent algorithms from solving multiple blocks in a row. One solution might be to temporarily raise the difficulty on one algorithm if it finds two blocks in a row. The difficulty would rise exponentially if they found 3, 4, 5 blocks in a row. So even if an attacker is trying to form 5-6 blocks in a row and then insert them into the blockchain, the exponentially rising difficulty would prevent them from ever getting to that 5th or 6th block in a reasonable timespan. hmm very interesting - i like it ! but wait - what i meant was actually the miner - the software (for the pool users) can effectively switch to the lowest diff, so let me try to give an example: {A < finds one bock {B The Hash {C (this is now lowest diff) < switches to this algo to find block driving up Diff {D {E So "The hash" can go to any of the algos right? is there a way to game that? BTW when I meant "peer" review yes i meant try it until it breaks. So you are saying the MINER in question solves a block on Algorithm A, then immediately scans which algorithms have the lowest difficulty and hops to that algorithm and helps find a block there, then scans for lowest difficulty and hops to that algorithm (or stays at current one if it is lowest), and so on and so forth? If the MINER was a normal miner, it would not make much difference. If it was a MULTIPOOL, they would likely stay on that same algorithm for longer than one block but I'm sure they could choose to configure their software to "jump" after each block. This would only be an issue while we still have low difficulty but once we grow large enough it becomes harder and harder for a single pool to make a huge difference. However, I have always longed for some sophisticated blockchain analysis on Myriad. Having 5 algorithms makes it a data lovers dream. You can investigate the dynamics all 5 algorithms have on the blocks being found, including how many blocks in a row some algorithms find and how much was luck or how much was from a multi-pool hopping on and rapidly finding blocks before the difficulty catches up (I believe we have a 10-block memory kernel for the difficulty algorithm). Blockchain.info --> Myriadchain.info. The Myriadchain.info would have so much more fun data to visualize!
|
|
|
|
neuroMode (OP)
|
|
August 08, 2014, 09:31:35 PM |
|
BTW, a slightly improved visualization:
|
|
|
|
Crestington
Legendary
Offline
Activity: 882
Merit: 1024
|
|
August 08, 2014, 09:33:24 PM |
|
I have a question it doesn't directly relate to the topic but more to vPoW- let me give you a scenario - :
is there an attack vector that exists here:
lets say we have for example 3 "algos"
1. Xa
2. Xb
3. Xc
now (in this world) - there is a beautiful community developed CPU and GPU miner for both
what this miner does is it can mine each of the 3 and choose the lowest diff of each -
is there a potential attack vector where the miner can "game" the next block i.e by jumping form aglo to aglo -
so exploited some how the way in which the next block is determined?
sorry for the newb question.
what i'm asking is:
what is the mechanism that determines the next block is it really random?
None, the block hash is generated and can be solved by any of the algos. It's just a matter of difficulty vs hash power. So then couldn't a group of miners devote hash power to the algorithm with the lowest difficulty? or does it become where the sheer number of different altcoins it can be mined with should make that unachievable? Lets assume that a mining pool of groups of mining pools have a lot of hashpower in different algorithms and can switch their hashpower to the algorithms of the lowest difficulty like the reverse polarity of the Myriad Blockchain itself to achieve maximum profit. How would the different algorithms prevent such an attack? This is a good project and important for all altcoins so I am trying to get my head around how this can be implemented on a large scale. Right now Myriad has a chicken and egg problem: Our hashrate is not incredibly high, but once we gain hashrate through PolyMYR and Simplicity we should have continuous long lasting high network hashrates that should make it increasingly harder to attack individual algorithms. Furthermore, we have discussed some interesting mechanisms to prevent algorithms from solving multiple blocks in a row. One solution might be to temporarily raise the difficulty on one algorithm if it finds two blocks in a row. The difficulty would rise exponentially if they found 3, 4, 5 blocks in a row. So even if an attacker is trying to form 5-6 blocks in a row and then insert them into the blockchain, the exponentially rising difficulty would prevent them from ever getting to that 5th or 6th block in a reasonable timespan. hmm very interesting - i like it ! but wait - what i meant was actually the miner - the software (for the pool users) can effectively switch to the lowest diff, so let me try to give an example: {A < finds one bock {B The Hash {C (this is now lowest diff) < switches to this algo to find block driving up Diff {D {E So "The hash" can go to any of the algos right? is there a way to game that? BTW when I meant "peer" review yes i meant try it until it breaks. Same thing I asked as well but in a different context. I think what he means is that it is still in quite of an experimental state for also balancing out difficulties at low adoption. With a large amount of altcoins mining on the different algorithms they can also adjust their own values and difficulties to protect against sudden spikes and attacks. I assume that Myriadcoin wants to be a type of central hub that connects all the hashpower of the Altcoins and then relays and adjusts difficulty/smoothing over a very large amount of algorithms so that in order to 51% attack you need more hashpower than all the Altcoins combined versus one network. More or less, still a lot of work to do
|
|
|
|
neuroMode (OP)
|
|
August 08, 2014, 10:13:21 PM |
|
I have a question it doesn't directly relate to the topic but more to vPoW- let me give you a scenario - :
is there an attack vector that exists here:
lets say we have for example 3 "algos"
1. Xa
2. Xb
3. Xc
now (in this world) - there is a beautiful community developed CPU and GPU miner for both
what this miner does is it can mine each of the 3 and choose the lowest diff of each -
is there a potential attack vector where the miner can "game" the next block i.e by jumping form aglo to aglo -
so exploited some how the way in which the next block is determined?
sorry for the newb question.
what i'm asking is:
what is the mechanism that determines the next block is it really random?
None, the block hash is generated and can be solved by any of the algos. It's just a matter of difficulty vs hash power. So then couldn't a group of miners devote hash power to the algorithm with the lowest difficulty? or does it become where the sheer number of different altcoins it can be mined with should make that unachievable? Lets assume that a mining pool of groups of mining pools have a lot of hashpower in different algorithms and can switch their hashpower to the algorithms of the lowest difficulty like the reverse polarity of the Myriad Blockchain itself to achieve maximum profit. How would the different algorithms prevent such an attack? This is a good project and important for all altcoins so I am trying to get my head around how this can be implemented on a large scale. Right now Myriad has a chicken and egg problem: Our hashrate is not incredibly high, but once we gain hashrate through PolyMYR and Simplicity we should have continuous long lasting high network hashrates that should make it increasingly harder to attack individual algorithms. Furthermore, we have discussed some interesting mechanisms to prevent algorithms from solving multiple blocks in a row. One solution might be to temporarily raise the difficulty on one algorithm if it finds two blocks in a row. The difficulty would rise exponentially if they found 3, 4, 5 blocks in a row. So even if an attacker is trying to form 5-6 blocks in a row and then insert them into the blockchain, the exponentially rising difficulty would prevent them from ever getting to that 5th or 6th block in a reasonable timespan. hmm very interesting - i like it ! but wait - what i meant was actually the miner - the software (for the pool users) can effectively switch to the lowest diff, so let me try to give an example: {A < finds one bock {B The Hash {C (this is now lowest diff) < switches to this algo to find block driving up Diff {D {E So "The hash" can go to any of the algos right? is there a way to game that? BTW when I meant "peer" review yes i meant try it until it breaks. Same thing I asked as well but in a different context. I think what he means is that it is still in quite of an experimental state for also balancing out difficulties at low adoption. With a large amount of altcoins mining on the different algorithms they can also adjust their own values and difficulties to protect against sudden spikes and attacks. I assume that Myriadcoin wants to be a type of central hub that connects all the hashpower of the Altcoins and then relays and adjusts difficulty/smoothing over a very large amount of algorithms so that in order to 51% attack you need more hashpower than all the Altcoins combined versus one network. More or less, still a lot of work to do More or less, yes. Definitely lots of work to do, including overcoming those who still don't really "see" the nice implications of a multi-PoW blockchain. Also, being a "central" hub is nice, but it's an optional hub (i.e. I don't like the word centralized).
|
|
|
|
digitalindustry
|
|
August 09, 2014, 02:35:09 AM |
|
Yep basically that's what i was saying - i'm just saying it opens the possibility of not just "pool hopping" but Algo hopping.
for me difficulty is immaterial, its non important - i don't care about "fair" i care about if there is a way to game it.
iff difficulty is low that means not many people are mining that algo - that's not a problem, but if there is a way to "algo hop" and game the multi algo then that scales up at high or low difficulty .
i'm not contesting there is - i'm just asking the question .
|
- Twitter @Kolin_Quark
|
|
|
neuroMode (OP)
|
|
August 09, 2014, 03:26:17 AM |
|
Yep basically that's what i was saying - i'm just saying it opens the possibility of not just "pool hopping" but Algo hopping.
for me difficulty is immaterial, its non important - i don't care about "fair" i care about if there is a way to game it.
iff difficulty is low that means not many people are mining that algo - that's not a problem, but if there is a way to "algo hop" and game the multi algo then that scales up at high or low difficulty .
i'm not contesting there is - i'm just asking the question .
Well, it's funny--we created a "Myriad Switcher" that allows people to mine the most profitable algorithm. Myriad has 5 algos, 4 of which are GPU-minable. So people load their 4 algorithm configuration settings and can plug it their watts/hash and a few other tunable variables and essentailly mine the most profitable algorithm. It creates a funny image in my head...a bunch of Myriad octopuses with their tentacles constantly in flux as the difficulties fluctuate across each algorithm. This is the furthest extent of "algo hopping" we have seen--and we were the ones to create that feature. We sense it would help balance the algorithms out.
|
|
|
|
digitalindustry
|
|
August 09, 2014, 06:38:32 AM |
|
Yep basically that's what i was saying - i'm just saying it opens the possibility of not just "pool hopping" but Algo hopping.
for me difficulty is immaterial, its non important - i don't care about "fair" i care about if there is a way to game it.
iff difficulty is low that means not many people are mining that algo - that's not a problem, but if there is a way to "algo hop" and game the multi algo then that scales up at high or low difficulty .
i'm not contesting there is - i'm just asking the question .
Well, it's funny--we created a "Myriad Switcher" that allows people to mine the most profitable algorithm. Myriad has 5 algos, 4 of which are GPU-minable. So people load their 4 algorithm configuration settings and can plug it their watts/hash and a few other tunable variables and essentailly mine the most profitable algorithm. It creates a funny image in my head...a bunch of Myriad octopuses with their tentacles constantly in flux as the difficulties fluctuate across each algorithm. This is the furthest extent of "algo hopping" we have seen--and we were the ones to create that feature. We sense it would help balance the algorithms out. 100% agree - its the first thing that would be built into a miner by the market, the only point i focus towards is> The multi independent diff is a whole new protocol essentially a whole new effect, with a new protocol comes new significant changed vectors of course , so I mean specifically at that point there > the "what algo gets the next block" point. could there be a flaw? of course you said you do not Code i don't either -: - A single linear Algo hash its just a race to the finish of the right height correct? - Multi Algo (Quark SIF) - its any of the algos can get that height right? X - independent Diff on multi Algos and something fundamental has changed what decides who gets the block? so i guess its some "diff score parameter" otherwise why wouldn't just the SHA256 solve all the blocks - as it would away have the highest "hash number" so if its just "Hash score votes" like a linear system i can't see how that works the highest hash would just solve all the blocks. In the statement back at the Myriad ANN it says something like: "Each algo has a roughly equal chance to solve the block" i'm saying: How? prove it, and then explain it so reasonably intelligent people could understand ( leaving out vast swaths of the human population)
|
- Twitter @Kolin_Quark
|
|
|
MaxDZ8
|
|
August 09, 2014, 09:07:03 AM |
|
How? prove it, and then explain it so reasonably intelligent people could understand ( leaving out vast swaths of the human population) Even reasonably intelligent people cannot understand cryptography. So, there's no proving it, we can have an idea. Here's my understanding. When your miner connects to the network it builds an initial merkle root by hashing block data + miner data. I know at GetWork level this hash is built to be unique albeit I have only focused on stratum. When scanning for nonces, we look for partial collisions on the hash obtained by a function of this merkle root. If we all start from the same initial state, then the fastest miner always wins at solving the block deterministically, minus the non-determinism involved in network propagation. So what you have is a form of time-shifting somehow where the initial hash somehow shifts your results. Your (nonce, nonce2) still goes on as usual (stratum parlance) but due to the different bits in the initial hash this is effectively transformed in a non-linear space. Now, some coins/algos produce this initial hash, but let's assume this is not an issue and we just use SHA256D. What we obtain is a sequence of garbage numbers. We append a nonce to those numbers and go hashing. Now, for all purposes, an hash function is a highly nonlinear deterministic function which we can consider opaque. The output is an hash. We consider the nonce candidate to sending if it counts at least D leading/trailing bits. Now, given a 80-byte hash Hi you can be about 99.999999...% sure of the following Algo1(Hi) != Algo2(Hi) != ... != AlgoN(Hi)It is also very there will be at most one golden nonce in the above results and usually much less. Different algorithms map our input space nonlinearly in a different way but this isn't consistently different from just using a different initial merkle. Even more so because the merkle is nonlinear in itself. So honestly I don't know from where your concern is stemming. It seems to me everything is just an extension of the PoW concept.When it comes to putting multiple algos in the same chain, the obvious point is ensuring their diff is adjusted accordingly, which is what the MYR team is doing. Truth to be told the numbers so far seem to support the system is working with minor deviations from expected results. Which is unsurprising to me.
|
|
|
|
digitalindustry
|
|
August 09, 2014, 10:32:04 AM |
|
How? prove it, and then explain it so reasonably intelligent people could understand ( leaving out vast swaths of the human population) Even reasonably intelligent people cannot understand cryptography. So, there's no proving it, we can have an idea. Here's my understanding. When your miner connects to the network it builds an initial merkle root by hashing block data + miner data. I know at GetWork level this hash is built to be unique albeit I have only focused on stratum. When scanning for nonces, we look for partial collisions on the hash obtained by a function of this merkle root. If we all start from the same initial state, then the fastest miner always wins at solving the block deterministically, minus the non-determinism involved in network propagation. So what you have is a form of time-shifting somehow where the initial hash somehow shifts your results. Your (nonce, nonce2) still goes on as usual (stratum parlance) but due to the different bits in the initial hash this is effectively transformed in a non-linear space. Now, some coins/algos produce this initial hash, but let's assume this is not an issue and we just use SHA256D. What we obtain is a sequence of garbage numbers. We append a nonce to those numbers and go hashing. Now, for all purposes, an hash function is a highly nonlinear deterministic function which we can consider opaque. The output is an hash. We consider the nonce candidate to sending if it counts at least D leading/trailing bits. Now, given a 80-byte hash Hi you can be about 99.999999...% sure of the following Algo1(Hi) != Algo2(Hi) != ... != AlgoN(Hi)It is also very there will be at most one golden nonce in the above results and usually much less. Different algorithms map our input space nonlinearly in a different way but this isn't consistently different from just using a different initial merkle. Even more so because the merkle is nonlinear in itself. So honestly I don't know from where your concern is stemming. It seems to me everything is just an extension of the PoW concept.When it comes to putting multiple algos in the same chain, the obvious point is ensuring their diff is adjusted accordingly, which is what the MYR team is doing. Truth to be told the numbers so far seem to support the system is working with minor deviations from expected results. Which is unsurprising to me. thanks for the answer - i have no concern i have nothing at stake, but i'm just asking the questions. The solution is probably in your answer; as testing will reveal where the blocks are found and as previously stated it's a data tracking dream in a sense. so by tracking the diff of each algo and who got what blocks, id say that will give a good reasonable response, to see if it is working as needed. also the continual block diff escalation is interesting, when you think about it very very interesting.
|
- Twitter @Kolin_Quark
|
|
|
neuroMode (OP)
|
|
August 09, 2014, 09:17:54 PM |
|
How? prove it, and then explain it so reasonably intelligent people could understand ( leaving out vast swaths of the human population) Even reasonably intelligent people cannot understand cryptography. So, there's no proving it, we can have an idea. Here's my understanding. When your miner connects to the network it builds an initial merkle root by hashing block data + miner data. I know at GetWork level this hash is built to be unique albeit I have only focused on stratum. When scanning for nonces, we look for partial collisions on the hash obtained by a function of this merkle root. If we all start from the same initial state, then the fastest miner always wins at solving the block deterministically, minus the non-determinism involved in network propagation. So what you have is a form of time-shifting somehow where the initial hash somehow shifts your results. Your (nonce, nonce2) still goes on as usual (stratum parlance) but due to the different bits in the initial hash this is effectively transformed in a non-linear space. Now, some coins/algos produce this initial hash, but let's assume this is not an issue and we just use SHA256D. What we obtain is a sequence of garbage numbers. We append a nonce to those numbers and go hashing. Now, for all purposes, an hash function is a highly nonlinear deterministic function which we can consider opaque. The output is an hash. We consider the nonce candidate to sending if it counts at least D leading/trailing bits. Now, given a 80-byte hash Hi you can be about 99.999999...% sure of the following Algo1(Hi) != Algo2(Hi) != ... != AlgoN(Hi)It is also very there will be at most one golden nonce in the above results and usually much less. Different algorithms map our input space nonlinearly in a different way but this isn't consistently different from just using a different initial merkle. Even more so because the merkle is nonlinear in itself. So honestly I don't know from where your concern is stemming. It seems to me everything is just an extension of the PoW concept.When it comes to putting multiple algos in the same chain, the obvious point is ensuring their diff is adjusted accordingly, which is what the MYR team is doing. Truth to be told the numbers so far seem to support the system is working with minor deviations from expected results. Which is unsurprising to me. thanks for the answer - i have no concern i have nothing at stake, but i'm just asking the questions. The solution is probably in your answer; as testing will reveal where the blocks are found and as previously stated it's a data tracking dream in a sense. so by tracking the diff of each algo and who got what blocks, id say that will give a good reasonable response, to see if it is working as needed. also the continual block diff escalation is interesting, when you think about it very very interesting. How dare you use the word "stake" in a PoW thread! Yes...data analysis on Myriadcoin's blockchain would be like Blockchain.info on steroids. Someone will do it
|
|
|
|
|