Author [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] Topic: Another Stupid Questions Thread - Sparkle  (Read 1036 times)

0 Members and 1 Guest are viewing this topic.

Offline iHashFury

Another Stupid Questions Thread - Sparkle
« on: December 02, 2014, 11:55:51 AM »

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 »
http://j.mp/ALTCAP - http://bit.ly/BitShares-Exchange - https://t.me/BitSharesDEX - http://bit.ly/ihashfury

"If you owe a bank thousands, you have a problem; owe a bank millions, the bank has a problem" ;)

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12242
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BTS: xeroc
  • GitHub: xeroc
Re: Another Stupid Questions Thread - Sparkle
« Reply #1 on: December 02, 2014, 12:17:03 PM »
My guess would be 'yes' .. because you need to 'sign' the block with one of your keys ..
Give BitShares a try! Use the http://testnet.bitshares.eu provided by http://bitshares.eu powered by ChainSquad GmbH

Offline arubi

  • Sr. Member
  • ****
  • Posts: 209
    • View Profile
Re: Another Stupid Questions Thread - Sparkle
« Reply #2 on: December 02, 2014, 01:10:20 PM »
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: 12242
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BTS: xeroc
  • GitHub: xeroc
Re: Another Stupid Questions Thread - Sparkle
« Reply #3 on: December 02, 2014, 03:12:20 PM »
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
Give BitShares a try! Use the http://testnet.bitshares.eu provided by http://bitshares.eu powered by ChainSquad GmbH

Offline bytemaster

Re: Another Stupid Questions Thread - Sparkle
« Reply #4 on: December 02, 2014, 03:33:33 PM »
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 Thom

Re: Another Stupid Questions Thread - Sparkle
« Reply #5 on: December 02, 2014, 04:35:27 PM »
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

Re: Another Stupid Questions Thread - Sparkle
« Reply #6 on: December 02, 2014, 04:46:06 PM »
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?

Your understanding of Bitcoin is OK by ANALOGY by not by technical implementation.  Bitcoin creates new BTC every block from nothing.  But mathematically the total number of BTC that can be created from nothing is defined by the protocol.   In theory you could view it as a genesis block that has all funds and each mined block unlocks funds from genesis block.  Economically they are the same. 

In the genesis block for Bitcoin there existed exactly 100 unspendable BTC.  After block 2 there existed 100 BTC... and so on until today with 10+ million BTC.
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 santaclause102

  • Hero Member
  • *****
  • Posts: 2487
    • View Profile
Re: Another Stupid Questions Thread - Sparkle
« Reply #7 on: December 02, 2014, 04:54:58 PM »
Sparkle,
do you have a solution for importing private keys in a trustlesss manner. It seems to be possible: https://bitsharestalk.org/index.php?topic=11833.msg155914#msg155914 You sound very trustworthy but avoiding worst case scenarios if possible is worth it.

Offline fuzzy

Re: Another Stupid Questions Thread - Sparkle
« Reply #8 on: December 02, 2014, 05:03:18 PM »
Sparkle,
do you have a solution for importing private keys in a trustlesss manner. It seems to be possible: https://bitsharestalk.org/index.php?topic=11833.msg155914#msg155914 You sound very trustworthy but avoiding worst case scenarios if possible is worth it.

When this happens, I'll be very supportive of these sparkles.
WhaleShares==DKP; BitShares is our Community! 
ShareBits and WhaleShares = Love :D

Offline Thom

Re: Another Stupid Questions Thread - Sparkle
« Reply #9 on: December 02, 2014, 06:36:32 PM »
Your understanding of Bitcoin is OK by ANALOGY by not by technical implementation.  Bitcoin creates new BTC every block from nothing.  But mathematically the total number of BTC that can be created from nothing is defined by the protocol.   In theory you could view it as a genesis block that has all funds and each mined block unlocks funds from genesis block.  Economically they are the same. 

In the genesis block for Bitcoin there existed exactly 100 unspendable BTC.  After block 2 there existed 100 BTC... and so on until today with 10+ million BTC.

Thanks for your response BM. So many points of confusion in relating what I've learned here about PTS (and by inference BTC since they're both PoW) and other answers I've got about what mining is exactly.

OK, so my friend was right about miners actually creating bitcoins. Fact committed to long term storage.

Trying to understand your last sentence:
BTC block 1: 100 BTC defined, but unspendable, meaning they can't be transferred|sold|exchanged right? If not what does unspendable mean?
BTC block 2: still 100 BTC? What, didn't you mean to say there were more? What exactly happened to create block 2? None of the original BTC were transfered, and apparently no mining took place or there would be more than 100 BTC. This does not show a progression at all. I'm more confused.

So did bitcoin have a literal genesis block of 100 BTC  as you stated above, and was it different in fundamental ways (i.e. not by magnitude) from the PTS genesis block? I have asked about PTS genesis block before, and was told it defined stakeholders and their stake right from the get go, and that if someone bought PTS from an exchange it was b/c one of the PTS stakeholders from the genesis block sold (i.e. transferred) some portion of their holdings to the exchange. Sounds like I was misinformed.

If I wasn't misinformed, I'm having a hard time reconciling a pre-existing stake in a PTS genesis block with mining units into existence. In the PTS model in my head mining only validates transfers, it does not create more PTS. Initial investors in BitShares-PTS (ProtoShares) donated BTC to secure a stake in the PTS genesis block. The PTS miners served only to sign / validate transfers of those shares. New addresses can be created but addresses are just a potential destination for a transfer.

Even what a "Block" of transactions are. It makes sense when there are lots of addresses and transfers but I don't get it when you go back in time to the original activities (what addresses and units exist, how units are transferred and the role of miners in such transfers).

I STILL don't have a lock on the basics, and it greatly disturbs me, especially when you say I got it conceptually but not practically. I don't think it's necessary to understand the mathematical basis for the cryptography to understand the flow of units and the role of miners. But I do need to understand if there are major mechanistic differences between various PoW chains like BTC and PTS.

Can you recommend a good video, podcast, or overview description of exactly how bitcoin got off the ground, the early transactions? I think you tried to do that but I don't see a progression when there are the same number of BTC for block 1 and 2.
Injustice anywhere is a threat to justice everywhere - MLK |  Verbaltech2 Witness Reports: https://bitsharestalk.org/index.php/topic,23902.0.html

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12242
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BTS: xeroc
  • GitHub: xeroc
Re: Another Stupid Questions Thread - Sparkle
« Reply #10 on: December 02, 2014, 06:56:32 PM »
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.
wow .. that's cool .. and pretty much killing the option for a pool .. nice ..
Give BitShares a try! Use the http://testnet.bitshares.eu provided by http://bitshares.eu powered by ChainSquad GmbH

Online pc

  • Hero Member
  • *****
  • Posts: 1132
    • View Profile
    • Bitcoin - Perspektive oder Risiko?
  • BTS: cyrano
  • Witness: cyrano
  • Payrate: 100%
Re: Another Stupid Questions Thread - Sparkle
« Reply #11 on: December 02, 2014, 07:52:39 PM »
Trying to understand your last sentence:
BTC block 1: 100 BTC defined, but unspendable, meaning they can't be transferred|sold|exchanged right? If not what does unspendable mean?

Actually it was only 50 BTC and the first block was block #0. https://blockchain.info/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Unspendable means that the 50 BTC created in the first block can't be spent. There is no fundamental reason for this, it's due to a minor flaw in the client (or in the protocol?) I believe.

BTC block 2: still 100 BTC? What, didn't you mean to say there were more? What exactly happened to create block 2? None of the original BTC were transfered, and apparently no mining took place or there would be more than 100 BTC. This does not show a progression at all. I'm more confused.

The second block was block #1. It was mined in the normal way and had the standard block reward of 50 BTC. https://blockchain.info/block/00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048

So did bitcoin have a literal genesis block of 100 BTC  as you stated above, and was it different in fundamental ways (i.e. not by magnitude) from the PTS genesis block? I have asked about PTS genesis block before, and was told it defined stakeholders and their stake right from the get go, and that if someone bought PTS from an exchange it was b/c one of the PTS stakeholders from the genesis block sold (i.e. transferred) some portion of their holdings to the exchange. Sounds like I was misinformed.

You were misinformed there. PTS is a classic PoW coin with no premining. https://coinplorer.com/PTS/Blocks/000fdcd47b7e75a46a2aded5f3335c90eb2224e01ab19ec64ffdd1b437d7b8c0?title=000fdcd47b7e75a46a2aded5f3335c90eb2224e01ab19ec64ffdd1b437d7b8c0
Every PTS that exists today was created by miners in accordance with the protocol.
Please vote for my BitShares witness "cyrano" and for my STEEM witness "cyrano.witness"!
Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 http://bitcoin.quisquis.de

Offline arubi

  • Sr. Member
  • ****
  • Posts: 209
    • View Profile
Re: Another Stupid Questions Thread - Sparkle
« Reply #12 on: December 02, 2014, 09:33:18 PM »
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.

Can anyone tell the time complexity of signature verification?
Is this viable on very large networks?

Offline toast

Re: Another Stupid Questions Thread - Sparkle
« Reply #13 on: December 02, 2014, 09:57:51 PM »
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.

Can anyone tell the time complexity of signature verification?
Is this viable on very large networks?

The time complexity doesn't matter because the N we are interested in is number of verifications (always 1, constant), not size of signature. It's totally viable.
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline iHashFury

Re: Another Stupid Questions Thread - Sparkle
« Reply #14 on: December 14, 2014, 11:57:44 AM »
Will there be a simple way to transfer assets between systems? eg SpkUSD to BitUSD
http://j.mp/ALTCAP - http://bit.ly/BitShares-Exchange - https://t.me/BitSharesDEX - http://bit.ly/ihashfury

"If you owe a bank thousands, you have a problem; owe a bank millions, the bank has a problem" ;)

 

Google+