Author Topic: Another Stupid Questions Thread - Sparkle  (Read 4652 times)

0 Members and 1 Guest are viewing this topic.

Offline Thom

OK, this one relates to PoW in general, so I assume it also relates to sparkle.

I was trying to explain a few basics of PoS as opposed to PoW to a friend of mine on Thansgiving, a very sharp guy actually, but got hung up on some facts. Hopefully this will be easy to answer.

My friend claimed bitcoins do not exist until miners produce them. The code sets the maximum number of BTC that can ever be created. Some years in the future mining will stop altogether.

I claimed no, the miners are rewarded bitcoin (currectly 50) for being the first one to find next signing key and use it to sign a block of transactions and publish that block to the blockchain. The total pool of BTC is defined by the genesis block, and that also defines who (i.e. what private key addresses) own what amount of that pool; in other words the genesis block defines the total stake and initial stakeholders and their portions.

When one of those stakeholders "spends" some BTC, they do so by sending some of their stake to another address; that transfer is broadcast (to all nodes or peers) and miners see them and begin trying to solve the private key algorithm to sign (validate) them and publish the transaction (i.e. the transfer) on the official blockchain ledger.

Is this correct or was my friend? Or are we both partially correct, for example unlike PTS, Bitcoin didn't start out with a genesis block. What I described is true for PTS but not for BTC. If I am correct, and bitcoin did have a genesis block, it would have to reserve some portion of the total stake for use as the miner's reward, but that doesn't sound right.

Does bitcoin have a genesis block like PTS or use some other method of starting the ball rolling?

And how do transaction fees fit into the puzzle? Aren't they basically just a "tip", to incentivize miners to process their transactions before others?
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline bytemaster

You do?
I'm pretty sure I mined most of my blocks with my wallet locked.

I mean, it's proof of work. You don't need to sign a block hash in other POW blockchains, so why here?
The dev did talk about signing blocks in a different thread, but that's not happening yet afaik.
hmm .. seems right .. you only need an address and the right 'nonce' of some kind .. for the coinbase address ..
I was mixing this up with POS minting like  PPC/NXT

It looks like Sparkles is thinking of requiring your private key to mine which would have a very interesting effect on mining pools.

Quote
I am looking at a new approach to mining that will make Sparkle very resistant to mining pool centralization by requiring the private key of the account that will receive the mining rewards to be part of the mining process.   I will replace the "miner address" field with a "signature" field and remove the nonce.   To mine you must produce a signature of the block header such the the hash of the header + signature is less than some threshold.    The only option is to sign over and over again because if you change anything in the block then the signature will not match the proper key. 

The benefit of a mining pool resistant proof of work is that if and when ASICs are produced they will be performing ECC operations for signing transactions. 

New proposed mining algorithm:

SignedHeader = MinerPrivateKey.sign( SHA256( header ) )
HashSignedHeader = SHA256( SignedHeader )
PublicKeyCheck = ECC_RECOVER_PUBLIC_KEY( SignedHeader.Signature, HashSignedHeader )
HASH = SHA256( PublicKeyCheck )

What are the properties of this set of operations?
1) To produce a block you must have access to the MinerPrivateKey.  This eliminates mining.
2) To produce a block you must perform a ECC Signature
3) To produce a block you must perform a ECC Key Recovery which is the CPU bottleneck on transaction processing.

Given these steps it should result in ECC Key Recovery ASICs being produced which if done properly will help accelerate transaction processing and validation.   Assuming this is implemented on a GPU it will help all crypto's to validate transactions faster. 

The impact of not having mining pools means miners must handle the variability in finding blocks.  This will change the incentive structure significantly.  Having faster block times will help increase the number of winners.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
You do?
I'm pretty sure I mined most of my blocks with my wallet locked.

I mean, it's proof of work. You don't need to sign a block hash in other POW blockchains, so why here?
The dev did talk about signing blocks in a different thread, but that's not happening yet afaik.
hmm .. seems right .. you only need an address and the right 'nonce' of some kind .. for the coinbase address ..
I was mixing this up with POS minting like  PPC/NXT

Offline arubi

  • Sr. Member
  • ****
  • Posts: 209
    • View Profile
You do?
I'm pretty sure I mined most of my blocks with my wallet locked.

I mean, it's proof of work. You don't need to sign a block hash in other POW blockchains, so why here?
The dev did talk about signing blocks in a different thread, but that's not happening yet afaik.
« Last Edit: December 02, 2014, 01:20:08 pm by arubi »

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
My guess would be 'yes' .. because you need to 'sign' the block with one of your keys ..

iHashFury

  • Guest
Ask the questions you've always wanted to ask but were too embarrassed to admit you didn't know.

Examples :

Do you need to unlock the Sparkle wallet to mine?


ps. Great idea by MeTHoDx https://bitsharestalk.org/index.php?topic=8390.0

What is Sparkle?

Sparkle is the first "2.0" variation based upon Proof of Work.   Ripple, Nxt, BitShares, and potentially Ethereum are all Proof of Stake systems.  Sparkle will add some shine to proof of work chains.

Sparkle replaces the Delegated Proof of Stake of BitShares with good old fashioned proof of work.  The "delegates" retain the role of producing price feeds for BitAssets (market pegged, 3x collateralized, block chain enforced assets pegged to Gold, Silver, the Dollar and Bitcoin).

Currency Unit:  SPK (Spark)
Mining Algorithm: SHA512  (initial, may change subject to delegate vote.)
Initial Supply: 100M SPK  (Divided among AGS, PTS, and BTS holders)
Mining Reward:  50 SPK / block, linearlly decreasing to 0 over 100 years.
Workers Reward:  50 SPK / block, linearlly decreasing to 0 over 100 years.
Block Interval: 20 seconds
Maximum Spark Supply: 7,984,000,000 SPK after 100 years.
Precision:  5 decimal places

More info:
http://thetruesparkles.wix.com/sparkle
http://thetruesparkles.wix.com/sparkle#!faq/cyx2
Build it:
https://github.com/sparkle5/Sparkle

SubForum :
https://bitsharestalk.org/index.php?board=80.0
« Last Edit: January 05, 2015, 04:54:50 pm by iHashFury »