Author Topic: 1500 PTS - Bitcoin clone with Dividends, POS, and Signature POW [CANCELED]  (Read 16745 times)

0 Members and 1 Guest are viewing this topic.

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
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?
« Last Edit: February 13, 2014, 02:21:02 pm by barwizi »
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

Offline bytemaster

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: 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 barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
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.

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
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.
« Last Edit: February 12, 2014, 11:24:22 am by barwizi »
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

Offline bytemaster

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: 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 barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
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.

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
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.

Offline bytemaster

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: 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 barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
perhaps you can weigh in bytemaster, should i change ?
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

Offline fuzzy

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

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org
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.

Offline bytemaster

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: 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 vikram

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

Offline barwizi

  • Hero Member
  • *****
  • Posts: 764
  • Noirbits, NoirShares, NoirEx.....lol, noir anyone?
    • View Profile
    • Noirbitstalk.org

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.