NEM Technical Reference - Feedback Thread

If you have any comments or questions with regards to the NEM Technical Reference, please post them here.

Thank you.

https://drive.google.com/file/d/0B7wAe2jt1MMzYVJhUUFnMHQxZ1U/view?usp=sharing

This is a quote from a Bitcoin related telegram group chat:

[quote=jerryd_SKMdo]
I didn't waste time on the prelude part. Jumped straight to chapter 5-6-7

Well. I have to say. It's a system of too many unexplained "magic numbers" and unproven assumptions.

Yeah, I'm being as objective as I can. Structural questions arise such as, how can you trust your nodes (even with Eigentrust) during a fork? ( which incidentally can extend up to 360 blocks!)

And what about nodes that tell you the truth 99/100 times just so that they can set you up to lie to you big that one time.

PoI seems marginally better than a PoS. in terms of rich not getting richer as fast but that may just be due to some of the magic tuning numbers in one of the myriad of equations

And the fact that if any of the magic tuning numbers need to be tweaked (which I guarantee will need to happen about as much or more than the Fed needs to change monetary policy, as the system literally is a tuned system to run on magic numbers)

Each tune will need a hard fork to happen

It's bound to fail

Good luck trying to tune something that would put the dominant 50% more important accounts at a disadvantage. It would be like trying to enforce communism without the army

They will just ignore fork and because they have the most importance they will have the better chain

And finally what does "better" chain even mean? The document does not explain that at all (or it was in chapter 1-4)

That's all I got. I won't bother asking the obvious first level questions of "why this magic number is used, 1440, 10000, in various equations" because I know the answer is that they were
Likely picked to achieve some feature or other the most "ideal" according to some ideology of equal distribution. It's a tuned system, like an optimization problem, solved statically, to perform the best given the current (test) environment.

I have serious doubts that it will work in a real dynamic system like the real world

But I do recognize that a heck of a lot of work has been put into solving these complex problems, unfortunately with static inflexible solutions patched together. It's like the "Fed" model of money policy. Numbers and stats and facts in, crunch numbers, run simulations, get optimal parameters, out pops policy for the next 3 years.

Until it starts breaking after 1, so you run more numbers and change more parameters. Rinse repeat.

Well they do have some interesting idea about having a trust protocol running between nodes. But I don't think its needed as we we can solve that better by somehow incentivizing the running of nodes via fees

[quote=jerryd_SKMdo]
Well. I have to say. It's a system of too many unexplained "magic numbers" and unproven assumptions.


Magic number's he's talking about are 1440 you all know what it is, and 10000 which is the limit for harvesting.
(I won't comment on that).

[quote=jerryd_SKMdo]
Yeah, I'm being as objective as I can. Structural questions arise such as, how can you trust your nodes (even with Eigentrust) during a fork? ( which incidentally can extend up to 360 blocks!)
And what about nodes that tell you the truth 99/100 times just so that they can set you up to lie to you big that one time.

It's not about trusting node during a fork, the main question is WHY do you trust ANY node.

That's what eigentrust is about, you want to minimize communication with dishonest nodes. Fork resolution is a completely different matter.

[quote=jerryd_SKMdo]
PoI seems marginally better than a PoS. in terms of rich not getting richer as fast but that may just be due to some of the magic tuning numbers in one of the myriad of equations

And the fact that if any of the magic tuning numbers need to be tweaked (which I guarantee will need to happen about as much or more than the Fed needs to change monetary policy, as the system literally is a tuned system to run on magic numbers)


They don't and they most likely won't. Numbers in PoI were selected, by running PoI on whole exisiting bitcoin blockchain.

[quote=jerryd_SKMdo]
Each tune will need a hard fork to happen
It's bound to fail


Yeah, cause hard forks never happened it crypto currencies (bitcoin included)…
(and again, we're NOT planning any tuning).

[quote=jerryd_SKMdo]
Good luck trying to tune something that would put the dominant 50% more important accounts at a disadvantage. It would be like trying to enforce communism without the army
They will just ignore fork and because they have the most importance they will have the better chain


Hard fork is a democracy at its best. Either most of the users follow and whole the network switches, or not.

[quote=jerryd_SKMdo]
I didn't waste time on the prelude part. Jumped straight to chapter 5-6-7
…
And finally what does "better" chain even mean? The document does not explain that at all (or it was in chapter 1-4)

It's described in 5.2, 5.4 and 5.3…

[quote=jerryd_SKMdo]
That's all I got. I won't bother asking the obvious first level questions of "why this magic number is used, 1440, 10000, in various equations" because I know the answer is that they were
Likely picked
to achieve some feature or other the most "ideal" according to some ideology of equal distribution.


I think this will become best known quote in NEM history.

[quote=jerryd_SKMdo]
I have serious doubts that it will work in a real dynamic system like the real world


I have more serious doubts that US will ever leave middle east.

[quote=jerryd_SKMdo]
But I do recognize that a heck of a lot of work has been put into solving these complex problems, unfortunately with static inflexible solutions patched together.


PoI is FAR from anything that can be called static. Even people that were participating in PoI competition could easily confirm that.

[quote=jerryd_SKMdo]
It's like the "Fed" model of money policy. Numbers and stats and facts in, crunch numbers, run simulations, get optimal parameters, out pops policy for the next 3 years.
Until it starts breaking after 1, so you run more numbers and change more parameters. Rinse repeat.


Well, I'm gonna post in this topic after year has passed.

[quote=jerryd_SKMdo]
Well they do have some interesting idea about having a trust protocol running between nodes. But I don't think its needed as we we can solve that better by somehow incentivizing the running of nodes via fees
Does that refer to PoW?

1 Like

I feel that the formula in “7.2 The outlink matrix” is incorrect.
Please tell us your opinion.

I didn’t get Eq.27. Isn’t normalize_1(v) always 1?
Isn’t v a scalar (otherwise how can you use max?)? Then it should be always 1 or -1.
What is sigma, the weighted, net outlinking XEM? Is it the same as sigma in 7.4? Can sigma be negative?
Eq.27 can be reweitten as (1+hatpi*w_i)*chi?

Since chi is a vecror, is it actually normalize_1((max(0,mu+sigmaomega0)+hatpiomegai)chi)?
Even in this case, I still don’t get what is sigma…

I didn’t check carefully yet but this equation seems to me correct. If you want to replace tilde omega_ij with omega_ij, how do you want to define omega_ij? tilde omega_ij and omega_ijk are defined but omega_ij is not defined anywhere.