Bitcoin Forum
June 14, 2024, 09:44:04 PM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: PPC Stake  (Read 1511 times)
Sunny King
Legendary
*
Offline Offline

Activity: 1205
Merit: 1010



View Profile WWW
April 03, 2013, 08:55:01 PM
Last edit: April 03, 2013, 09:12:44 PM by Sunny King
 #21

I like the innovation in the proof of stake concept in PPCcoin very much, but in the current PPCoin implementation, as far as I understand it, I see some drawbacks.

I’m also thinking about improving the proof of stake concept, therefore I have some questions:

Why using coinage for securing the network? Doesn't this make it more vulnerable to burning coin age double spending attacks?
Isn't it better to just sign with the coins itself?
(The reward of coins could be still 1% per coin age)

Isn't it better if you can secure the network at once with your coins? So why someone has to wait X days?


It's a good question. Main reasons are:

1) Using new coins to sign block could cause problem for the block chain to recover from a chain fork. This is why 30-day minimum is chosen with the assumption that any chain fork that extends that long has to be bugs, attacks, or major network partitioning incidents, and would have been resolved via developer and user intervention.

2) Stake kernel is verified before block acceptance/connection to prevent a type of DoS attack on block-chain storage. This also requires a hardening point consistent among all nodes. (As of v0.3 this hardening point is about 21 days due to the 9-day modifier generation window)

I have explained in the design paper that we chose not to redesign bitcoin's data structures so the above design choices were dictated by this decision.

Note the coin-age weighting is capped at 90-day age since v0.2. So beyond 90 days it's effectively generated by coins instead of coin-age.
tacotime
Legendary
*
Offline Offline

Activity: 1484
Merit: 1005



View Profile
April 03, 2013, 08:58:52 PM
 #22

2) Stake kernel is verified before block connection to prevent a type of DoS attack on block-chain storage. This also requires a hardening point consistent among all nodes. (As of v0.3 this hardening point is about 21 days due to the 9-day modifier generation window)

Can you elaborate on this?

Namely:
1) What stake kernel is and how it is verified, and what you mean by "block connection".
2) What a hardening point is, and what the 9-day modifier generation window is/means.

Code:
XMR: 44GBHzv6ZyQdJkjqZje6KLZ3xSyN1hBSFAnLP6EAqJtCRVzMzZmeXTC2AHKDS9aEDTRKmo6a6o9r9j86pYfhCWDkKjbtcns
Sunny King
Legendary
*
Offline Offline

Activity: 1205
Merit: 1010



View Profile WWW
April 03, 2013, 09:07:06 PM
 #23

Can you elaborate on this?

Namely:
1) What stake kernel is and how it is verified, and what you mean by "block connection".
2) What a hardening point is, and what the 9-day modifier generation window is/means.

1) Stake kernel is defined in the design paper, it's the input 0 of stake transaction. As to block connection, bitcoin block is processed in 3 steps: check/orphan, acceptance, connection. Connection is when all transactions are connected and inputs verified.

2) Hardening point is where all nodes are assumed to have reached consensus on the part of block chain before this point. The stake modifier introduced in v0.3 is calculated over a roughly 9 day window. I have described this before in my weekly updates.
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!