Pages:
Author

Topic: [EMUNIE] One small step for transactions, one giant leap for crypto (Read 5626 times)

legendary
Activity: 1050
Merit: 1016
Without the endorsements/trust, service nodes could not be paid fairly for the work they do.

And a service node is a delegate? Just want to get my understanding of the different nodes in your system right.

Service nodes that have a ledger can be delegates yes.

Service nodes without a ledger (running light) can not be delegates, but they still acquire endorsements and earn trust for supply (and fee) payouts.
legendary
Activity: 1008
Merit: 1007
Without the endorsements/trust, service nodes could not be paid fairly for the work they do.

And a service node is a delegate? Just want to get my understanding of the different nodes in your system right.
legendary
Activity: 1050
Merit: 1016
Heh don't think for a moment I didn't consider things like staking to select delegates and act as a barrier to entry.  The problem is that implementing staking introduces further complexity as the endorsement/trust model is still required to achieve fair distribution of new supply.

How does the distribution use trust to increase fairness?

Simple math.

Economics takes the total amount of trust allocated over the period since the last supply increase, then allocates a portion of that new supply to the service nodes as per their accrued trust over that period.

Accrued Trust / Allocated Trust = % Of New Supply

New supply is split 50/50, one half goes to service nodes, the other half goes to balance holders.

Balance holder payout is similar but is of the function Mean Period Balance / Total Existing Supply = % Of New Supply

Without the endorsements/trust, service nodes could not be paid fairly for the work they do.
legendary
Activity: 1008
Merit: 1007
Heh don't think for a moment I didn't consider things like staking to select delegates and act as a barrier to entry.  The problem is that implementing staking introduces further complexity as the endorsement/trust model is still required to achieve fair distribution of new supply.

How does the distribution use trust to increase fairness?
legendary
Activity: 1050
Merit: 1016
Hmmm, this all sounds extraordinarily complicated with all these special cases.

Here is something to consider, feel to ignore it, it's just an idea:

Make delegates election purely stake based - so take the set of N delegates who have the most bonded stake.

This gives you the same constant attack cost as using the trust decay system you have at the moment (from what I understand of it, anyway) and has the advantage of being much, much easier to simulate or reason about.

Heh don't think for a moment I didn't consider things like staking to select delegates and act as a barrier to entry.  The problem is that implementing staking introduces further complexity as the endorsement/trust model is still required to achieve fair distribution of new supply.

The issue is simply that all of the things that Bitcoin/block chains lack...scalability, speed, fairness of distribution etc....are not easy problems to solve, especially for mainstream.  If they were, then I'm sure that Satoshi was plenty smart enough to see these solutions immediately and incorporate a design that solved them.

Complex problems sometimes require solutions that aren't as simple as one may like, so instead ensure they are as simple as can be and spend time pursuing that mantra.

A lot of the components in eMunie are used in more than one place, with no "special case" functionality to support the multiple roles, thus overall complexity actually reduces due to component reuse.  

The consensus is by far the most complicated component in the system, yet to me it seems elegant and simple and can explain the basics of it in a few sentences or a single diagram.  That probably comes from being about to see the full picture with all the detail, and its on me to provide that same clarity over time to all of you.
legendary
Activity: 1008
Merit: 1007
Hmmm, this all sounds extraordinarily complicated with all these special cases.

Here is something to consider, feel to ignore it, it's just an idea:

Make delegates election purely stake based - so take the set of N delegates who have the most bonded stake.

This gives you the same constant attack cost as using the trust decay system you have at the moment (from what I understand of it, anyway) and has the advantage of being much, much easier to simulate or reason about.
legendary
Activity: 1050
Merit: 1016
The delegate election process:

If delegates get elected and then disappear all within the period allocated for consensus, doesn't that represent a DOS if this happens to a majority?

Yes that can happen, but that is just the same as (n/m)-1 failures.

It would be highly unlikely though, akin to all a bunch of Bitcoins miners (a couple of pools?) going offline, transactions then take much longer to be confirmed.

I have considered it though, perhaps for example some attacker has a rare occurrence majority of his nodes in the delegate set (leaving aside the difficulty of these attacks ), notices and decides "Hey, lets screw this up!" and turns off all his nodes.

That then results in greater than (n/m)-1 failures so those transactions will fail...there are 2 mechanisms to defend against this activity.

First of all, if there is a period where transactions are not obtaining a majority consensus, the delegate selection mechanism switches for a short period of time.  Instead of delegates being the most recently endorsed, it switches to also include the delegates with the heaviest weight.

Delegates with the heaviest weights will have a high likelihood of being constantly online (they have to be to have the heaviest weight)...this should be sufficient to get things moving again quickly, then the delegate selection can switch back the more "random" mode of operation.

Secondly, it is quite trivial to detect nodes that are in the delegate set but are not voting on transactions as expected.  These nodes can be omitted from future delegate sets for a period of time.

Finally I did consider having a "end of the world" list of super delegates that the network can refer to in the most dire of circumstances, but I'm not sure if I like that idea, or if it will be required as the likelihood of all delegates, both recent and weighted, being offline is slim to none IMO.  Also, the larger the network grows, the more unlikely this becomes.
legendary
Activity: 1008
Merit: 1007
The delegate election process:

If delegates get elected and then disappear all within the period allocated for consensus, doesn't that represent a DOS if this happens to a majority?
legendary
Activity: 1008
Merit: 1007
I'm moving this conversation here, because it's more relevant...

Can we talk about how a node syncs with the network? How do they know who to trust, how can they validate blocks are genuine?
full member
Activity: 239
Merit: 100
Socialist Cryptocurrency Devote
There's nothing like a reasoned argument...and that is certainly nothing like one!



There is nothing like a developer using sockpuppet accounts to push their agenda to inspire trust. Lol



Don't even try to deny it.....
It doesn't take a sock puppet to call bullshit just saying
legendary
Activity: 1106
Merit: 1000
There's nothing like a reasoned argument...and that is certainly nothing like one!



There is nothing like a developer using sockpuppet accounts to push their agenda to inspire trust. Lol



Don't even try to deny it.....
newbie
Activity: 5
Merit: 0
There's nothing like a reasoned argument...and that is certainly nothing like one!
legendary
Activity: 1106
Merit: 1000
The interest and processing payments are (last I heard) in equal portions meaning they each qualify for 45% of all new emu generated. Furthermore this means that 45% of all new emu created will be given as interest to all account holders based on their portion of the total currency available. This means that while some will probably attempt to short their interest or payments, those who hold will actually be building capital proportional to their holdings.

More precisely the reason why, if this coin does launch, it won't go anywhere.  Go all the way back to March 2013 and people then were saying it was a crackpot mechanism.

We can look at the some-300 inflationary coins since 2013, since most copied inflationary PoW or induced a high PoS with an unlimited supply, and they all got drop like a hot potato.  Inflation is theft.

No one cares what fancy words you use.  At the end of the day eMunie is net inflationary and buyers will stay away once they realize Dan is putting his hand in their pockets.

All this fixation about "supply" and "price" just shows you to be an idiot savant and we already have coins like that out there.  NuBits is one but there's been others.  I should point out they're approaching the garbage bin capitalization and/or been de-listed from exchanges.


Thats a complete misunderstanding of, well, pretty much everything right there.  You have inflationary supply and inflationary value totally mixed up.

Bitcoin itself is inflationary, with regard to the supply, at least until 2140, its the price that is supposed to be deflationary (look how well that has worked for the past 18 months!)

An inflationary supply isn't theft so long as its not taking value from the existing currency in circulation.

If the price of an EMU is $1, and there are 1M in existence, but there is demand for 1M more, if the system does nothing, then the value of an EMU will double.  If the system creates 1M more EMU, then the price remains at $1...the currency is then neither inflationary or deflationary with regard to prices, so please explain how that is theft when everyones EMU still has the exact same purchasing power?



I don't care if you are fucking Satoshi. Coming out with lines like inflationary supply isn't theft....a inflationary supply is fucking the definition of theft. Inflation by definition is theft and inflation by definition is increasing the money supply...If we want this system we can use fiat and the FED...dick.


People love to sound smart and say Bitcoin is inflationary but that's a BS argument. Bitcoin has a limited supply.....just like Gold has a limited supply, that's the point. the fact it is in the process of distributing that fixed supply is NOT the point.
legendary
Activity: 1008
Merit: 1007
There is a ledger, not a single chain.  The ledger is of n channels, which contain past transactions for that channel arranged as a tree.

IF you were to join and be presented with a 2 ledgers to sync from the genesis transaction, only one would be valid.  That would be the ledger where the first transactions are voted for by the bootstrap nodes.

So you can't have 2 ledgers to start with, unless all operators of the bootstrap nodes have signed the first transactions in both (which they wont)

So, these bootstrap nodes, where do they come from, are they a fixed set?
legendary
Activity: 1050
Merit: 1016
There is a history of states for syncing & auditing purposes, but only the current state of the ledger is referenced when appending/voting on new transactions.

If you are syncing from a historic point, say if you were offline, then your node would request the state actions you are missing, and action them to get to the same state as everyone else.  

So there is a chain of history? Which is it, I'm confused?

Ok, so assuming there is a chain, and I am a syncing node just joining the network for the first time AND I am presented with two different chain histories, how do I know which one to pick?

There is a ledger, not a single chain.  The ledger is of n channels, which contain past transactions for that channel arranged as a tree.

IF you were to join and be presented with a 2 ledgers to sync from the genesis transaction, only one would be valid.  That would be the ledger where the first transactions are voted for by the bootstrap nodes.

So you can't have 2 ledgers to start with, unless all operators of the bootstrap nodes have signed the first transactions in both (which they wont)
legendary
Activity: 1008
Merit: 1007
There is a history of states for syncing & auditing purposes, but only the current state of the ledger is referenced when appending/voting on new transactions.

If you are syncing from a historic point, say if you were offline, then your node would request the state actions you are missing, and action them to get to the same state as everyone else.  

So there is a chain of history? Which is it, I'm confused?

Ok, so assuming there is a chain, and I am a syncing node just joining the network for the first time AND I am presented with two different chain histories, how do I know which one to pick?
legendary
Activity: 1050
Merit: 1016
If someone changes some/all the endorsements in a copy of the ledger (its not a chain), in an attempt to present a "fork", those modified transactions wont validate because the hashes of the transactions will not verify against the signature.

Ahhhh, right. Ok, so there is no chain (or history) at all, just the current state? And said state is only valid if the majority of the current N node endorse it?

Close enough yes.

There is a history of states for syncing & auditing purposes, but only the current state of the ledger is referenced when appending/voting on new transactions.

If you are syncing from a historic point, say if you were offline, then your node would request the state actions you are missing, and action them to get to the same state as everyone else.  

Every historic action results in a new local current state of the ledger, then you apply the next one.  The actions have to be applied in sequence for you to successfully sync to the same state as everyone else because of the determinism.

If any of the presented actions cant be applied, because they were tampered with for example, your sync stops at that point until you have a state that you can apply and continue.
legendary
Activity: 1008
Merit: 1007
If someone changes some/all the endorsements in a copy of the ledger (its not a chain), in an attempt to present a "fork", those modified transactions wont validate because the hashes of the transactions will not verify against the signature.

Ahhhh, right. Ok, so there is no chain (or history) at all, just the current state? And said state is only valid if the majority of the current N node endorse it?
legendary
Activity: 1050
Merit: 1016
Endorsement information is included in transaction data, which is signed by the transaction creator.  They are not malleable in any way.

Malleability isn't the problem - if I am a node which is syncing with the network and I'm presented with two different forks of the chain, how do I select between them?

Aren't we just going full circle again here?  Huh

The endorsements guard against forks, because future transactions reference them so as to confirm. 

If someone changes some/all the endorsements in a copy of the ledger (its not a chain), in an attempt to present a "fork", those modified transactions wont validate because the hashes of the transactions will not verify against the signature.

The "fork" is junk, because no one can validate it, the ledgers of nodes trying to sync to it wont add a single transaction from it, so there is no choice to make.

A fork is only possible if you can change history, which is what you are suggesting here.  However, ledger history can not be changed due to the deterministic nature of who gets to vote, and the difficulty in modifying past endorsements which govern that.
legendary
Activity: 1008
Merit: 1007
Endorsement information is included in transaction data, which is signed by the transaction creator.  They are not malleable in any way.

Malleability isn't the problem - if I am a node which is syncing with the network and I'm presented with two different forks of the chain, how do I select between them?
Pages:
Jump to: