Bitcoin Forum
May 12, 2024, 01:35:22 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 [All]
  Print  
Author Topic: Proof of Stake Mining and NXT's and PPC's Implementations  (Read 2687 times)
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
June 27, 2014, 05:42:09 AM
 #1

I'm trying to understand different Proof of Stake (PoS) implementations as they exist in NXT and PPC. I've given an overview of what I've managed to find online so far, but have lots of gaps in my knowledge, can anyone help answer the questions below.

NXT
This uses a 100% PoS mining process so the likelihood of being selected as the next node to mine a block is dictated by how many coins a user has in their unlocked wallet divided by all the other coins in all the other unlocked wallets on the network.

I understand each NXT block is every 60 seconds – how is this enforced by the network?


PPC
This uses a PoS/SHA-256 hybrid, where the reliance on SHA-256 will degrade at a predetermined rate with time.

How is SHA-256 combined with PoS in PPC to generate blocks?

The likelihood of mining a block, for a given unlocked wallet, is dictated by the coin-age of the coins for that wallet, as long as the coins are over 30 days old (not sure how many blocks this is).

How is a specific wallet selected to mine the next block from all the wallets able to use their coin-age?

What is the average block time for PPC and how is this enforced?

With the gradual decrease in reliance on SHA-256 over time how will this affect block generation times?

The bottom post here makes mention of some bugs relating to spending PPC coin age. Can anyone elaborate on what it was?

http://bitcoin.stackexchange.com/questions/20007/how-does-proof-of-stake-mining-work
Each block is stacked on top of the previous one. Adding another block to the top makes all lower blocks more difficult to remove: there is more "weight" above each block. A transaction in a block 6 blocks deep (6 confirmations) will be very difficult to remove.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715477722
Hero Member
*
Offline Offline

Posts: 1715477722

View Profile Personal Message (Offline)

Ignore
1715477722
Reply with quote  #2

1715477722
Report to moderator
ThePurplePlanet
Full Member
***
Offline Offline

Activity: 144
Merit: 100


View Profile
June 27, 2014, 06:07:10 AM
 #2

Here is the main problem with Proof of stake

https://bitcointalk.org/index.php?topic=615843.msg6751334#msg6751334

PoS need some form of trust like checkpointing or web of trust solutions to solve the problem which undermines the trustless nature  of cryptocuncies. IMO opinion we should aim for algorithms that make crryptocuncies more trustless i.e. removing dependence of pools etc
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
June 27, 2014, 03:42:32 PM
 #3

Here is the main problem with Proof of stake

https://bitcointalk.org/index.php?topic=615843.msg6751334#msg6751334

PoS need some form of trust like checkpointing or web of trust solutions to solve the problem which undermines the trustless nature  of cryptocuncies. IMO opinion we should aim for algorithms that make crryptocuncies more trustless i.e. removing dependence of pools etc

Thank you for this, its a very interesting point. Am I correct in thinking that PPC is SHA-256 hybrid in an attempt to rectify this ability to rewrite coin history if you were a large coin holder in the past?
coinsolidation
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250

Bitmark Developer


View Profile WWW
June 27, 2014, 04:15:54 PM
 #4

Checkpoints are broadcast to nodes to protect against history rewrites. It's centralisation of some kind, but serves the purpose.

Bitmark (reputation+money) : Bitmark v0.9.4 (release)
ChuckOne
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

☕ NXT-4BTE-8Y4K-CDS2-6TB82


View Profile
June 27, 2014, 04:18:45 PM
 #5

Here is the main problem with Proof of stake

https://bitcointalk.org/index.php?topic=615843.msg6751334#msg6751334

PoS need some form of trust like checkpointing or web of trust solutions to solve the problem which undermines the trustless nature  of cryptocuncies. IMO opinion we should aim for algorithms that make crryptocuncies more trustless i.e. removing dependence of pools etc

PoS does not need some form of trust like checkpointing.

Bitcoin too has some checkpoints. Smiley
ChuckOne
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

☕ NXT-4BTE-8Y4K-CDS2-6TB82


View Profile
June 27, 2014, 04:23:51 PM
 #6

NXT
This uses a 100% PoS mining process so the likelihood of being selected as the next node to mine a block is dictated by how many coins a user has in their unlocked wallet divided by all the other coins in all the other unlocked wallets on the network.

I understand each NXT block is every 60 seconds – how is this enforced by the network?

I try to answer that because I know Nxt very well.

In Nxt, we can predict the next forgers based on the current block. That is achieved by an algorithm that sorts the list of all accounts pseudo-randomly where those with a higher active stake are more likely to show up in the upper part of that list. The first account in the pseudo-randomly shuffled list has the first chance to forge the next block. If he does not, the next one is given the chance and so on -- until the next block is forged.

Retargetting is another algo that keeps the blocks time relatively stable. It modifies a certain value in the forging algo to make that sure. But it also makes it almost impossible to forge a better chain.
devphp
Sr. Member
****
Offline Offline

Activity: 336
Merit: 250


View Profile
June 27, 2014, 04:37:41 PM
 #7


This problem doesn't exist as the NXT blockchain wouldn't accept re-organization attempt by someone from the past. The assumption of DeathAndTaxes is a false one.
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
June 27, 2014, 07:55:46 PM
 #8

I try to answer that because I know Nxt very well.

In Nxt, we can predict the next forgers based on the current block. That is achieved by an algorithm that sorts the list of all accounts pseudo-randomly where those with a higher active stake are more likely to show up in the upper part of that list. The first account in the pseudo-randomly shuffled list has the first chance to forge the next block. If he does not, the next one is given the chance and so on -- until the next block is forged.

Retargetting is another algo that keeps the blocks time relatively stable. It modifies a certain value in the forging algo to make that sure. But it also makes it almost impossible to forge a better chain.

So NXT retargets but relative to what? Does this retargeting have external dependencies? For example I assume it's not relying on some external time server...

devphp
Sr. Member
****
Offline Offline

Activity: 336
Merit: 250


View Profile
June 27, 2014, 07:57:53 PM
 #9

So NXT retargets but relative to what? Does this retargeting have external dependencies? For example I assume it's not relying on some external time server...

https://nxtforum.org/proof-of-stake-algorithm/forging-2088/
https://nxtforum.org/proof-of-stake-algorithm/%27blind-shooter%27-algorithm/
ThePurplePlanet
Full Member
***
Offline Offline

Activity: 144
Merit: 100


View Profile
June 29, 2014, 08:32:04 AM
 #10


This problem doesn't exist as the NXT blockchain wouldn't accept re-organization attempt by someone from the past. The assumption of DeathAndTaxes is a false one.

You probably dont understand the problem. In fact NXT devs responded to that with creating something called economic clustering which is a web of trust solution. If you have a web of trust you just trust some people and dont need proof of something
ChuckOne
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

☕ NXT-4BTE-8Y4K-CDS2-6TB82


View Profile
June 29, 2014, 09:52:10 AM
 #11

So NXT retargets but relative to what? Does this retargeting have external dependencies? For example I assume it's not relying on some external time server...

Exactly. It simply calculates the delay between the current and the previous block, scales the new base target accordingly and then caps this values by half and the double of the last base target. So, longer delays will result in higher base targets and shorter delays will result in lower base targets.

Cf. links from devphp.
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
July 27, 2014, 05:15:08 PM
 #12

Thanks for all this. Will take a look at the NXT links.

Asking about PPC specifically does the blockchain expect PoS then SHA-256 blocks in a set order of rotation or does one supersede the other based on criteria such as the number of available PoS wallets left open for mining dropping off?

How will the SHA-256 degrade over time?

I believe I read somewhere that Sunny King said he had a solution to centralised check pointing in PPC if so how does this work?
jubalix
Legendary
*
Offline Offline

Activity: 2618
Merit: 1022


View Profile WWW
July 27, 2014, 05:53:00 PM
 #13

Nxt and PPC use the same algo except NXT is trying to develop a look ahead forgeing known as transparent forgeing, which as I understand it has not been implemented yet. Also NXT uses a 720? rolling block checkpoint to stop re-orgs.

Sunny King appears to be offerigng opt out checkpointing in PPC 0.5

Admitted Practicing Lawyer::BTC/Crypto Specialist. B.Engineering/B.Laws

https://www.binance.com/?ref=10062065
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
July 27, 2014, 09:47:50 PM
 #14

Nxt and PPC use the same algo except NXT is trying to develop a look ahead forgeing known as transparent forgeing, which as I understand it has not been implemented yet. Also NXT uses a 720? rolling block checkpoint to stop re-orgs.

Sunny King appears to be offerigng opt out checkpointing in PPC 0.5

Ok, so how does that differ with regard to SHA-256 as I understand that NXT is pure PoS?
ChuckOne
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

☕ NXT-4BTE-8Y4K-CDS2-6TB82


View Profile
July 27, 2014, 09:52:50 PM
 #15

Nxt and PPC use the same algo except NXT is trying to develop a look ahead forgeing known as transparent forgeing, which as I understand it has not been implemented yet.

The algorithms are completely different.

The first difference is the definition of effective stake that is used for block generation:

Nxt - your stake
Peercoin - your stake-age
ChuckOne
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250

☕ NXT-4BTE-8Y4K-CDS2-6TB82


View Profile
July 27, 2014, 09:56:23 PM
Last edit: July 27, 2014, 10:13:49 PM by ChuckOne
 #16

Second, the block generation itself is different:

Nxt - pseudo-random, but the next block generator can be determined from the current block (that is btw already implemented but not utilized to get 1000 transactions per second)
Peercoin - random (AFAIK because it is PoW + PoS)
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
July 28, 2014, 10:24:07 AM
 #17

Second, the block generation itself is different:

Nxt - pseudo-random, but the next block generator can be determined from the current block (that is btw already implemented but not utilized to get 1000 transactions per second)
Peercoin - random (AFAIK because it is PoW + PoS)

This is more inline with what I thought. Asking about PPC specifically does the blockchain expect PoS then SHA-256 blocks in a set order of rotation or does one supersede the other based on criteria such as the number of available PoS wallets left open for mining dropping off?

How will the SHA-256 degrade over time?
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
September 08, 2014, 11:04:10 PM
 #18

Bump.
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
November 04, 2014, 11:11:09 AM
 #19

When I run PPC I have the option to run both ThreadBitcoinMiner() to mine PoW coins and ThreadStakeMinter() to mine PoS coins.

I cannot see in the source code where it decides to switch between mining PoW and PoS as these seem to be only selectable at the command prompt when the program is run.

Have I understood this correctly or can someone point me at what part of the code decides between the selection/priority of the two functions to generate the next block? Is this perhaps decided by the network rather than locally?
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
November 10, 2014, 03:12:56 PM
 #20

In the PPC source code is bnChainTrust applicable for proof-of-work blocks?
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
June 23, 2016, 05:57:19 AM
 #21

How does checkpointing in PPC work?

Broadly I understand that Sunny King or a super user with a specific key signs the PPC's blockchain periodically to effectively lock it and prevent reorganisations.
kiklo
Legendary
*
Offline Offline

Activity: 1092
Merit: 1000



View Profile
June 23, 2016, 06:18:36 AM
 #22

Here is the main problem with Proof of stake

https://bitcointalk.org/index.php?topic=615843.msg6751334#msg6751334

PoS need some form of trust like checkpointing or web of trust solutions to solve the problem which undermines the trustless nature  of cryptocuncies. IMO opinion we should aim for algorithms that make crryptocuncies more trustless i.e. removing dependence of pools etc

Actually that is BS.

Nothing At Stake Problem summarized here by gmaxwell
Quote:
"In PoW when you attempt to mine you must expend energy and so you should only mine on a consensus which is likely to be the surviving one if you want your work to not be wasted. In PoS the same is not true, and an optimally rational PoS miner will attempt to concurrently mine all forks which he does not hate."


1.  Gmaxwell is a Major BTC advocate , it is like walking over to Dunkin Donuts store and asking how the Krispy Kreme Doughnuts taste from across the street, don't expect an untainted answer.

2. In PoS , you still expend Electricity & Bandwith, it is just PoS is so much more economical to run than PoW, no one considers it a cost.
    In PoS, all of the coins compete against everyone else's coins to find consensus of the longest chain with the highest difficulty,
    this increases the Difficulty # Higher than anything you could produce alone by staking your coins alone on an offline fork  
    Since when on an offline fork , your Difficulty # will always be lower than the main chain.

    So basically the Nothing At Stake Problem , is really just a Stupid Myth.
    Because staking on the online fork makes it impossible , for your Same coins to create enough difficulty on an offline fork concurrently to matter,
    As the online fork will always have it's difficulty plus your own if you mine both concurrently.    Smiley

PoS & Pow are both protected by this simple fact, Longest Chain with the Highest Difficulty Wins.
Except some PoS Specs also include coin age which further strengthens its security.

 Cool
kiklo
Legendary
*
Offline Offline

Activity: 1092
Merit: 1000



View Profile
June 23, 2016, 06:26:25 AM
 #23

How does checkpointing in PPC work?

Broadly I understand that Sunny King or a super user with a specific key signs the PPC's blockchain periodically to effectively lock it and prevent reorganisations.

Peercoin uses a checkpoint server that sends out a checkpoint on some basis , I don't know if it is scheduled or random.
But when a checkpoint is sent out it makes sure anything below the checkpoint can not be changed.

If you don't have a large number of coins staking then a checkpoint server is a good idea,
others just set a coin up with a billion or so and there is always enough coins staking to secure the network.

Checkpoint servers could be a centralized single point of failure, which is why some coins like ZEIT don't bother with one.
NXT uses a rolling checkpoint after 720 blocks no chain reorganization is allowed.

 Cool
Pages: 1 2 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!