Pages:
Author

Topic: [ANN] [PPC] PPCoin Released! - First Long-Term Energy-Efficient Crypto-Currency - page 96. (Read 684864 times)

hero member
Activity: 504
Merit: 500
FPGA Mining LLC
I agree with that it can't be changed easily now. Just wondering what the original reason to do that was, because it requires unlocking the wallet even for proof of work mining.
https://bitcointalksearch.org/topic/m.1258910

It's a way to make the block tamperproof, i.e. nodes who don't own the stake key cannot change the contents of the merkel tree (i.e. the transactions) without invalidating the proof of stake.

Then why does it apply to proof-of-work blocks?

For proof of stake blocks you need the private key anyway to generate the kernel txn, so you can use it for signing the header as well, it doesn't hurt there any more than the other requirements do already.
hero member
Activity: 504
Merit: 500
FPGA Mining LLC
I've spent some time to work on p2pool support for PPC/NVC and now it works fine with NVC. I will add PPC to networks list soon.  Smiley

http://p2pool.novaco.in/

But there is a small problem which should be solved before it will be usable with PPC.

  • SignBlock rules should allow signing by any coinbase owner, not only the first one;
  • EntropyBit source should be switched from signature hash to something another (block hash or merkle root, for example)

Practical temporary solution: send one satoshi (or even zero, if that is possible) from every block to a publicly known keypair (which everyone can install in his wallet) as the first txout of the coinbase txn.
donator
Activity: 994
Merit: 1000
I agree with that it can't be changed easily now. Just wondering what the original reason to do that was, because it requires unlocking the wallet even for proof of work mining.
https://bitcointalksearch.org/topic/m.1258910

It's a way to make the block tamperproof, i.e. nodes who don't own the stake key cannot change the contents of the merkel tree (i.e. the transactions) without invalidating the proof of stake.
legendary
Activity: 3108
Merit: 1359
I've spent some time to work on p2pool support for PPC/NVC and now it works fine with NVC. I will add PPC to networks list soon.  Smiley

http://p2pool.novaco.in/

But there is a small problem which should be solved before it will be usable with PPC.

  • SignBlock rules should allow signing by any coinbase owner, not only the first one;
  • EntropyBit source should be switched from signature hash to something another (block hash or merkle root, for example)

P2Pool allows any user to submit found block, it's one of the main scalability factors. Without this there will be too high risk of invalid blocks generation.

I assume that this changes could be applied by adding 95% supermajority protocol switch rule like bitcoin v1-->v2 migration, for example.

P.S. The actual list of requirements for a valid p2pool implementation:

  • All outpoints should use pubkey, and all miners should be able to sign found block using their own keys and outputs
  • It must calculate and apply fee for coinbase transaction
  • It must ignore feeless transactions
  • It must use the diff-based reward calculation function
  • It must prevent generation of blocks with coinbase outputs less than 0.01
  • It must prevent generation of blocks, which are invalid in the terms of header and txns timestamp rules

 Roll Eyes
hero member
Activity: 504
Merit: 500
FPGA Mining LLC
Sunny King, do you have any plans to introduce new stuff from bitcoin 0.8 i.e. getblocktemplate, getrawtransaction etc ?

Yes bitcoin 0.8 features are planned for next release.

You might want to have a look at my git forks:
https://github.com/TheSeven/ppcoin
https://github.com/TheSeven/stratum-mining

At the first glance they seem to be functional, however they aren't yet thoroughly tested. I've sucessfully mined testnet blocks using Stratum.
Intelftw is working on a pool frontend right now, so that we hopefully have a pool without insane fees again soon.

A p2pool port is in the works (and hopefully mostly done), with one major issue remaining: The fact that the first txout in the coinbase needs to be a compressed pubkey one. Might make most sense to avoid that by always sending one satoshi to a hardwired donation address.

I'm giving your git fork a try, except I'm getting this error when running stratum:

http://pastebin.com/CrZ1hXE4

Altho its still running I have not tried mining on it yet.

Due to the way ppcoin works, you have to provide a compressed public key (in hex notation) that is owned by the (unlocked) wallet of the same ppcoind as the funds collection address. You can get that by obtaining the private key from ppcoind using dumpprivkey, and then using the last tab on http://ppcoin.org/bitaddress (or http://ppcoin.org/bitaddress?testnet=1). It should start with 02 (or possibly 03).

OK I have the compressed pub key but now how do I give it to stratum??

EDIT:
nevermind I just hacked the pubkey into coinbaser.py now I'm mining!! I will try to setup a pool front end and see if I can get a ppc pool going.

Just provide it as the funds collection address in config.py
newbie
Activity: 70
Merit: 0
I never knew they uncommented lines in ancient greece.  Cheesy The more you know... Anyhow, setting flags in a gui isn't that difficult, assuming it's documentation doesn't suck ass.

98% won't read the manual or will give up if it is unclear, not in their language (either on a national or semantic level) 'hidden' in docs folders or readme files etc. Setting flags in a gui? Ask this to your mom. After you explained what a GUI is ('a graphical what? Sounds like porn' she might very likely say), you can tell her to set a flag. If she is from Canada, she will look for the Maple leaf button to click on..

Editing conf files and running command lines is far, far trickier. Even with the most up to date read-mes it can feel daunting to the types you listed.

Yep, that's what I mean. But instead of 'newbie' questions (free user testing!) being used to improve the products and services, they are just being sent into a deeper maze with little clue about which exits are damaging to them.

Also, how are the exchanges limited to techies/coders/scriptkiddies? I mean, an exchange is an exchange is an exchange...it works just like a stock market, no?

Yes. When was the last time your mother/neighbour (or anybody else that makes daily decisions about how and where to spend cash and money) made a killing on the stock market? What would happen if they stepped into the trading hall at Wall street? Yes, Crypto-cash is just like the stock market: limited to insiders and script kiddies, and the regular users have no idea what is really going on and often lose their life savings everytime someone controlling the systems decides to get some pay-out.

It's very simple: show your mum your computer screen (note that I use mom as a role model for the not technically savvy user, could be dad, baby-brother or neighbour). Give them 3 open wallets: BTC, LTC and PPC. Tell them to trade between them. See how far they get. Anything that needs more than one Google search won't be accepted. The most important aspect of any consumer-oriented system, is to view it through the eyes of the consumer.
sr. member
Activity: 280
Merit: 250
V for Victory or Rather JustV8
I assume multiple core, else it could not get over 12.5% (Intel I7 2600k, 4-core/8threads). It has been doing the same on every try. Not sure what it is doing as the blockchain is synched and I am not mining PPC?

Are you sure cpu mining wasn't turned on by accident? Like 'gen=1' set in ppcoin.conf?

You are correct, it was, thanks. I had forgotten about that and the instructions in the demo ppcoin.conf file are ambiguous anyway. I thought I needed to turn this on in order to be able to mine at all for this wallet (or it might add a mining tab on the wallet as with the Litecoin wallet).

This and your previous post above brings to light a very important limitation which will prevent grand-scale acceptance of Crypto currency and PPC:
It is too difficult. I am definitely not a noob, I worked for DigiCash back in the day (15 years ago), inventors of the first crypto cash. We had long fights with the developers and always the answer was "but they can just type in -command -X  %% shsgat getcash 15x ff" and they will send a coin?

No.

Command line -> No userbase
No one-click install -> no userbase
"Adding flags to GUI clients" -> no userbase.
Manually finding and editing .conf files (whether they are clear or not) -> no userbase.
etc etc.

Currently the new crypocurrencies (not just the mining, but also the basic usage, exchanges etc) are limited to techies, coders and scriptkiddies and if we don't take care, more alternative currencies will pop up than actual users. How many systems have done user-testing?

Any system should be tested on
- Your mother and grandmother if you have them
- The guy across the street that just started his first hotmail and facebook account
- etc. tell them to "uncomment the line in the configuration file" (which most coders consider a user-friendly phrase) and they will look at you as if it was ancient Greek and rightfully so.

If they can't figure it out (and with all current instructions they will give up after the first difficult step), then it won't happen. Then the systems will be the playground of a few smart investors, a lot of wannabees and scriptkiddies. And this will reflect bad on all of us and all of the system.

As everybody with a bit of marketing knowledge knows: it is not the best system that wins and stays afloat: it is the system that's gets spread the best, fastest and easiest that wins, even if it is inferior.
Phillips almost went belly-up twice a few decades ago: first they stuck to making things that were very useful, but the japanese started making things that the people knew they wanted (subtle difference). Then Philips came up with the best Video system (V2000), superior to Betamax and VHS. Guess which one became standard and which one died out?

Here ends the lesson/rant. Nothing personal, but I have seen one crypto cash going down from up close and would like to prevent another as the basic ideas are still wonderful.

I never knew they uncommented lines in ancient greece.  Cheesy The more you know... Anyhow, setting flags in a gui isn't that difficult, assuming it's documentation doesn't suck ass. Editing conf files and running command lines is far, far trickier. Even with the most up to date read-mes it can feel daunting to the types you listed. Also, how are the exchanges limited to techies/coders/scriptkiddies? I mean, an exchange is an exchange is an exchange...it works just like a stock market, no?
newbie
Activity: 70
Merit: 0
I assume multiple core, else it could not get over 12.5% (Intel I7 2600k, 4-core/8threads). It has been doing the same on every try. Not sure what it is doing as the blockchain is synched and I am not mining PPC?

Are you sure cpu mining wasn't turned on by accident? Like 'gen=1' set in ppcoin.conf?

You are correct, it was, thanks. I had forgotten about that and the instructions in the demo ppcoin.conf file are ambiguous anyway. I thought I needed to turn this on in order to be able to mine at all for this wallet (or it might add a mining tab on the wallet as with the Litecoin wallet).

This and your previous post above brings to light a very important limitation which will prevent grand-scale acceptance of Crypto currency and PPC:
It is too difficult. I am definitely not a noob, I worked for DigiCash back in the day (15 years ago), inventors of the first crypto cash. We had long fights with the developers and always the answer was "but they can just type in -command -X  %% shsgat getcash 15x ff" and they will send a coin?

No.

Command line -> No userbase
No one-click install -> no userbase
"Adding flags to GUI clients" -> no userbase.
Manually finding and editing .conf files (whether they are clear or not) -> no userbase.
etc etc.

Currently the new crypocurrencies (not just the mining, but also the basic usage, exchanges etc) are limited to techies, coders and scriptkiddies and if we don't take care, more alternative currencies will pop up than actual users. How many systems have done user-testing?

Any system should be tested on
- Your mother and grandmother if you have them
- The guy across the street that just started his first hotmail and facebook account
- etc. tell them to "uncomment the line in the configuration file" (which most coders consider a user-friendly phrase) and they will look at you as if it was ancient Greek and rightfully so.

If they can't figure it out (and with all current instructions they will give up after the first difficult step), then it won't happen. Then the systems will be the playground of a few smart investors, a lot of wannabees and scriptkiddies. And this will reflect bad on all of us and all of the system.

As everybody with a bit of marketing knowledge knows: it is not the best system that wins and stays afloat: it is the system that's gets spread the best, fastest and easiest that wins, even if it is inferior.
Phillips almost went belly-up twice a few decades ago: first they stuck to making things that were very useful, but the japanese started making things that the people knew they wanted (subtle difference). Then Philips came up with the best Video system (V2000), superior to Betamax and VHS. Guess which one became standard and which one died out?

Here ends the lesson/rant. Nothing personal, but I have seen one crypto cash going down from up close and would like to prevent another as the basic ideas are still wonderful.
hero member
Activity: 556
Merit: 500
Sunny King, do you have any plans to introduce new stuff from bitcoin 0.8 i.e. getblocktemplate, getrawtransaction etc ?

Yes bitcoin 0.8 features are planned for next release.

You might want to have a look at my git forks:
https://github.com/TheSeven/ppcoin
https://github.com/TheSeven/stratum-mining

At the first glance they seem to be functional, however they aren't yet thoroughly tested. I've sucessfully mined testnet blocks using Stratum.
Intelftw is working on a pool frontend right now, so that we hopefully have a pool without insane fees again soon.

A p2pool port is in the works (and hopefully mostly done), with one major issue remaining: The fact that the first txout in the coinbase needs to be a compressed pubkey one. Might make most sense to avoid that by always sending one satoshi to a hardwired donation address.

I'm giving your git fork a try, except I'm getting this error when running stratum:

http://pastebin.com/CrZ1hXE4

Altho its still running I have not tried mining on it yet.

Due to the way ppcoin works, you have to provide a compressed public key (in hex notation) that is owned by the (unlocked) wallet of the same ppcoind as the funds collection address. You can get that by obtaining the private key from ppcoind using dumpprivkey, and then using the last tab on http://ppcoin.org/bitaddress (or http://ppcoin.org/bitaddress?testnet=1). It should start with 02 (or possibly 03).

OK I have the compressed pub key but now how do I give it to stratum??

EDIT:
nevermind I just hacked the pubkey into coinbaser.py now I'm mining!! I will try to setup a pool front end and see if I can get a ppc pool going.
hero member
Activity: 504
Merit: 500
FPGA Mining LLC
Sunny King, do you have any plans to introduce new stuff from bitcoin 0.8 i.e. getblocktemplate, getrawtransaction etc ?

Yes bitcoin 0.8 features are planned for next release.

You might want to have a look at my git forks:
https://github.com/TheSeven/ppcoin
https://github.com/TheSeven/stratum-mining

At the first glance they seem to be functional, however they aren't yet thoroughly tested. I've sucessfully mined testnet blocks using Stratum.
Intelftw is working on a pool frontend right now, so that we hopefully have a pool without insane fees again soon.

A p2pool port is in the works (and hopefully mostly done), with one major issue remaining: The fact that the first txout in the coinbase needs to be a compressed pubkey one. Might make most sense to avoid that by always sending one satoshi to a hardwired donation address.

I'm giving your git fork a try, except I'm getting this error when running stratum:

http://pastebin.com/CrZ1hXE4

Altho its still running I have not tried mining on it yet.

Due to the way ppcoin works, you have to provide a compressed public key (in hex notation) that is owned by the (unlocked) wallet of the same ppcoind as the funds collection address. You can get that by obtaining the private key from ppcoind using dumpprivkey, and then using the last tab on http://ppcoin.org/bitaddress (or http://ppcoin.org/bitaddress?testnet=1). It should start with 02 (or possibly 03).
hero member
Activity: 504
Merit: 500
FPGA Mining LLC
A p2pool port is in the works (and hopefully mostly done), with one major issue remaining: The fact that the first txout in the coinbase needs to be a compressed pubkey one. Might make most sense to avoid that by always sending one satoshi to a hardwired donation address.

p2pool support requires coinbase protocol change and there might be other unforeseen impacts not known right now. I am currently against implementing it. So please consider suspending p2pool development for now.

Sure, it requires a lot of changes to p2pool, which is why it will require a lot of testing before we can be confident that the p2pool chain won't break all the time. The way I'm doing it shouldn't impact ppcoin though, I'm just changing the RPC API and adding auto-signing of blocks.

Is there a particular reason why you think this might be a bad idea? Are you planning to adapt to what p2pool requires on the ppcoin side, or just planning to do the same in the long run?
hero member
Activity: 504
Merit: 500
FPGA Mining LLC
From a technical point of view:
I understand that the private keys are required for proof of stake mining anyway. But why do you sign the block header with the first coinbase txout key? What's the point in doing that?

That might have been unnecessary, although I haven't put too much thought into it. But I don't think that would be changed now unless it's absolutely important.

I agree with that it can't be changed easily now. Just wondering what the original reason to do that was, because it requires unlocking the wallet even for proof of work mining.
hero member
Activity: 504
Merit: 500
FPGA Mining LLC
dns updated to include dreamwatcher and TheSeven's nodes. Thanks guys!

Please note that my node does not have a static IP, which is why I used that no-ip address.
hero member
Activity: 556
Merit: 500
Sunny King, do you have any plans to introduce new stuff from bitcoin 0.8 i.e. getblocktemplate, getrawtransaction etc ?

Yes bitcoin 0.8 features are planned for next release.

You might want to have a look at my git forks:
https://github.com/TheSeven/ppcoin
https://github.com/TheSeven/stratum-mining

At the first glance they seem to be functional, however they aren't yet thoroughly tested. I've sucessfully mined testnet blocks using Stratum.
Intelftw is working on a pool frontend right now, so that we hopefully have a pool without insane fees again soon.

A p2pool port is in the works (and hopefully mostly done), with one major issue remaining: The fact that the first txout in the coinbase needs to be a compressed pubkey one. Might make most sense to avoid that by always sending one satoshi to a hardwired donation address.

I'm giving your git fork a try, except I'm getting this error when running stratum:

http://pastebin.com/CrZ1hXE4

Altho its still running I have not tried mining on it yet.
legendary
Activity: 1205
Merit: 1010
Could someone explain how this whole stake/mint process works? Especially with a locked wallet(which I'm still trying to unlock).

You can unlock by running qt with '-server' (or server=1 in ppcoin.conf) and then unlock from command line. In the future there would be a gui option to do this without needing command line access.
full member
Activity: 146
Merit: 100
Could someone explain how this whole stake/mint process works? Especially with a locked wallet(which I'm still trying to unlock).
legendary
Activity: 1205
Merit: 1010
I assume multiple core, else it could not get over 12.5% (Intel I7 2600k, 4-core/8threads). It has been doing the same on every try. Not sure what it is doing as the blockchain is synched and I am not mining PPC?

Are you sure cpu mining wasn't turned on by accident? Like 'gen=1' set in ppcoin.conf?
newbie
Activity: 70
Merit: 0
Hi Sunny,

thanks for the explanation. You might have missed it in my other remarks above, but are you aware that the current client (wallet) seems to have a CPU leak?
Not sure if I am the only one, but after opening it takes over 60+% of CPU (would probably be more if I did not have other things running as total goes to 100%).

It overtakes running Scrypt mining, crippling it and other processes, so I have to close the wallet.

Thanks!

I have noticed reports of intermittent occurrence of this problem. Is your client consuming single core or multiple core cpu utilization?

I assume multiple core, else it could not get over 12.5% (Intel I7 2600k, 4-core/8threads). It has been doing the same on every try. Not sure what it is doing as the blockchain is synched and I am not mining PPC?
legendary
Activity: 1205
Merit: 1010
From a technical point of view:
I understand that the private keys are required for proof of stake mining anyway. But why do you sign the block header with the first coinbase txout key? What's the point in doing that?

That might have been unnecessary, although I haven't put too much thought into it. But I don't think that would be changed now unless it's absolutely important.
hero member
Activity: 658
Merit: 500
Sunny King, do you have any plans to introduce new stuff from bitcoin 0.8 i.e. getblocktemplate, getrawtransaction etc ?

Yes bitcoin 0.8 features are planned for next release.

You might want to have a look at my git forks:
https://github.com/TheSeven/ppcoin
https://github.com/TheSeven/stratum-mining

At the first glance they seem to be functional, however they aren't yet thoroughly tested. I've sucessfully mined testnet blocks using Stratum.
Intelftw is working on a pool frontend right now, so that we hopefully have a pool without insane fees again soon.

A p2pool port is in the works (and hopefully mostly done), with one major issue remaining: The fact that the first txout in the coinbase needs to be a compressed pubkey one. Might make most sense to avoid that by always sending one satoshi to a hardwired donation address.
+1 for stratum merge!
Pages:
Jump to: