1500 PTS - Bitcoin clone with Dividends, POS, and Signature POW [CANCELED]

Started by bytemaster, December 31, 2013, 06:22:41 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

barwizi

--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

barwizi

Quote from: bytemaster on February 12, 2014, 06:39:40 PM
Quote from: barwizi on February 12, 2014, 01:43:53 PM
Quote from: bytemaster on February 11, 2014, 04:36:37 PM
Quote from: barwizi on February 11, 2014, 04:15:08 PM
altough unrelated, i now have a functional PTS PoS coin.

i now have time to pay attention to Bounties again.

Nice... details?

check your inbox

the basics, are it uses the BTS PTS version of momentum. It's already complete and has been tested a few times now. I just finished writing the instructions for modifying it both basic and advanced. It can be used for BTS initiatives as is since it includes a custom license that tries to mimic the draft SCSL.

So its PoS
Momentum
Highly customize-able
Easy to modify and deploy.


:)

Now it just needs a valid use.

Very interesting... but it looks like it is using POW to decide the longest chain?

yes, it uses PoW for that, i'll think on the PoS  could you point it out please?
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

bytemaster

Quote from: barwizi on February 12, 2014, 01:43:53 PM
Quote from: bytemaster on February 11, 2014, 04:36:37 PM
Quote from: barwizi on February 11, 2014, 04:15:08 PM
altough unrelated, i now have a functional PTS PoS coin.

i now have time to pay attention to Bounties again.

Nice... details?

check your inbox

the basics, are it uses the BTS PTS version of momentum. It's already complete and has been tested a few times now. I just finished writing the instructions for modifying it both basic and advanced. It can be used for BTS initiatives as is since it includes a custom license that tries to mimic the draft SCSL.

So its PoS
Momentum
Highly customize-able
Easy to modify and deploy.


:)

Now it just needs a valid use.

Very interesting... but it looks like it is using POW to decide the longest chain?

For the latest updates checkout my blog: [url="http://bytemaster.bitshares.org"]http://bytemaster.bitshares.org[/url]
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.

barwizi

Quote from: bytemaster on February 11, 2014, 04:36:37 PM
Quote from: barwizi on February 11, 2014, 04:15:08 PM
altough unrelated, i now have a functional PTS PoS coin.

i now have time to pay attention to Bounties again.

Nice... details?

check your inbox

the basics, are it uses the BTS PTS version of momentum. It's already complete and has been tested a few times now. I just finished writing the instructions for modifying it both basic and advanced. It can be used for BTS initiatives as is since it includes a custom license that tries to mimic the draft SCSL.

So its PoS
Momentum
Highly customize-able
Easy to modify and deploy.


:)

Now it just needs a valid use.
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

barwizi

Quote from: bytemaster on February 11, 2014, 04:36:37 PM
Quote from: barwizi on February 11, 2014, 04:15:08 PM
altough unrelated, i now have a functional PTS PoS coin.

i now have time to pay attention to Bounties again.

Nice... details?

i'll pm you in a bit. I'm writing the instructions.
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

bytemaster

Quote from: barwizi on February 11, 2014, 04:15:08 PM
altough unrelated, i now have a functional PTS PoS coin.

i now have time to pay attention to Bounties again.

Nice... details?
For the latest updates checkout my blog: [url="http://bytemaster.bitshares.org"]http://bytemaster.bitshares.org[/url]
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.

barwizi

altough unrelated, i now have a functional PTS PoS coin.

i now have time to pay attention to Bounties again.
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

barwizi

Quote from: bytemaster on January 20, 2014, 02:38:58 PM
Quote from: barwizi on January 20, 2014, 12:59:35 PM
perhaps you can weigh in bytemaster, should i change ?
Quote
Please use the same curve at bitcoin so all private/public keys in my libs are compatible.

got it
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

bytemaster

Quote from: barwizi on January 20, 2014, 12:59:35 PM
perhaps you can weigh in bytemaster, should i change ?
Quote
Please use the same curve at bitcoin so all private/public keys in my libs are compatible.
For the latest updates checkout my blog: [url="http://bytemaster.bitshares.org"]http://bytemaster.bitshares.org[/url]
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.

barwizi

--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

fuzzy

Quote from: unlimited_power on January 15, 2014, 09:35:49 PM
Quote from: barwizi on January 15, 2014, 01:47:55 PM
ive gone ahead with secp256r1 32, the library is now in the src folder, it has these functions of interest

int ecc_make_key(
    uint8_t p_publicKey[ECC_BYTES+1],
    uint8_t p_privateKey[ECC_BYTES]
);

that creates a public/private key pair

int ecdsa_sign(
    const uint8_t p_privateKey[ECC_BYTES],
    const uint8_t p_hash[ECC_BYTES],
    uint8_t p_signature[ECC_BYTES*2]
);

Generates an ECDSA signature for a given hash value.

int ecdsa_verify(
    const uint8_t p_publicKey[ECC_BYTES+1],
    const uint8_t p_hash[ECC_BYTES],
    const uint8_t p_signature[ECC_BYTES*2]
);

Verifies an ECDSA signature.

credit goes to kmackay for this.

if anyone has an idea how to replace the nonce as required, just fork this repository https://github.com/Nameshar/Divsshares
and get to it. I'll be trying to figure it out as well but i'd appreciate a hand.

Why secp256r1 instead of secp256k1 as used in Bitcoin? There are concerns that secp256r1 was intentionally weakened by the NSA: https://bitcointalk.org/index.php?topic=151120.0

Amen.
WhaleShares==DKP; BitShares is our Community! 
ShareBits and WhaleShares = Love :D

barwizi

Quote from: unlimited_power on January 15, 2014, 09:35:49 PM
Quote from: barwizi on January 15, 2014, 01:47:55 PM
ive gone ahead with secp256r1 32, the library is now in the src folder, it has these functions of interest

int ecc_make_key(
    uint8_t p_publicKey[ECC_BYTES+1],
    uint8_t p_privateKey[ECC_BYTES]
);

that creates a public/private key pair

int ecdsa_sign(
    const uint8_t p_privateKey[ECC_BYTES],
    const uint8_t p_hash[ECC_BYTES],
    uint8_t p_signature[ECC_BYTES*2]
);

Generates an ECDSA signature for a given hash value.

int ecdsa_verify(
    const uint8_t p_publicKey[ECC_BYTES+1],
    const uint8_t p_hash[ECC_BYTES],
    const uint8_t p_signature[ECC_BYTES*2]
);

Verifies an ECDSA signature.

credit goes to kmackay for this.

if anyone has an idea how to replace the nonce as required, just fork this repository https://github.com/Nameshar/Divsshares
and get to it. I'll be trying to figure it out as well but i'd appreciate a hand.

Why secp256r1 instead of secp256k1 as used in Bitcoin? There are concerns that secp256r1 was intentionally weakened by the NSA: https://bitcointalk.org/index.php?topic=151120.0

it is thus far unproven and besides a few fumbles and discussions untested. I'll try look around but when i first trid fiding an exploit there was no information.
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

bytemaster

Quote from: unlimited_power on January 15, 2014, 09:35:49 PM
Quote from: barwizi on January 15, 2014, 01:47:55 PM
ive gone ahead with secp256r1 32, the library is now in the src folder, it has these functions of interest

int ecc_make_key(
    uint8_t p_publicKey[ECC_BYTES+1],
    uint8_t p_privateKey[ECC_BYTES]
);

that creates a public/private key pair

int ecdsa_sign(
    const uint8_t p_privateKey[ECC_BYTES],
    const uint8_t p_hash[ECC_BYTES],
    uint8_t p_signature[ECC_BYTES*2]
);

Generates an ECDSA signature for a given hash value.

int ecdsa_verify(
    const uint8_t p_publicKey[ECC_BYTES+1],
    const uint8_t p_hash[ECC_BYTES],
    const uint8_t p_signature[ECC_BYTES*2]
);

Verifies an ECDSA signature.

credit goes to kmackay for this.

if anyone has an idea how to replace the nonce as required, just fork this repository https://github.com/Nameshar/Divsshares
and get to it. I'll be trying to figure it out as well but i'd appreciate a hand.

Why secp256r1 instead of secp256k1 as used in Bitcoin? There are concerns that secp256r1 was intentionally weakened by the NSA: https://bitcointalk.org/index.php?topic=151120.0

Please use the same curve at bitcoin so all private/public keys in my libs are compatible.
For the latest updates checkout my blog: [url="http://bytemaster.bitshares.org"]http://bytemaster.bitshares.org[/url]
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.

vikram

Quote from: barwizi on January 15, 2014, 01:47:55 PM
ive gone ahead with secp256r1 32, the library is now in the src folder, it has these functions of interest

int ecc_make_key(
    uint8_t p_publicKey[ECC_BYTES+1],
    uint8_t p_privateKey[ECC_BYTES]
);

that creates a public/private key pair

int ecdsa_sign(
    const uint8_t p_privateKey[ECC_BYTES],
    const uint8_t p_hash[ECC_BYTES],
    uint8_t p_signature[ECC_BYTES*2]
);

Generates an ECDSA signature for a given hash value.

int ecdsa_verify(
    const uint8_t p_publicKey[ECC_BYTES+1],
    const uint8_t p_hash[ECC_BYTES],
    const uint8_t p_signature[ECC_BYTES*2]
);

Verifies an ECDSA signature.

credit goes to kmackay for this.

if anyone has an idea how to replace the nonce as required, just fork this repository https://github.com/Nameshar/Divsshares
and get to it. I'll be trying to figure it out as well but i'd appreciate a hand.

Why secp256r1 instead of secp256k1 as used in Bitcoin? There are concerns that secp256r1 was intentionally weakened by the NSA: https://bitcointalk.org/index.php?topic=151120.0

barwizi

Quote from: toast on January 15, 2014, 04:15:45 PM

Here is verification
https://github.com/Nameshar/Divsshares/blob/master/src/main.cpp#L2047

Replace the place it calls CheckProofOfWork with a call to a custom CheckProofOfMasterSignature, which needs to access the master signature on a block

https://github.com/Nameshar/Divsshares/blob/master/src/main.h#L836

^ I recommend we add a new field of the right type rather than changing the nonce's type and setting it there, that lets us touch less code.


Creating a block:
https://github.com/Nameshar/Divsshares/blob/master/src/main.cpp#L3992

In the non-PoS case "mining" is just waiting until a new signature has been approved, we should let it try to mine so it builds up a valid block in the process

The interface for creating a master-signed block might be the longest part of this step. How about an rpc call which asks for the key, which will immediately publish whatever block the client is "mining" at that moment?

thanks
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.