Pages:
Author

Topic: Transparent mining 2, or What part of Legacy should be left behind - page 5. (Read 15616 times)

legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
If you read the original post of the thread, the suggestion was to reduce fees to a minimum level required to prevent spamming the network, and remove the financial incentive to mine purely for fees.

Personally I think it would be best to do this in a gradual manner by slowly reducing the fee reward.

If we start to see a lot of nodes "dropping out" then we can always "pause" until the network strengthens again and presumably we'll reach a point of "equilibrium" that gives us the "least amount of fees" for the "most number of active nodes".

(I don't really see the imperative to make the fees so low as to completely discourage "forging" but of course lower fees does encourage more transactions)
 
hero member
Activity: 644
Merit: 500
Why forge? To get fees, but when u're forging, u're securing system. Way to get fees w/o securing not so easy to pick (u need modified code, and have that code updated), so greedy forgers'll exist and'll non-directly serve their key purpose (as miners today).

If you read the original post of the thread, the suggestion was to reduce fees to a minimum level required to prevent spamming the network, and remove the financial incentive to mine purely for fees.
I did that. An I'm counterargumenting such goal. Forgers'es greed'll lead us to perfectly secured network. Almost each one security business I can think about requires competition instead of coopertaion to achieve trustless situation: where every player is not just not expected to trust any other, but don't trust everyone by default. And "green" competition obviously beats down "blackholed" one.
sr. member
Activity: 476
Merit: 250
Why forge? To get fees, but when u're forging, u're securing system. Way to get fees w/o securing not so easy to pick (u need modified code, and have that code updated), so greedy forgers'll exist and'll non-directly serve their key purpose (as miners today).

If you read the original post of the thread, the suggestion was to reduce fees to a minimum level required to prevent spamming the network, and remove the financial incentive to mine purely for fees.
hero member
Activity: 644
Merit: 500
There is no "profit" in forging because merely forging adds no value.
Completely disagree! Only secure system'll be popular and for that forging'd be popular activity too, here works network effect: more independent forgers with their own goals, more secure system is for everybody else. So it adds value in security aspect of payment system and whole ecosystem.

I wonder if the idea is doomed because of Diffusion of Responsibility.
Why forge? To get fees, but when u're forging, u're securing system. Way to get fees w/o securing not so easy to pick (u need modified code, and have that code updated), so greedy forgers'll exist and'll non-directly serve their key purpose (as miners today).
member
Activity: 98
Merit: 10
I would think that the algo would simply determine the best choice regardless of whether they are online or not - and each client would determine which "online" node that they can see is closest to the best choice and "hope" that the "real choice" was not actually online.

Yeah that could work. We don't need everyone to be right, we just need most of them to agree on most of the candidates for most of the time.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
No. TF algo only says what accounts could forge the next block.

Thanks - that's actually what I had assumed (even wrote up my own such pseudo code system when I first heard of the idea in order to get it worked out in my own head).
legendary
Activity: 2142
Merit: 1009
Newbie
So the TF algo doesn't care about "online" nodes then?

No. TF algo only says what accounts could forge the next block.
hero member
Activity: 910
Merit: 1000
Perhaps I am misunderstanding something, but this seems to idealistically ignore a different sort of selfishness.
If I'm running a Nxt-based business, I could either invest in forging myself, or just not bother, and expect someone else to do it.
A business that forges for itself, with minimal mining rewards, will be less efficient than one that just expects someone else to do it.
The free-riding company will out-compete the 'honest' company.

Agree with ChuckOne. Look also at the example of bittorrent: the torrent trackers had to use rating systems and such, just because otherwise there would be too many leechers for too few seeders. That's not because it costs anything (at least in free countries like Brasil, where there is no risk that you could get prosecuted for that) just to leave the client open, it's because people just don't care about it. There are so many things to care about in this life, so it's better to offer at least some reward if we want that people invest some attention to the network maintenance.  

I wonder if the idea is doomed because of Diffusion of Responsibility.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
BCNext limited nothing. We don't need to "ping" nodes.

So the TF algo doesn't care about "online" nodes then?
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
During the time between blocks, each node builds up their own picture of what the whole network will look like. Different nodes will have slightly different pictures due to different connections and connectivity (assume the overall network condition isn't so bad as to have radically different pictures). But even with slight differences, the die rolls are still likely to land in the same accounts in 4). (picture a [0,1) line segment broken up into many separate account stakes. Assume no super-big stakes. If you remove some of them and insert some others, while maintaining stake ratios, the picture doesn't change by much (math can provide bounds)). So all nodes can achieve consensus.

I don't think that consensus can actually be reached without the equation being completely deterministic (so IMO using "known online nodes" just can't work).

I would think that the algo would simply determine the best choice regardless of whether they are online or not - and each client would determine which "online" node that they can see is closest to the best choice and "hope" that the "real choice" was not actually online.
legendary
Activity: 2142
Merit: 1009
Newbie
Mining reward is another obsolete part. True reward for supporting Nxt network comes from services that use Nxt. Someone owns a currency exchange and mine blocks to keep his business running. Another one owns a shop and mine blocks to keep his business running. The 3rd person owns a software company that develops programs for Nxt-based services and mine blocks to keep his business running. Selfish miners (those who mine only to earn fees) should be "removed" from the system, they r not interested in success of Nxt and only want to cash-out. If a clone appears such the people will likely jump to another ship, they add very little value to Nxt. All this doesn't mean that we should get rid of fees completely, we still need them as a countermeasure against spamming.

Perhaps I am misunderstanding something, but this seems to idealistically ignore a different sort of selfishness.
If I'm running a Nxt-based business, I could either invest in forging myself, or just not bother, and expect someone else to do it.
A business that forges for itself, with minimal mining rewards, will be less efficient than one that just expects someone else to do it.
The free-riding company will out-compete the 'honest' company.

Maybe u r right. BCNext's plan is just his own vision. He doesn't even insist to follow it.
legendary
Activity: 2142
Merit: 1009
Newbie
...each tx's broadcaster'll scan network and calculate 100%-s of block success by working nodes in next 15 secs...

Hmm... if your ping times are anything like they are in China (often 300+ms) then even in 15 secs you certainly won't be able to determine all active nodes so I do question this idea.

Can you give me some "concrete" examples of just how many nodes this can possibly scale to?

For example - you will never work out all connections if you have connections to 1M+ nodes (and will be consuming vast amounts of memory even trying to) - so has BCNext purposely limited the total network size to something quite paltry like a few thousand nodes?


BCNext limited nothing. We don't need to "ping" nodes.
sr. member
Activity: 376
Merit: 300
member
Activity: 98
Merit: 10
That's not how Nxt works. The account that forges the next block is selected from only online accounts with an effective stake, not from all existing accounts.
Whilst I do *get* the idea behind how the TF "choice" works I don't quite follow this part.

How can every node know which accounts are "online" (in order to consider for TF) when nodes would only be keeping connections to a fraction of all online nodes?

Some preliminaries:

I don't know how it'll be implemented eventually. Were I to try to design an algo to satisfy the properties of TF I've gathered so far, I might do

1. During the time between blocks, gather info on as many online forging nodes as you can, through the nodes you're connected to. Call these "seen nodes"

2. Strictly order these nodes, say by increasing account number. Insert new nodes/delete d/ced nodes as they are discovered.

3. Compute Hash(public_key_of_previous_forger + N)/(MAX_HASH + 1) for N = 1 to # of candidates. Hash could be say SHA256. Think of these as dice rolls in [0,1) that will determine the candidate accounts.

4. Just before block generation, calculate (your own view of) the candidate accounts for forging. The candidate accounts are precisely those accounts for which [ total_stake_of_previous_accounts / total_stake_of_all_seen_nodes, (total_stake_of_previous_accounts + own_stake) / total_stake_of_all_seen_nodes ) contains a die roll. These intervals are mutually disjoint, and their union is [0,1). Each interval represents each accounts stake in [0,1)

5. Some algo that determines which candidate is chosen, not relevant to our discussion here.

Finally getting to your question:

During the time between blocks, each node builds up their own picture of what the whole network will look like. Different nodes will have slightly different pictures due to different connections and connectivity (assume the overall network condition isn't so bad as to have radically different pictures). But even with slight differences, the die rolls are still likely to land in the same accounts in 4). (picture a [0,1) line segment broken up into very many separate account stakes. Assume no very big stakes. If you remove a few of them and insert a few others, while maintaining stake ratios, the picture doesn't change by much (math can provide bounds hmm, better to simulate it I think.)). So all nodes can achieve consensus.


Again, just my thinking, and coming from general math.

EDIT: No, this particular way doesn't work I think, need another way to determine candidates. But I think the general idea holds: you don't need all nodes to see the same picture of the network, you only need that their pictures mostly agree, and consequently mostly agree on the candidates.
sr. member
Activity: 476
Merit: 250
Mining reward is another obsolete part. True reward for supporting Nxt network comes from services that use Nxt. Someone owns a currency exchange and mine blocks to keep his business running. Another one owns a shop and mine blocks to keep his business running. The 3rd person owns a software company that develops programs for Nxt-based services and mine blocks to keep his business running. Selfish miners (those who mine only to earn fees) should be "removed" from the system, they r not interested in success of Nxt and only want to cash-out. If a clone appears such the people will likely jump to another ship, they add very little value to Nxt. All this doesn't mean that we should get rid of fees completely, we still need them as a countermeasure against spamming.

Perhaps I am misunderstanding something, but this seems to idealistically ignore a different sort of selfishness.
If I'm running a Nxt-based business, I could either invest in forging myself, or just not bother, and expect someone else to do it.
A business that forges for itself, with minimal mining rewards, will be less efficient than one that just expects someone else to do it.
The free-riding company will out-compete the 'honest' company.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
...each tx's broadcaster'll scan network and calculate 100%-s of block success by working nodes in next 15 secs...

Hmm... if your ping times are anything like they are in China (often 300+ms) then even in 15 secs you certainly won't be able to determine all active nodes so I do question this idea.

Can you give me some "concrete" examples of just how many nodes this can possibly scale to?

For example - you will never work out all connections if you have connections to 1M+ nodes (and will be consuming vast amounts of memory even trying to) - so has BCNext purposely limited the total network size to something quite paltry like a few thousand nodes?
hero member
Activity: 910
Merit: 1000
There is no "profit" in forging because merely forging adds no value.
Completely disagree! Only secure system'll be popular and for that forging'd be popular activity too, here works network effect: more independent forgers with their own goals, more secure system is for everybody else. So it adds value in security aspect of payment system and whole ecosystem.

I wonder if the idea is doomed because of Diffusion of Responsibility.
hero member
Activity: 644
Merit: 500
That's not how Nxt works. The account that forges the next block is selected from only online accounts with an effective stake, not from all existing accounts.

Whilst I do *get* the idea behind how the TF "choice" works I don't quite follow this part.

How can every node know which accounts are "online" (in order to consider for TF) when nodes would only be keeping connections to a fraction of all online nodes?
Transparent Forging called transparent for a reason: in next phases of implementation TF (it's not complete for now) each tx's broadcaster'll scan network and calculate 100%-s of block success by working nodes in next 15 secs, asking them for their effectiveBalance and looking for network's BaseTarget (how many coins're forging now), then send tx info directly to them. Ofc, there still be orphans, some network dynamic dividing (nodes on/off, providers problems, geography and so on) and need to rebroadcast. This's my understanding, hot it'll work.

But bigger Nxt'll be, stronger network effect'll be. Compare it to torrents: when u're starting to download popular file, u're reaching cap speed almost instantly, cos exactly of network effect: more peers are, easier to set up complete map of interconnections and create optimal set of seeders for u.
hero member
Activity: 644
Merit: 500
There is no "profit" in forging because merely forging adds no value.
Completely disagree! Only secure system'll be popular and for that forging'd be popular activity too, here works network effect: more independent forgers with their own goals, more secure system is for everybody else. So it adds value in security aspect of payment system and whole ecosystem.

Selfish miners (those who mine only to earn fees) should be "removed" from the system, they r not interested in success of Nxt and only want to cash-out.
"Selfish"? It like a communist's word. Selfish is the nature of human being. It's not a bad thing.
Agreed. And Nxt solves great problem: forgers selfishness won't bring so powerful arms race as exists in PoW-cryptos. Cos, especially if decentalized Internet'll rise up, end-user don't need infinite bandwith of node. Any imaginable system'll have boundaries of demand (and spam already prevented by minfees) and forgers after achieving it'll compete only in reputational field, which is not only normal, but wished too.

In passive forging, you lease your forging power to another node.  You will not have to run your own node to collect transaction fees.
Mgm, in my point of vie it can only strengthen up active forging, cos there'll be a possibility for each forger to increase his own power (which'll not increase EV, but'll decrease dispersion), and with that to ensure landlords the safety of their coins from being stolen.
Ix
full member
Activity: 218
Merit: 128
Not divide.

I was presuming a different system and referring to the high probability of failure in either scenario.

So if you keep [the number of accounts the number of candidates] low, you are hoping that some few specific accounts are all online and ready to forge.

That's not how Nxt works. The account that forges the next block is selected from only online accounts with an effective stake, not from all existing accounts.

I corrected your edit. Tongue But yes I see there were some misunderstandings and I get the gist of a pretty interesting system.

Quote
Yeah it's tough to understand, even if you manage to read through all of this, and related threads!

It'd be nice if the OP was less proselytizing and more detail. Not everyone has time to jump around hundreds of forum pages to garner details.

Quote
The wiki (link in my sig) may also help.

I may have to check it out at some point.
Pages:
Jump to: