Pages:
Author

Topic: [Discussion] Quo vadis, XCN? (Read 919 times)

full member
Activity: 175
Merit: 113
September 14, 2017, 02:46:57 PM
#23
That's an interesting thought. Nodes could test each other for availability and send each other certificates asserting a certain uptime which then could be used as a foundation for POS minting.
That way, the more certificates a node collects, the higher the chance for minting.
That approach would not only reward uptime but also connectivity, e.g. the more connections to other nodes a node has, the more certificates it receives per time.
And if the certificates have some kind of points system, the ping time between the nodes could be used as a bonus multiplier. The lower the ping times, the more points each node gets from the others.

Interesting idea, but we must ensure everyone is incentivized; for example, why would a node send certificate to other nodes? they would, for example, need to benefit from it, at least in part.
And it must be possible for all the other nodes to check it some way, or there is no consensus and one could send certificates back and forth between his nodes.

Yes, agree. One incentive for sending the certificates is that the node wants the others to also send certificates back. If A sends a cert to B and B doesn't send one to A, a surely wouldn't send another one to B in the next round -> incentive for B.
The part about all the other nodes to check it is where I don't know enough about current POS systems and how they work. In normal POS, other nodes also must get a consensus about how much stake a node has accumulated and the resulting odds for minting. I think the same mechanism applies here.

Problem is that ping and uptime measurement may differ from node to node, difficult to have consensus on those.

I don't think that's a problem. Let's assume we want to establish the total amount of points for node A. So node A gets a certificate form B. The connection between A and B is pretty good. Low ping. And the uptime of A is really long. So B is going to send back a certificate containing a lot of points.
Node C has just come online and has a bad connection. It pings A, slow, and can only assert an uptime for A that is equal to C's own uptime. So it's going to send a certificate with only very few points.
Both certificates are signed by the senders so that other nodes can easily confirm the validity using publicly known public keys (I'm thinking of a system similar to PGP/GPG where people can sign messages using their private key and others can easily confirm the signatures using the signee's publicly known key).

That way, in the end, every node would collect a number of certificates per round from its neighbours and therefore have a total sum of points and every other node could request the total number of points and confirm the validity by confirming each certificate's signature.

Would that make sense?

the other nodes will need to verify the ping and uptime values, not just the signature of the certificate.
otherwise one could put up two nodes, then send valid certificates with random ping and uptime values between themselves.

True. Well uptime is no problem. Node A will be able to confirm any other node B's uptime as long as it is shorter than A's.
With regard to pings, yes that is hard to validate from a 3rd party's perspective.
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
September 14, 2017, 03:48:54 AM
#22
That's an interesting thought. Nodes could test each other for availability and send each other certificates asserting a certain uptime which then could be used as a foundation for POS minting.
That way, the more certificates a node collects, the higher the chance for minting.
That approach would not only reward uptime but also connectivity, e.g. the more connections to other nodes a node has, the more certificates it receives per time.
And if the certificates have some kind of points system, the ping time between the nodes could be used as a bonus multiplier. The lower the ping times, the more points each node gets from the others.

Interesting idea, but we must ensure everyone is incentivized; for example, why would a node send certificate to other nodes? they would, for example, need to benefit from it, at least in part.
And it must be possible for all the other nodes to check it some way, or there is no consensus and one could send certificates back and forth between his nodes.

Yes, agree. One incentive for sending the certificates is that the node wants the others to also send certificates back. If A sends a cert to B and B doesn't send one to A, a surely wouldn't send another one to B in the next round -> incentive for B.
The part about all the other nodes to check it is where I don't know enough about current POS systems and how they work. In normal POS, other nodes also must get a consensus about how much stake a node has accumulated and the resulting odds for minting. I think the same mechanism applies here.

Problem is that ping and uptime measurement may differ from node to node, difficult to have consensus on those.

I don't think that's a problem. Let's assume we want to establish the total amount of points for node A. So node A gets a certificate form B. The connection between A and B is pretty good. Low ping. And the uptime of A is really long. So B is going to send back a certificate containing a lot of points.
Node C has just come online and has a bad connection. It pings A, slow, and can only assert an uptime for A that is equal to C's own uptime. So it's going to send a certificate with only very few points.
Both certificates are signed by the senders so that other nodes can easily confirm the validity using publicly known public keys (I'm thinking of a system similar to PGP/GPG where people can sign messages using their private key and others can easily confirm the signatures using the signee's publicly known key).

That way, in the end, every node would collect a number of certificates per round from its neighbours and therefore have a total sum of points and every other node could request the total number of points and confirm the validity by confirming each certificate's signature.

Would that make sense?

the other nodes will need to verify the ping and uptime values, not just the signature of the certificate.
otherwise one could put up two nodes, then send valid certificates with random ping and uptime values between themselves.
full member
Activity: 175
Merit: 113
September 14, 2017, 02:53:51 AM
#21
That's an interesting thought. Nodes could test each other for availability and send each other certificates asserting a certain uptime which then could be used as a foundation for POS minting.
That way, the more certificates a node collects, the higher the chance for minting.
That approach would not only reward uptime but also connectivity, e.g. the more connections to other nodes a node has, the more certificates it receives per time.
And if the certificates have some kind of points system, the ping time between the nodes could be used as a bonus multiplier. The lower the ping times, the more points each node gets from the others.

Interesting idea, but we must ensure everyone is incentivized; for example, why would a node send certificate to other nodes? they would, for example, need to benefit from it, at least in part.
And it must be possible for all the other nodes to check it some way, or there is no consensus and one could send certificates back and forth between his nodes.

Yes, agree. One incentive for sending the certificates is that the node wants the others to also send certificates back. If A sends a cert to B and B doesn't send one to A, a surely wouldn't send another one to B in the next round -> incentive for B.
The part about all the other nodes to check it is where I don't know enough about current POS systems and how they work. In normal POS, other nodes also must get a consensus about how much stake a node has accumulated and the resulting odds for minting. I think the same mechanism applies here.

Problem is that ping and uptime measurement may differ from node to node, difficult to have consensus on those.

I don't think that's a problem. Let's assume we want to establish the total amount of points for node A. So node A gets a certificate form B. The connection between A and B is pretty good. Low ping. And the uptime of A is really long. So B is going to send back a certificate containing a lot of points.
Node C has just come online and has a bad connection. It pings A, slow, and can only assert an uptime for A that is equal to C's own uptime. So it's going to send a certificate with only very few points.
Both certificates are signed by the senders so that other nodes can easily confirm the validity using publicly known public keys (I'm thinking of a system similar to PGP/GPG where people can sign messages using their private key and others can easily confirm the signatures using the signee's publicly known key).

That way, in the end, every node would collect a number of certificates per round from its neighbours and therefore have a total sum of points and every other node could request the total number of points and confirm the validity by confirming each certificate's signature.

Would that make sense?
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
September 13, 2017, 03:29:22 PM
#20
That's an interesting thought. Nodes could test each other for availability and send each other certificates asserting a certain uptime which then could be used as a foundation for POS minting.
That way, the more certificates a node collects, the higher the chance for minting.
That approach would not only reward uptime but also connectivity, e.g. the more connections to other nodes a node has, the more certificates it receives per time.
And if the certificates have some kind of points system, the ping time between the nodes could be used as a bonus multiplier. The lower the ping times, the more points each node gets from the others.

Interesting idea, but we must ensure everyone is incentivized; for example, why would a node send certificate to other nodes? they would, for example, need to benefit from it, at least in part.
And it must be possible for all the other nodes to check it some way, or there is no consensus and one could send certificates back and forth between his nodes.

Yes, agree. One incentive for sending the certificates is that the node wants the others to also send certificates back. If A sends a cert to B and B doesn't send one to A, a surely wouldn't send another one to B in the next round -> incentive for B.
The part about all the other nodes to check it is where I don't know enough about current POS systems and how they work. In normal POS, other nodes also must get a consensus about how much stake a node has accumulated and the resulting odds for minting. I think the same mechanism applies here.

Problem is that ping and uptime measurement may differ from node to node, difficult to have consensus on those.
full member
Activity: 175
Merit: 113
September 13, 2017, 03:26:25 PM
#19
That's an interesting thought. Nodes could test each other for availability and send each other certificates asserting a certain uptime which then could be used as a foundation for POS minting.
That way, the more certificates a node collects, the higher the chance for minting.
That approach would not only reward uptime but also connectivity, e.g. the more connections to other nodes a node has, the more certificates it receives per time.
And if the certificates have some kind of points system, the ping time between the nodes could be used as a bonus multiplier. The lower the ping times, the more points each node gets from the others.

Interesting idea, but we must ensure everyone is incentivized; for example, why would a node send certificate to other nodes? they would, for example, need to benefit from it, at least in part.
And it must be possible for all the other nodes to check it some way, or there is no consensus and one could send certificates back and forth between his nodes.

Yes, agree. One incentive for sending the certificates is that the node wants the others to also send certificates back. If A sends a cert to B and B doesn't send one to A, a surely wouldn't send another one to B in the next round -> incentive for B.
The part about all the other nodes to check it is where I don't know enough about current POS systems and how they work. In normal POS, other nodes also must get a consensus about how much stake a node has accumulated and the resulting odds for minting. I think the same mechanism applies here.
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
September 13, 2017, 02:10:24 AM
#18
That's an interesting thought. Nodes could test each other for availability and send each other certificates asserting a certain uptime which then could be used as a foundation for POS minting.
That way, the more certificates a node collects, the higher the chance for minting.
That approach would not only reward uptime but also connectivity, e.g. the more connections to other nodes a node has, the more certificates it receives per time.
And if the certificates have some kind of points system, the ping time between the nodes could be used as a bonus multiplier. The lower the ping times, the more points each node gets from the others.

Interesting idea, but we must ensure everyone is incentivized; for example, why would a node send certificate to other nodes? they would, for example, need to benefit from it, at least in part.
And it must be possible for all the other nodes to check it some way, or there is no consensus and one could send certificates back and forth between his nodes.
full member
Activity: 175
Merit: 113
September 12, 2017, 04:31:35 PM
#17
That's an interesting thought. Nodes could test each other for availability and send each other certificates asserting a certain uptime which then could be used as a foundation for POS minting.
That way, the more certificates a node collects, the higher the chance for minting.
That approach would not only reward uptime but also connectivity, e.g. the more connections to other nodes a node has, the more certificates it receives per time.
And if the certificates have some kind of points system, the ping time between the nodes could be used as a bonus multiplier. The lower the ping times, the more points each node gets from the others.
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
September 08, 2017, 09:26:12 AM
#16
Mining is just a rewarding method for keeping the network alive.
But mining itself is a heavy energy consuming process.

Exactly, so instead of rewarding those who spend the most energy on mining one should reward those who create the most benefit for the network (e.g. process most transactions, provide longest transaction history snapshots, provide fast connectivity for other nodes to download blockchain from and for wallets to publish transactions).

Interestingly, it's a similar process as designing a neural network. The actual challenge lies in defining the target correctly as that's what's going to be optimized for Smiley

I remember vanilla coin (now vcash) having a reward system for node uptime. That may be interesting to study.
full member
Activity: 175
Merit: 113
September 08, 2017, 01:54:35 AM
#15
Mining is just a rewarding method for keeping the network alive.
But mining itself is a heavy energy consuming process.

Exactly, so instead of rewarding those who spend the most energy on mining one should reward those who create the most benefit for the network (e.g. process most transactions, provide longest transaction history snapshots, provide fast connectivity for other nodes to download blockchain from and for wallets to publish transactions).

