Author Topic: better way of distributing FBA revenue than a buy back?  (Read 3877 times)

0 Members and 1 Guest are viewing this topic.

Offline yvv

  • Hero Member
  • *****
  • Posts: 1186
    • View Profile
Buy back is not distributing a revenue. It is a convenient method to pay debt for issuer of debt token, like obits. Obits borrowed worth of $200K loan from people (4M obits), and made $3K profit in one month. If they claim that they are going to spend all their profit to pay their debt, it will take them about 5 years to pay their debt at this pace.

Apple's stock price is currently $102.71. It's dividend in the past year was $2.03.  If Apple's means of paying off the loan of investing in it was a buy back it would take 50 years at this pace.

Stock dividents and buy back - are two different things. Obits dividend is 0.

Offline Samupaha

  • Sr. Member
  • ****
  • Posts: 479
    • View Profile
  • BitShares: samupaha
Using the buy back model are mostly because of concerns of legal issues. Issuing a asset and paying dividends without a proper license is illegal in many countries.
On the other hand, with the buy back model, the company may have more control of it's operation.

How much more control there actually is? FBA will be a smart contract that will be executed by the blockchain. After it's issued, there is not much that the issuer can do.

We have to remember that this is meant to be a fee backed asset (or at least I have understood it this way). The value of the asset is backed by the fee that it will collect in the future.

Maybe we should even separate the two possibilities: fee backed asset is the one that will collect royalties every time the feature is used and buyback backed asset will be bought back from the markets.

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
Buy back is not distributing a revenue. It is a convenient method to pay debt for issuer of debt token, like obits. Obits borrowed worth of $200K loan from people (4M obits), and made $3K profit in one month. If they claim that they are going to spend all their profit to pay their debt, it will take them about 5 years to pay their debt at this pace.

Apple's stock price is currently $102.71. It's dividend in the past year was $2.03.  If Apple's means of paying off the loan of investing in it was a buy back it would take 50 years at this pace.
Using the buy back model are mostly because of concerns of legal issues. Issuing a asset and paying dividends without a proper license is illegal in many countries.
On the other hand, with the buy back model, the company may have more control of it's operation.


Instead of pushing dividends, couldn't the process be a pull. When a dividend is available, a claim button is enabled in the gui that shows amount available to claim.  The holder of the asset can decide when to claim the dividend. This way the process can happen over a period on time instead of one interval.
Yes, it's what we've discussed in that post.
FYI we had some discussions about how to efficiently pay dividends long time ago, a claim model.
https://bitsharestalk.org/index.php?topic=14785.msg191711#msg191711
« Last Edit: January 06, 2016, 10:10:36 am by abit »
BitShares committee member: abit
BitShares witness: in.abit

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
Buy back is not distributing a revenue. It is a convenient method to pay debt for issuer of debt token, like obits. Obits borrowed worth of $200K loan from people (4M obits), and made $3K profit in one month. If they claim that they are going to spend all their profit to pay their debt, it will take them about 5 years to pay their debt at this pace.

Apple's stock price is currently $102.71. It's dividend in the past year was $2.03.  If Apple's means of paying off the loan of investing in it was a buy back it would take 50 years at this pace.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
FYI we had some discussions about how to efficiently pay dividends long time ago, a claim model.
https://bitsharestalk.org/index.php?topic=14785.msg191711#msg191711

Basically, distributing fees among referrers/registrars is an operation which cost linear to the amount of operations within a maintenance interval, but distributing funds among asset holders is linear to the amount of holders. The former is doable in the maintenance interval, but the latter is not.

Thanks abit.  I'll read through this.

Instead of pushing dividends, couldn't the process be a pull. When a dividend is available, a claim button is enabled in the gui that shows amount available to claim.  The holder of the asset can decide when to claim the dividend. This way the process can happen over a period on time instead of one interval.

That's what I was hoping for.  My belief was based upon the bug we had where different nodes would show different vested balances for different VBO's.  I assumed that this was due to vesting balances being derived from the blockchain state, but not implicit.  I thought this could save us some overhead. 
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline yvv

  • Hero Member
  • *****
  • Posts: 1186
    • View Profile
Buy back is not distributing a revenue. It is a convenient method to pay debt for issuer of debt token, like obits. Obits borrowed worth of $200K loan from people (4M obits), and made $3K profit in one month. If they claim that they are going to spend all their profit to pay their debt, it will take them about 5 years to pay their debt at this pace.

Offline Pheonike


Instead of pushing dividends, couldn't the process be a pull. When a dividend is available, a claim button is enabled in the gui that shows amount available to claim.  The holder of the asset can decide when to claim the dividend. This way the process can happen over a period on time instead of one interval.

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
FYI we had some discussions about how to efficiently pay dividends long time ago, a claim model.
https://bitsharestalk.org/index.php?topic=14785.msg191711#msg191711

Basically, distributing fees among referrers/registrars is an operation which cost linear to the amount of operations within a maintenance interval, but distributing funds among asset holders is linear to the amount of holders. The former is doable in the maintenance interval, but the latter is not.

BitShares committee member: abit
BitShares witness: in.abit

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline pc

  • Hero Member
  • *****
  • Posts: 1530
    • View Profile
    • Bitcoin - Perspektive oder Risiko?
  • BitShares: cyrano
If crediting each hodlers VBO in real time would take too much processing power could we do it during the maintenance interval?

I think it would be a good idea (for various reasons, efficiency being one of them) to collect the proceeds and only pay out in longer intervals / after certain thresholds.


It seems to me that a credit to a VBO is different than a normal transaction output.  Its kept in memory, and not written to the blockchain until withdrawal right?

Block rewards are credited to the VBO immediately when a block is created. TX fees are collected in the spenders' accounts and credited to the referrers' VBOs only during maintenance intervals.
Operations that credit or withdraw from VBOs directly appear in the blockchain just like normal transfers.
Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 http://bitcoin.quisquis.de

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
I was thinking that each FBA would have an object that contained all hodlers and the percentage of total asset they hodl.  It seems we should need this to determine the top 5 hodlers anyways.

If crediting each hodlers VBO in real time would take too much processing power could we do it during the maintenance interval?

It seems to me that a credit to a VBO is different than a normal transaction output.  Its kept in memory, and not written to the blockchain until withdrawal right?
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline pc

  • Hero Member
  • *****
  • Posts: 1530
    • View Profile
    • Bitcoin - Perspektive oder Risiko?
  • BitShares: cyrano
I agree that dividends would be a desirable feature.

But VBOs are not required for that. The blockchain is able to do anything free of charge, including deposits to accounts.
Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 http://bitcoin.quisquis.de

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
If the fee for depositing to a VBO is the same as a regular transfer then it would not be a good idea at all.  The blockchain currently deposits to cashback and witness pay free of charge.  I don't see why an FBA wouldn't be able to do the same.  I think that buybacks are a subpar solution I'd rather have dividends.  Let the FBA get it's value from its revenue stream rather than a reduction in supply. 

https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline pc

  • Hero Member
  • *****
  • Posts: 1530
    • View Profile
    • Bitcoin - Perspektive oder Risiko?
  • BitShares: cyrano
You can use existing VBOs if the vesting period is the same.

But I don't see how your idea solves the original problem, namely the actual distribution of the funds.
Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 http://bitcoin.quisquis.de

Offline puppies

  • Hero Member
  • *****
  • Posts: 1659
    • View Profile
  • BitShares: puppies
I was looking through the docs, and I found the section on creating vesting balance objects.  Wouldn't that be a better way of distributing the revenue of a fee backed asset than with a buybay?  What are the fees to deposit to a vesting object?  Could a FBA deposit to the same VBO that is used for cashback, or would each FBA need to create its own VBO?  We could require that a potential hodler of a FBA registers a VBO for it.  95bts once, plus 2bts per withdrawal seems like a better deal than having to place orders for a buyback. 

Code: [Select]

        Public Members

        uint64_t fee

            the cost to register the cheapest non-free account

struct vesting_balance_create_operation
    #include <vesting.hpp>

    Create a vesting balance.

    The chain allows a user to create a vesting balance. Normally, vesting balances are created automatically as part of cashback and worker operations. This operation allows vesting balances to be created manually as well.

    Manual creation of vesting balances can be used by a stakeholder to publicly demonstrate that they are committed to the chain. It can also be used as a building block to create transactions that function like public debt. Finally, it is useful for testing vesting balance functionality.

    Return
        ID of newly created vesting_balance_object

    Public Members

    account_id_type creator

        Who provides funds initially.

    account_id_type owner

        Who is able to withdraw the balance.

class vesting_balance_object
    #include <vesting_balance_object.hpp>

    Vesting balance object is a balance that is locked by the blockchain for a period of time.

    Public Functions

    void deposit(const fc::time_point_sec &now, const asset &amount)

        Deposit amount into vesting balance, requiring it to vest before withdrawal.

    void deposit_vested(const fc::time_point_sec &now, const asset &amount)

        Deposit amount into vesting balance, making the new funds vest immediately.

    void withdraw(const fc::time_point_sec &now, const asset &amount)

        Used to remove a vesting balance from the VBO. As well as the balance field, coin_seconds_earned and coin_seconds_earned_last_update fields are updated.

        The money doesn’t “go” anywhere; the caller is responsible for crediting it to the proper account.

    asset get_allowed_withdraw(const time_point_sec &now) const

        Get amount of allowed withdrawal.

    Public Members

    account_id_type owner

        Account which owns and may withdraw from this vesting balance.

    asset balance

        Total amount remaining in this vesting balance Includes the unvested funds, and the vested funds which have not yet been withdrawn

    vesting_policy policy

        The vesting policy stores details on when funds vest, and controls when they may be withdrawn.

struct vesting_balance_withdraw_operation
    #include <vesting.hpp>

    Withdraw from a vesting balance.

    Withdrawal from a not-completely-mature vesting balance will result in paying fees.

    Return
        Nothing


Am I missing something?
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads