A practical question that I have:
Say we have an investor, who we want to allocate shares using XCP asset mechanism, how we actually reflect the real value he invested into us in XCP asset?
For example he placed X BTC for Y shares issued, which set the post-money valuation of the asset to = X BTC * Z shares we have now / Y shares issued.
How do we reflect that this was real - perhaps by receiving the funds at same BTC address, which was used for asset creation?
Speaking off, is there a way to change asset details after it was generated (i.e. amount of shares, divisibility, etc...)?
Please correct me if I've misunderstood you, but I believe you are asking: How can market valuation be reflected in reality?
Using counterpartyd, an address uses the 'issuance' function to create an asset (let's call it ASSET), and then uses the 'order' function to put ASSET on the distributed exchange, (where, in your example, syntax would be --give-asset=ASSET --give-quantity=Y --get-asset=BTC --get-quantity=X --fee=FEE --expiration=EXPIRATION). Whoever wants to buy ASSET will have to put up an order to match yours, and, once matched, will have to use the 'btcpay' function to send BTC to the address which put up the 'trade ASSET for BTC' order. Users must send BTC to the address which is selling ASSET in order to complete the transaction.
So, if Z shares of ASSET are exchanged for X BTC per share (where Z<=the total number of shares of ASSET), then ASSET'S valuation is indeed X BTC * Z shares, just as you said. However, whoever bought shares of ASSET can then put them on the distributed exchange in exchange for any other asset, and so the greater the number of assets for which ASSET is exchanged, the more conversions you will need to do to get the market valuation in BTC, however, as long as every asset *has* a market rate, it should always be possible to determine ASSET's valuation.
The way to change the total number of ASSET, is to issue more ASSET. Only the address that issued ASSET originally can issue more ASSET. Addresses can, however, transfer ownership of an asset name to other addresses. At the moment, I don't believe there is a way to divide shares, though one of the team members may correct me on this.
I am sorry if this explanation is a bit unclear, but hopefully it helps!