Author Topic: $5000 Bounty - Dividend Paying ProtoShares  (Read 9285 times)

0 Members and 1 Guest are viewing this topic.

Offline bytemaster

is this 5k going to be added to the 500 PTS one? That would make me work even faster

This bounty is now expired and the new 500 PTS bounty takes its place.
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
 is this 5k going to be added to the 500 PTS one? That would make me work even faster
--Bar--  PiNEJGUv4AZVZkLuF6hV4xwbYTRp5etWWJ

The magical land of crypto, no freebies people.

Offline FreeTrade

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 700
    • View Profile
I have dramatically simplified the implementation of this:

http://bitsharestalk.org/index.php?topic=1169.0

+1

Agree - this is a much simpler way to implement. It's quite a beautiful paradigm shift. No hiding place for inflation.
“People should be more sophisticated? How are you gonna get that done?” - Jerry Seinfeld reply to Bill Maher

Offline bytemaster

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 voldemort628

  • Full Member
  • ***
  • Posts: 117
    • View Profile
From time to time we offer bounties to build general purpose components for potential use in future offerings. Often we use an existing code base (Bitcoin or ProtoShares) as the starting point. Not every bounty implies a stand-alone future product.  Sometimes they are for test or training purposes.  Sometimes they constitute job interviews.   :) 

Once our own research has allowed us to understand a component well enough to spec it for someone else to build, we try to offer others a way to participate on some of the build-to-spec, integration and testing tasks.  Building up a distributed, autonomous "Steely-Eyed-Geek" developer community is just as important to defending Free Space as Keyhotee and the DACs themselves.

ok cool :)

Offline Stan

  • Hero Member
  • *****
  • Posts: 2908
  • You need to think BIGGER, Pinky...
    • View Profile
    • Cryptonomex
  • BitShares: Stan
I am not sure if I understand what this "dividend paying protoshares" means..can someone please elaborate?
is it just an experiement? or is it a new developments/ a new DAC to solve a problem/serve a purpose? or what ?
how is it related to pts and bitshares?

From time to time we offer bounties to build general purpose components for potential use in future offerings. Often we use an existing code base (Bitcoin or ProtoShares) as the starting point. Not every bounty implies a stand-alone future product.  Sometimes they are for test or training purposes.  Sometimes they constitute job interviews.   :) 

Once our own research has allowed us to understand a component well enough to spec it for someone else to build, we try to offer others a way to participate on some of the build-to-spec, integration and testing tasks.  Building up a distributed, autonomous "Steely-Eyed-Geek" developer community is just as important to defending Free Space as Keyhotee and the DACs themselves.
Anything said on these forums does not constitute an intent to create a legal obligation or contract of any kind.   These are merely my opinions which I reserve the right to change at any time.

Offline voldemort628

  • Full Member
  • ***
  • Posts: 117
    • View Profile
I am not sure if I understand what this "dividend paying protoshares" means..can someone please elaborate?
is it just an experiement? or is it a new developments/ a new DAC to solve a problem/serve a purpose? or what ?
how is it related to pts and bitshares?

Offline bytemaster

Okay I think I've got it - the dividends are funds which aren't explicitly recorded in the blockchain, but which can be inferred by examination of the blockchain. The cleanest implementation I can think of would be to add them as coinbase transactions that are immediately spendable and spent in the block in which they are added. Conceptually, it's very clean, but implementation would require very careful work. You'd have to be extra careful to avoid ruling out the possibility of a lightweight client in the future.

No need to add them to the coin base transaction.   All you need to do is record 'dividends earned this block' in the block header.  Everything else can be calculated on a per-transaction basis.   Lightweight clients only need the block headers.
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 FreeTrade

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 700
    • View Profile
Okay I think I've got it - the dividends are funds which aren't explicitly recorded in the blockchain, but which can be inferred by examination of the blockchain. The cleanest implementation I can think of would be to add them as coinbase transactions that are immediately spendable and spent in the block in which they are added. Conceptually, it's very clean, but implementation would require very careful work. You'd have to be extra careful to avoid ruling out the possibility of a lightweight client in the future. 
“People should be more sophisticated? How are you gonna get that done?” - Jerry Seinfeld reply to Bill Maher

Offline bytemaster

Hmm - one issue I encountered with MemoryCoin voting was that it was never clear in the outputs which address was receiving the funds and which was the change address. You might have a similar issue here - how do you know which output address to award the dividend to?
If you start awarding the dividend to the sending address, then there may be no way to clear a balance to zero - there is always dust there.

Dividends are accumulated in the inputs.  Inputs + Dividends must be greater than Output + Min Fees.   Any amount not specified in an output address is automatically a fee.   Transactions are constructed assuming the dividends as the inputs so the sum of the outputs includes the dividends.  There is not a separate dividend output.
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 FreeTrade

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 700
    • View Profile
Hmm - one issue I encountered with MemoryCoin voting was that it was never clear in the outputs which address was receiving the funds and which was the change address. You might have a similar issue here - how do you know which output address to award the dividend to?
If you start awarding the dividend to the sending address, then there may be no way to clear a balance to zero - there is always dust there.
 
“People should be more sophisticated? How are you gonna get that done?” - Jerry Seinfeld reply to Bill Maher

Offline bytemaster

Dividends are paid as part of every transaction.   You can always calculate your balance as OUTPUT + Dividends Available Upon Spending.   

So if you receive 100 PTS it will sit as an 'unspent output' for  X blocks.   Each block will pay Y dividends per PTS but these are not transferred to anyone yet.    When you spend the output with 100 PTS you then calculate the dividends due and add it to the input value of a trx.   In this way, dividends have 0 extra overhead in trx volume.

So if I spend 100 PTS and have 10PTS waiting for me in dividends, the input is increased to 110PTS, and the recipient still gets 100PTS, but the 10 goes back to me as additional change?

Depends upon how much money you are sending.    If You want to pay someone 105, then you will spend that input, 105 will go to them, and 5 back to you.   
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 FreeTrade

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 700
    • View Profile
Dividends are paid as part of every transaction.   You can always calculate your balance as OUTPUT + Dividends Available Upon Spending.   

So if you receive 100 PTS it will sit as an 'unspent output' for  X blocks.   Each block will pay Y dividends per PTS but these are not transferred to anyone yet.    When you spend the output with 100 PTS you then calculate the dividends due and add it to the input value of a trx.   In this way, dividends have 0 extra overhead in trx volume.

So if I spend 100 PTS and have 10PTS waiting for me in dividends, the input is increased to 110PTS, and the recipient still gets 100PTS, but the 10 goes back to me as additional change?
“People should be more sophisticated? How are you gonna get that done?” - Jerry Seinfeld reply to Bill Maher

Offline bytemaster

Hmmm - how frequently are the dividends to be payed? What triggers a payment in the blockchain?

Dividends are paid as part of every transaction.   You can always calculate your balance as OUTPUT + Dividends Available Upon Spending.   

So if you receive 100 PTS it will sit as an 'unspent output' for  X blocks.   Each block will pay Y dividends per PTS but these are not transferred to anyone yet.    When you spend the output with 100 PTS you then calculate the dividends due and add it to the input value of a trx.   In this way, dividends have 0 extra overhead in trx volume.
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 FreeTrade

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 700
    • View Profile
Hmmm - how frequently are the dividends to be payed? What triggers a payment in the blockchain?
“People should be more sophisticated? How are you gonna get that done?” - Jerry Seinfeld reply to Bill Maher