Interestingly, it's a similar process as designing a neural network. The actual challenge lies in defining the target correctly as that's what's going to be optimized for Smiley
legendary
Activity: 3094
Merit: 1069
DGbet.fun - Crypto Sportsbook
September 05, 2017, 04:26:43 AM
#14
Mining is just a rewarding method for keeping the network alive.
But mining itself is a heavy energy consuming process.
If we can guarantee same(better) privacy and anonymity, mining could be replaced by better technology.
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
September 05, 2017, 04:23:06 AM
#13
private transaction systems that come to my mind first.

- simple mixer: easiest solution, make a trusted mixer and no modification to the wallet needed (integrating it into the wallet would be cool, but I don't like the idea of linking it to a centralised service).
- darksend: ala dash, with masternodes, it's kinda distributed mixer, requires many modifications to the wallet and the network.
- cryptonote: ala monero, doesn't require masternodes but may be very difficult to implement as it is based on a completely different code base.
- zerocoin: ala zcash, should be the most advanced method and is based on bitcoin code base, very popular.
full member
Activity: 175
Merit: 113
September 05, 2017, 04:13:52 AM
#12
Okay so for now it looks like Privacy and POW/POS/ETC are the two hottest feature candidates for the coin extension.
I agree that the POW/POS discussion wouldn't attract too much interest but it's nevertheless important to find a solution here going forward.

If we all can agree on those two features, the next step would be to do "market analysis". I.e. let's get an overview over how other coins out there implemented those features and let's evaluate what we like about their solutions and what not.

For Privacy, I only know about ZCash but haven't had a chance to look into impementation details yet. Has anybody heard of other coins with innovations in that regard?
Btw, do we need to differentiate between anonymity and privacy? I've used both terms interchangably with the meaning that the money I spend shall not be traceable - just like real cash. Or is there some other aspect to privacy that would be important to look at?

About POS, I have to say that I agree (to a degree) with antantti that POS is not the final answer. This question seems more difficult to answer which can be seen on the ongoing discussion in the wider crypto community. Still, I would like to collect a list of interesting coins with examples for good (or bad) POS solutions so we can get an overview over the current situation.

Once we have a good overview for both features it will be much easier to decide on a specific implementation of both features.
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
September 04, 2017, 03:51:43 PM
#11
Yes good call.
I also just thought that maybe we shouldn't try to include it all and rather implement new features step by step as we go. Focussing on the one with next highest priority at a time.

For me that would be the question of POW/POS/POTransaction(see above)/POSomethingelse?


I think that all three general features are important. Anonymous  transactions may bring a lot of interest in the coin, while tor is relatively easy to implement and provides a useful layer of privacy.
Pos / pow / etc. is the usual argument of discussion of any coin, it's hugely important but may bring less interest, IMHO.
full member
Activity: 175
Merit: 113
September 04, 2017, 03:42:43 PM
#10
Yes good call.
I also just thought that maybe we shouldn't try to include it all and rather implement new features step by step as we go. Focussing on the one with next highest priority at a time.

For me that would be the question of POW/POS/POTransaction(see above)/POSomethingelse?
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
September 04, 2017, 04:30:46 AM
#9
Good idea.
Everybody, please post features for the poll list with a short explanation why you think that feature would be necessary for the perfect XCN-based coin.

The poll will allow 3 votes per user. The 3 winning features will then be examined closer by us all and we can talk about how to implement them.
I will collect the feature proposals and update this list.


Possible features collection for new coin:

  • Mini-Blockchain (not votable, assumed decided)
  • ZCash-like privacy
  • PoS instead of PoW
  • xmr with privacy (please provide further information)
  • dcr type pos (please provide further information)

I think we should start with generic topics like:

- POS (or POS/POW)
- private transactions
- TOR or I2P

Then we could move to more technical discussion.
full member
Activity: 175
Merit: 113
August 30, 2017, 04:14:55 PM
#8
Good idea.
Everybody, please post features for the poll list with a short explanation why you think that feature would be necessary for the perfect XCN-based coin.

The poll will allow 3 votes per user. The 3 winning features will then be examined closer by us all and we can talk about how to implement them.
I will collect the feature proposals and update this list.


Possible features collection for new coin:

  • Mini-Blockchain (not votable, assumed decided)
  • ZCash-like privacy
  • PoS instead of PoW
  • xmr with privacy (please provide further information)
  • dcr type pos (please provide further information)
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
August 30, 2017, 09:19:15 AM
#7
what about making a poll with the most common coin features to add?
full member
Activity: 175
Merit: 113
August 30, 2017, 12:03:57 AM
#6
That argumentation makes sense, yes. Maybe we can find another way of doing it then? Maybe a POW algorithm that inherently limits needed calculating power (only a single hash at 59s and whoever is closest to X, wins -- just throwing it out there).
I really want to see a way of low-resource mining/minting established in combination with XCN. Running server farms with dedicated mining hardware and power bills in the MWh is just wrong...

I mean, in the end, the whole reason for POW was to connect a limited resource (hashing power) to the creation of a new block -> make it hard to create a new block. There are other algorithms out there that use HDD space instead. POS uses its own currency as the limited resource. There must be a different resource available which we could use?
One idea I've been thinking about was to use outstanding transactions as that resource. So whichever node collects most of them gets to create the next block. Haven't thought all the consequences through though (nodes not forwarding transactions any more, or creating fake transactions to flood the system).

I'm sure there currently are massive ongoing efforts in the community trying to solve that issue, aren't there? Is anyone more up to date on this maybe?

Abstractly speaking the rules for mining must be:
1. The more the miner benefits the network, the higher the likelihood for creating the next block.
2. Benefiting the network means: processing transactions (creating new blocks and updating the accounts DB) and providing a synchronized copy of the (mini) blockchain for other nodes to look into
3. The goal must be to allow every wallet to be a mining node with minimum resource usage and an inherent incentive to keep going.
So point #2 really is the sole purpose of mining with #1 being the rule for mining rewards, describing the incentive to keep miners going.

#3 is the higher level goal for the new mining process as #1 and #2 are solved by current PoW/PoS implementations already.
Based on these abstracted rules, it should be possible to come up with a better solution.
sr. member
Activity: 378
Merit: 250
August 29, 2017, 05:28:19 PM
#5
The thing about POS for "regular people" that doesn't have millions of dollars to invest, is that it's bad.

I'll take myself as an example. I invested about €40,000 in mining hardware. It will mine some profit for me, and will, eventually, get me some money back from selling the GPU's, even it's it's a small sum.

POS, on the other hand, means I'll invest €40,000 into a coin, and a week (month or year) later, it's worth half. That means I've lost half of my money. Well, close to half, since it would have "mined" some itself. Example still stands.


Just like trading, it's a risk and reward, but POW is a lot less riskier. Of course, if I'm lucky, the €40,000 I could have invested into trading could double. But it could also be worth close to nothing. With the mining hardware, I can always make a profit, even if it's lower that I'd want it to be. Still always a profit. And, worse case scenario, I could sell the hardware and still make a profit since it actually mined whichever coin I wanted it to mine.
full member
Activity: 175
Merit: 113
August 29, 2017, 04:53:52 PM
#4
2. ZCash privacy enables use of coin like real cash money, with all privacy intact.
wtf???
To my current understanding, any blockchain based cryptocurrency doesn't provide full privacy as all transaction can be backtraced throughout all history.
To be honest, I don't know how exactly ZCash improves on that for perfect privacy but it seems like they achieved it.
I'm absolutely convinced that perfect privacy is a must-have for any decent currency out there to prevent any efforts of big-data analysis on customer behaviour of government monitoring of people from the get-go.

3. Proof-of-stake eliminates wasting computing power for mining and enables everyone to take part in the network without any (hardware) investment.
No no no, it only enables big holders to take control.
MY COIN would be xcn with miniblockchain + xmr with privacy + dcr type pos.
Could you please elaborate on that? I don't know XMR nor DCR. THanks

Quote from: antantti
So light that every "thing" in the internet could run a node. So light that every mobile device could be a node too. Something where everyone can vote. Something that will rule the world of cryptos.

Perfect, I completely agree! Let's work on that vision.
Pages:
Jump to: